Sie können eine PDF-Datei (zumindest in neueren Formaten) als Text lesen. Sie finden einen eingebetteten XML-Abschnitt, der das Adobe XMP-Schema verwendet. Diese enthält die Metadaten, die Sie benötigen.
Hier ist ein Beispiel:
%PDF-1.5 %âãÏÓ 2 0 obj << /AcroForm 4 0 R /Lang (en-GB) /MarkInfo << /Marked true >> /Metadata 5 0 R /Pages 6 0 R /StructTreeRoot 7 0 R /Type /Catalog >> endobj 5 0 obj << /Length 2971 /Subtype /XML /Type /Metadata >> stream <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.1.2"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/"> <xmp:CreateDate>2014-03-05T15:03:02+01:00</xmp:CreateDate> <xmp:ModifyDate>2014-05-30T11:58:02+01:00</xmp:ModifyDate> <xmp:MetadataDate>2014-03-05T14:03:46Z</xmp:MetadataDate> </rdf:Description> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> <xmpMM:DocumentID>uuid:8b5fe011-ed77-4298-aa84-d1eda797b9ff</xmpMM:DocumentID> <xmpMM:InstanceID>uuid:88074e0b-42f7-4268-bc89-0162e417c9ad</xmpMM:InstanceID> </rdf:Description> <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:format>application/pdf</dc:format> </rdf:Description> </rdf:RDF> </x:xmpmeta>
Im folgenden Beispiel wird das Erstellungsdatum abgerufen:
$a = Select-String "CreateDate\>(.*)\<" .\filename.pdf
Was gibt so etwas zurück:
filename.pdf:20: <xap:CreateDate>2009-11-03T10:54:29Z</xap:CreateDate> filename.pdf:12921: <xap:CreateDate>2009-11-03T10:54:29Z</xap:CreateDate>
Zu den genauen Daten gelangen:
$a.Matches.Groups[1]
Welche gibt zurück:
2009-11-03T10:54:29Z