PdfParser PHP-CS-Fixer updates
This commit is contained in:
parent
3307baac4d
commit
5a39280858
|
@ -25,6 +25,8 @@ $config
|
||||||
'ordered_imports' => true,
|
'ordered_imports' => true,
|
||||||
'phpdoc_summary' => false,
|
'phpdoc_summary' => false,
|
||||||
'protected_to_private' => 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)
|
||||||
])
|
])
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -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 = 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)) {
|
if (xml_parse_into_struct($xml, $content, $values, $index)) {
|
||||||
|
|
||||||
$detail = '';
|
$detail = '';
|
||||||
|
|
||||||
foreach ($values as $val) {
|
foreach ($values as $val) {
|
||||||
switch ($val['tag']) {
|
switch ($val['tag']) {
|
||||||
case 'DC:CREATOR':
|
case 'DC:CREATOR':
|
||||||
$detail = ($val['type'] == 'open') ? 'Author' : '';
|
$detail = ('open' == $val['type']) ? 'Author' : '';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'DC:DESCRIPTION':
|
case 'DC:DESCRIPTION':
|
||||||
$detail = ($val['type'] == 'open') ? 'Description' : '';
|
$detail = ('open' == $val['type']) ? 'Description' : '';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'DC:TITLE':
|
case 'DC:TITLE':
|
||||||
$detail = ($val['type'] == 'open') ? 'Title' : '';
|
$detail = ('open' == $val['type']) ? 'Title' : '';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'DC:SUBJECT':
|
case 'DC:SUBJECT':
|
||||||
$detail = ($val['type'] == 'open') ? 'Subject' : '';
|
$detail = ('open' == $val['type']) ? 'Subject' : '';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'RDF:LI':
|
case 'RDF:LI':
|
||||||
if ($detail && $val['type'] == 'complete' && isset($val['value'])) {
|
if ($detail && 'complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata[$detail] = $val['value'];
|
$this->metadata[$detail] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'DC:FORMAT':
|
case 'DC:FORMAT':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['Format'] = $val['value'];
|
$this->metadata['Format'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'PDF:KEYWORDS':
|
case 'PDF:KEYWORDS':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['Keywords'] = $val['value'];
|
$this->metadata['Keywords'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'PDF:PRODUCER':
|
case 'PDF:PRODUCER':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['Producer'] = $val['value'];
|
$this->metadata['Producer'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'PDFX:SOURCEMODIFIED':
|
case 'PDFX:SOURCEMODIFIED':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['SourceModified'] = $val['value'];
|
$this->metadata['SourceModified'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'PDFX:COMPANY':
|
case 'PDFX:COMPANY':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['Company'] = $val['value'];
|
$this->metadata['Company'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'XMP:CREATEDATE':
|
case 'XMP:CREATEDATE':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['CreationDate'] = $val['value'];
|
$this->metadata['CreationDate'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'XMP:CREATORTOOL':
|
case 'XMP:CREATORTOOL':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['Creator'] = $val['value'];
|
$this->metadata['Creator'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'XMP:MODIFYDATE':
|
case 'XMP:MODIFYDATE':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['ModifyDate'] = $val['value'];
|
$this->metadata['ModDate'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'XMP:METADATADATE':
|
case 'XMP:METADATADATE':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['MetadataDate'] = $val['value'];
|
$this->metadata['MetadataDate'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'XMPMM:DOCUMENTID':
|
case 'XMPMM:DOCUMENTID':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['DocumentUUID'] = $val['value'];
|
$this->metadata['DocumentUUID'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'XMPMM:INSTANCEID':
|
case 'XMPMM:INSTANCEID':
|
||||||
if ($val['type'] == 'complete' && isset($val['value'])) {
|
if ('complete' == $val['type'] && isset($val['value'])) {
|
||||||
$this->metadata['InstanceUUID'] = $val['value'];
|
$this->metadata['InstanceUUID'] = $val['value'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function getDictionary(): array
|
public function getDictionary(): array
|
||||||
{
|
{
|
||||||
return $this->dictionary;
|
return $this->dictionary;
|
||||||
|
|
|
@ -214,12 +214,9 @@ class Parser
|
||||||
// It is not necessary to store this content.
|
// It is not necessary to store this content.
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
} elseif ($header->get('Type')->equals('Metadata')) {
|
||||||
} else if ($header->get('Type')->equals('Metadata')) {
|
|
||||||
|
|
||||||
// Attempt to parse XMP XML Metadata
|
// Attempt to parse XMP XML Metadata
|
||||||
$document->getXMPMetadata($content);
|
$document->extractXMPMetadata($content);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue