From 5a392808587db88c99ec0b9e2beeccc6b76967b6 Mon Sep 17 00:00:00 2001 From: Brian Huisman Date: Fri, 23 Jun 2023 12:23:20 -0400 Subject: [PATCH] PdfParser PHP-CS-Fixer updates --- orcinus/pdfparser/.php-cs-fixer.php | 2 + .../src/Smalot/PdfParser/Document.php | 49 +++++++++---------- .../pdfparser/src/Smalot/PdfParser/Parser.php | 7 +-- 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/orcinus/pdfparser/.php-cs-fixer.php b/orcinus/pdfparser/.php-cs-fixer.php index 85f56fe..c860c51 100644 --- a/orcinus/pdfparser/.php-cs-fixer.php +++ b/orcinus/pdfparser/.php-cs-fixer.php @@ -25,6 +25,8 @@ $config 'ordered_imports' => true, 'phpdoc_summary' => false, 'protected_to_private' => false, + 'get_class_to_class_keyword' => false, // override for PHP < 8.0 (because ::class usage is not allowed there) + 'modernize_strpos' => false, // override for PHP < 8.0 (because str_contains not available in PHP 7.x) ]) ; diff --git a/orcinus/pdfparser/src/Smalot/PdfParser/Document.php b/orcinus/pdfparser/src/Smalot/PdfParser/Document.php index bc3458c..ab4451a 100644 --- a/orcinus/pdfparser/src/Smalot/PdfParser/Document.php +++ b/orcinus/pdfparser/src/Smalot/PdfParser/Document.php @@ -155,113 +155,110 @@ class Document } /** - * Get XMP Metadata + * Extract XMP Metadata */ - public function getXMPMetadata(string $content) + public function extractXMPMetadata(string $content): void { $xml = xml_parser_create(); - xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1); + xml_parser_set_option($xml, \XML_OPTION_SKIP_WHITE, 1); if (xml_parse_into_struct($xml, $content, $values, $index)) { - $detail = ''; foreach ($values as $val) { switch ($val['tag']) { case 'DC:CREATOR': - $detail = ($val['type'] == 'open') ? 'Author' : ''; + $detail = ('open' == $val['type']) ? 'Author' : ''; break; case 'DC:DESCRIPTION': - $detail = ($val['type'] == 'open') ? 'Description' : ''; + $detail = ('open' == $val['type']) ? 'Description' : ''; break; case 'DC:TITLE': - $detail = ($val['type'] == 'open') ? 'Title' : ''; + $detail = ('open' == $val['type']) ? 'Title' : ''; break; case 'DC:SUBJECT': - $detail = ($val['type'] == 'open') ? 'Subject' : ''; + $detail = ('open' == $val['type']) ? 'Subject' : ''; break; case 'RDF:LI': - if ($detail && $val['type'] == 'complete' && isset($val['value'])) { + if ($detail && 'complete' == $val['type'] && isset($val['value'])) { $this->metadata[$detail] = $val['value']; } break; case 'DC:FORMAT': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['Format'] = $val['value']; } break; case 'PDF:KEYWORDS': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['Keywords'] = $val['value']; } break; case 'PDF:PRODUCER': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['Producer'] = $val['value']; } break; case 'PDFX:SOURCEMODIFIED': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['SourceModified'] = $val['value']; } break; case 'PDFX:COMPANY': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['Company'] = $val['value']; } break; case 'XMP:CREATEDATE': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['CreationDate'] = $val['value']; } break; case 'XMP:CREATORTOOL': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['Creator'] = $val['value']; } break; case 'XMP:MODIFYDATE': - if ($val['type'] == 'complete' && isset($val['value'])) { - $this->metadata['ModifyDate'] = $val['value']; + if ('complete' == $val['type'] && isset($val['value'])) { + $this->metadata['ModDate'] = $val['value']; } break; case 'XMP:METADATADATE': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['MetadataDate'] = $val['value']; } - break; + break; case 'XMPMM:DOCUMENTID': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['DocumentUUID'] = $val['value']; } - break; + break; case 'XMPMM:INSTANCEID': - if ($val['type'] == 'complete' && isset($val['value'])) { + if ('complete' == $val['type'] && isset($val['value'])) { $this->metadata['InstanceUUID'] = $val['value']; } - break; - + break; } } } } - public function getDictionary(): array { return $this->dictionary; diff --git a/orcinus/pdfparser/src/Smalot/PdfParser/Parser.php b/orcinus/pdfparser/src/Smalot/PdfParser/Parser.php index 8060a3a..3078f9e 100644 --- a/orcinus/pdfparser/src/Smalot/PdfParser/Parser.php +++ b/orcinus/pdfparser/src/Smalot/PdfParser/Parser.php @@ -214,12 +214,9 @@ class Parser // It is not necessary to store this content. return; - - } else if ($header->get('Type')->equals('Metadata')) { - + } elseif ($header->get('Type')->equals('Metadata')) { // Attempt to parse XMP XML Metadata - $document->getXMPMetadata($content); - + $document->extractXMPMetadata($content); } break;