|
|
Ein PDF Dokument kann generelle Informationen wie den Titel, Author, und Erstellungs- sowie Modifikationsdatum enthalten.
Historisch wird diese Information durch das Verwenden einer speziellen Info Struktur gespeichert.
Diese struktur kann als assoziatives Array mithilfe der öffentlichen properties Eigenschaft
des Zend_Pdf Objektes gelesen und geschrieben werden:
$pdf = Zend_Pdf::load($pdfPath); echo $pdf->properties['Title'] . "\n"; echo $pdf->properties['Author'] . "\n"; $pdf->properties['Title'] = 'Neuer Titel.'; $pdf->save($pdfPath);
Die folgenden Schlüssel sind im PDF v1.4 (Acrobat 5) Standard definiert:
Title - String, optional, der Titel des Dokuments.
Author - String, optional, der Name der Person die das Dokument erstellt hat.
Subject - String, optional, was das Dokument beschreibt.
Keywords - String, optional, mit dem Dokument assoziierte Wörter.
Creator - String, optional, wenn das Dokument von einem anderen Format zu PDF konvertiert wurde, der Name der Anwendung (zum Beispiel, Adobe FrameMaker®) die das originale Dokument erstellt hat von dem es konvertiert wurde.
Producer - String, optional, wenn das Dokument von einem anderen Format zu PDF konvertiert wurde, der Name der Anwendung (zum Beispiel, Acrobat Distiller) die es zu PDF konvertiert hat.
CreationDate - Wtring, optional, Datum und Zeit der Erstellung des Dokumentes in der folgenden Form "D:YYYYMMDDHHmmSSOHH'mm'" wobei:
YYYY ist das Jahr.
MM ist der Monat.
DD ist der Tag (01–31).
HH ist die Stunde (00–23).
mmist die Minute (00–59).
SS ist die Sekunde (00–59).
O ist die Relation der lokalen Zeit zur Univeral Zeit (UT), vorangestellt von einem der folgenden Zeichen +, -, oder Z (siehe anbei).
HH gefolgt von ' ist der absolute Wert des Offsets von UT in Stunden (00–23).
mm gefolgt von ' ist der absolute Wert des Offsets von UT in Minuten (00–59).
Zum Beispiel, 23. Dezember, 1998, um 19:52, U.S. Pazifik Standard Zeit, wird dargestellt durch den String "D:199812231952−08'00'".
ModDate - String, optional, das Datum und die Uhrzeit an dem das Dokument zuletzt geändert wurde, im selben Format wie CreationDate.
Trapped - bool, optional, zeigt ob das Dokument modifiziert wurde um eingeschlossene Informationen zu enthalten.
true - Das Dokument wurde vollständig eingeschlossen; weiteres einschließen ist nicht notwendig.
false - Das Dokument wurde bisher noch nicht eingeschlossen, wenn das Einschließen gewümscht wird muß es noch getan werden.
null - Entweder ist nicht bekannt ob das Dokument eingeschlossen wurde, oder es wurde bisher erst teilweise aber noch nicht vollständig eingeschlosssen; etwas zusätzliches Einschließen ist trotzdem noch notwendig.
Seit PDF v 1.6 können Metadaten in einem speziellen XML Dokument gespeichert werden das dem PDF angehängt wird (XMP - » Extensible Metadata Platform).
Dieses XML Dokument kann empfangen und dem PDF mit der Zend_Pdf::getMetadata() und der
Zend_Pdf::setMetadata($metadata) Methode wieder hinzugefügt werden:
$pdf = Zend_Pdf::load($pdfPath);
$metadata = $pdf->getMetadata();
$metadataDOM = new DOMDocument();
$metadataDOM->loadXML($metadata);
$xpath = new DOMXPath($metadataDOM);
$pdfPreffixNamespaceURI = $xpath->query('/rdf:RDF/rdf:Description')
->item(0)
->lookupNamespaceURI('pdf');
$xpath->registerNamespace('pdf', $pdfPreffixNamespaceURI);
$titleNode = $xpath->query('/rdf:RDF/rdf:Description/pdf:Title')->item(0);
$title = $titleNode->nodeValue;
...
$titleNode->nodeValue = 'New title';
$pdf->setMetadata($metadataDOM->saveXML());
$pdf->save($pdfPath);
Übliche Eingenschaften von Dokumenten werden verdoppelt un din der Info Struktur und dem Metadaten Dokument (wenn vorhanden) gespeichert. Die anwendung des Benutzer ist dafür verantwortlich das beide Synchron gehalten werden.
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 12872).

