|
|
Um documento PDF deve incluir informações gerais como o título do documento, autor, e datas de criação e modificação.
Historicamente essas informações são armazenadas com o uso de estruturas especiais. Esta estrutura está
disponível para leitura e escrita como um array associativo usando a propriedade pública properties
dos obejtos Zend_Pdf:
properties['Title'] . "\n"; echo $pdf->properties['Author'] . "\n"; $pdf->properties['Title'] = 'New Title.'; $pdf->save($pdfPath);
As seguintes chaves são definidas pelo padrão PDF v1.4 (Acrobat 5):
Title - texto, opcional, o título do documento.
Author - texto, opcional, o nome da pessoa que criou o documento.
Subject - texto, opcional, o assunto do documento.
Keywords - texto, opcional, palavras-chave associadas ao documento.
Creator - texto, opcional, se o documento foi convertido para o formato PDF a partir de outro formato, o nome da aplicação (por exemplo, Adobe FrameMaker®) que criou o documento original.
Producer - texto, opcional, se o documento foi convertido para o formato PDF a partir de outro formato, o nome da aplicação (por exemplo, Adobe Distiller®) que converteu o converteu.
CreationDate - texto, opcional, a data e a hora na qual o documento foi criado, na seguinte forma: "D:YYYYMMDDHHmmSSOHH'mm'", onde:
YYYY é o ano.
MM é o mês.
DD é o dia (01–31).
HH é a hora (00–23).
mm é o minuto(00–59).
SS é o segundo (00–59).
O é a relação da hora local com a hora Universal(UT), denotada pelos caracteres +, −, ou Z (veja abaixo).
HH seguido por ' é o valor absoluto da diferença da hora Universal em horas (00–23).
mm seguido por ' é o valor absoluto da diferença da hora Universal em minutos (00–59).
Por exemplo, 23 de Dezembro de 1998, 7:52 da noite, U.S. Pacific Standard Time, é representado pela string "D:199812231952−08'00'".
ModDate - texto, opcional, a data e a hora da atualização mais recente no documento, na mesma forma de CreationDate.
Trapped - boolean, opcional, indica se o documento foi modificado para a inclusão de informações "trapped".
true - The document has been fully trapped; no further trapping is needed.
false - The document has not yet been trapped; any desired trapping must still be done.
null - Either it is unknown whether the document has been trapped or it has been partly but not yet fully trapped; some additional trapping may still be needed.
Desde a versão de PDF v 1.6 os metadados podem ser armazenados no documento XML especial anexado ao documento PDF (XMP - » Extensible Metadata Platform).
Este documento XML pode ser recuperado e anexado ao PDF com os métodos Zend_Pdf::getMetadata() e
Zend_Pdf::setMetadata($metadata):
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);
Propriedades comuns são duplicadas na estrutura Info e nos Metadados do documento (se presente). Agora é responsabilidade da aplicação do usuário mantê-los sincronizados.
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 20188).

