Loading src/Service/MetadataCreationService.php +20 −15 Changes for src/Service/MetadataCreationService.php: 20 added lines, 15 removed lines. Original line number Diff line number Diff line Loading @@ -15,6 +15,10 @@ use Psr\Log\LoggerInterface; use Monolog\Logger; use PHPExiftool\Writer; use PHPExiftool\Driver\Metadata\Metadata; use PHPExiftool\Driver\Tag\XMPPdf\Title as XMPTitle; use PHPExiftool\Driver\Tag\XMPPdf\Author as XMPAuthor; use PHPExiftool\Driver\Tag\XMPPdf\Subject as XMPSubject; use PHPExiftool\Driver\Tag\XMPPdf\Keywords as XMPKeywords; use PHPExiftool\Driver\Tag\PDF\Title; use PHPExiftool\Driver\Tag\PDF\Author; use PHPExiftool\Driver\Tag\PDF\Subject; Loading Loading @@ -232,24 +236,25 @@ class MetadataCreationService { $file_path = $this->fileSystem->realpath($file['file']->getFileUri()); $metadata = $reader->files($file_path)->first()->getMetadatas(); // We need to clear any previous metadata that might be in old format. // We need tag dc data for editing on Acrobat. $title = $metadata->get('XMPPdf:Title'); $title ? $title->getValue()->set($file['metadata']['title']) : $metadata->add(new Metadata(new XMPTitle(), new Mono($file['metadata']['title']))); $author = $metadata->get('XMPPdf:Author'); $author ? $author->getValue()->set($file['metadata']['author']) : $metadata->add(new Metadata(new XMPAuthor(), new Mono($file['metadata']['author']))); $subject = $metadata->get('XMPPdf:Subject'); $subject ? $subject->getValue()->set($file['metadata']['subject']) : $metadata->add(new Metadata(new XMPSubject(), new Mono($file['metadata']['subject']))); $keywords = $metadata->get('XMPPdf:Keywords'); $keywords ? $keywords->getValue()->set($file['metadata']['keywords']) : $metadata->add(new Metadata(new XMPKeywords(), new Multi($file['metadata']['keywords']))); // We need to tag regular pdf metadata. $title = $metadata->get('PDF:Title'); $title ? $title->getValue()->set('') : ''; $author = $metadata->get('PDF:Author'); $author ? $author->getValue()->set('') : ''; $title ? $title->getValue()->set($file['metadata']['title']) : $metadata->add(new Metadata(new Title(), new Mono($file['metadata']['title']))); $author = $metadata->get('PDFAuthor'); $author ? $author->getValue()->set($file['metadata']['author']) : $metadata->add(new Metadata(new Author(), new Mono($file['metadata']['author']))); $subject = $metadata->get('PDF:Subject'); $subject ? $subject->getValue()->set('') : ''; $subject ? $subject->getValue()->set($file['metadata']['subject']) : $metadata->add(new Metadata(new Subject(), new Mono($file['metadata']['subject']))); $keywords = $metadata->get('PDF:Keywords'); $keywords ? $keywords->getValue()->set('') : ''; // Add new metadata. $metadata->add(new Metadata(new Author(), new Mono($file['metadata']['author']))); $metadata->add(new Metadata(new Title(), new Mono($file['metadata']['title']))); $metadata->add(new Metadata(new Subject(), new Mono($file['metadata']['subject']))); $metadata->add(new Metadata(new Keywords(), new Multi($file['metadata']['keywords']))); $keywords ? $keywords->getValue()->set($file['metadata']['keywords']) : $metadata->add(new Metadata(new Keywords(), new Multi($file['metadata']['keywords']))); $writer->write($file_path, $metadata); } Loading Loading
src/Service/MetadataCreationService.php +20 −15 Changes for src/Service/MetadataCreationService.php: 20 added lines, 15 removed lines. Original line number Diff line number Diff line Loading @@ -15,6 +15,10 @@ use Psr\Log\LoggerInterface; use Monolog\Logger; use PHPExiftool\Writer; use PHPExiftool\Driver\Metadata\Metadata; use PHPExiftool\Driver\Tag\XMPPdf\Title as XMPTitle; use PHPExiftool\Driver\Tag\XMPPdf\Author as XMPAuthor; use PHPExiftool\Driver\Tag\XMPPdf\Subject as XMPSubject; use PHPExiftool\Driver\Tag\XMPPdf\Keywords as XMPKeywords; use PHPExiftool\Driver\Tag\PDF\Title; use PHPExiftool\Driver\Tag\PDF\Author; use PHPExiftool\Driver\Tag\PDF\Subject; Loading Loading @@ -232,24 +236,25 @@ class MetadataCreationService { $file_path = $this->fileSystem->realpath($file['file']->getFileUri()); $metadata = $reader->files($file_path)->first()->getMetadatas(); // We need to clear any previous metadata that might be in old format. // We need tag dc data for editing on Acrobat. $title = $metadata->get('XMPPdf:Title'); $title ? $title->getValue()->set($file['metadata']['title']) : $metadata->add(new Metadata(new XMPTitle(), new Mono($file['metadata']['title']))); $author = $metadata->get('XMPPdf:Author'); $author ? $author->getValue()->set($file['metadata']['author']) : $metadata->add(new Metadata(new XMPAuthor(), new Mono($file['metadata']['author']))); $subject = $metadata->get('XMPPdf:Subject'); $subject ? $subject->getValue()->set($file['metadata']['subject']) : $metadata->add(new Metadata(new XMPSubject(), new Mono($file['metadata']['subject']))); $keywords = $metadata->get('XMPPdf:Keywords'); $keywords ? $keywords->getValue()->set($file['metadata']['keywords']) : $metadata->add(new Metadata(new XMPKeywords(), new Multi($file['metadata']['keywords']))); // We need to tag regular pdf metadata. $title = $metadata->get('PDF:Title'); $title ? $title->getValue()->set('') : ''; $author = $metadata->get('PDF:Author'); $author ? $author->getValue()->set('') : ''; $title ? $title->getValue()->set($file['metadata']['title']) : $metadata->add(new Metadata(new Title(), new Mono($file['metadata']['title']))); $author = $metadata->get('PDFAuthor'); $author ? $author->getValue()->set($file['metadata']['author']) : $metadata->add(new Metadata(new Author(), new Mono($file['metadata']['author']))); $subject = $metadata->get('PDF:Subject'); $subject ? $subject->getValue()->set('') : ''; $subject ? $subject->getValue()->set($file['metadata']['subject']) : $metadata->add(new Metadata(new Subject(), new Mono($file['metadata']['subject']))); $keywords = $metadata->get('PDF:Keywords'); $keywords ? $keywords->getValue()->set('') : ''; // Add new metadata. $metadata->add(new Metadata(new Author(), new Mono($file['metadata']['author']))); $metadata->add(new Metadata(new Title(), new Mono($file['metadata']['title']))); $metadata->add(new Metadata(new Subject(), new Mono($file['metadata']['subject']))); $metadata->add(new Metadata(new Keywords(), new Multi($file['metadata']['keywords']))); $keywords ? $keywords->getValue()->set($file['metadata']['keywords']) : $metadata->add(new Metadata(new Keywords(), new Multi($file['metadata']['keywords']))); $writer->write($file_path, $metadata); } Loading