| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.pdf.info">
- <!-- @todo review and revise upon completion of refactoring -->
- <title>Información del Documento y Metadatos.</title>
- <para> Un documento PDF puede incluir información general como el título del documento, autor,
- la creación y modificación de fechas. </para>
- <para> Históricamente, esta información se almacena usando una estructura especial de
- Información. Esta estructura está disponible para lectura y la escritura como una array
- asociativo utilizando propiedades públicas <methodname>properties</methodname> de objetos
- <classname>Zend_Pdf</classname>: <programlisting language="php"><![CDATA[
- $pdf = Zend_Pdf::load($pdfPath);
- echo $pdf->properties['Title'] . "\n";
- echo $pdf->properties['Author'] . "\n";
- $pdf->properties['Title'] = 'New Title.';
- $pdf->save($pdfPath);
- ]]></programlisting>
- </para>
- <para> Las siguientes claves están definidas por v1.4 PDF (Acrobat 5) estándar: <itemizedlist>
- <listitem>
- <para>
- <emphasis>Title</emphasis> - string, opcional, el título del documento. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Author</emphasis> - string, opcional, el nombre de la persona que creó
- el documento. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Subject</emphasis> - string, opcional, el tema del documento. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Keywords</emphasis> - string, opcional, las palabras clave asociadas
- con el documento. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Creator</emphasis> - string, opcional, si el documento se convirtió
- desde otro formato a PDF, el nombre de la aplicación (por ejemplo, Adobe
- FrameMaker ®) que creó el documento original a partir del cual se convirtió.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Producer</emphasis> - string, opcional, si el documento se convirtió
- desde otro formato a PDF, el nombre de la aplicación (por ejemplo, Acrobat
- Distiller), que lo convirtió a PDF. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>CreationDate</emphasis> - string, opcional, la fecha y la hora en que
- el documento fue creado, en la forma siguiente: "D:YYYYMMDDHHmmSSOHH'mm'", en la
- que: <itemizedlist>
- <listitem>
- <para>
- <emphasis>YYYY</emphasis> es el año. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>MM</emphasis> es el mes. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>DD</emphasis> es el día (01–31). </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>HH</emphasis> es la hora (00–23). </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>mm</emphasis> es el minuto (00–59). </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>SS</emphasis> es el segundo (00–59). </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>O</emphasis> es la relación de la hora local a la hora
- universal (UT), identificado por uno de los caracteres +, -, o Z
- (véase más adelante). </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>HH</emphasis> seguido de ' es el valor absoluto de la
- posición de la UT en horas (00-23). </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>mm</emphasis> seguido de ' es el valor absoluto de la
- posición de la UT en minutos (00-59). </para>
- </listitem>
- </itemizedlist> El carácter apóstrofe (') después de HH mm es parte de la
- sintaxis. Todos los campos después del año son opcionales. (El prefijo D:,
- aunque también opcional, se recomienda fuertemente.) Los valores por defecto
- para MM y DD son 01, y todos los demás valores numéricos de los campos son cero
- por defecto. Un signo más (+) como el valor del campo O significa que la hora
- local es más tarde que la UT, un signo menos (-) que la hora local es anterior a
- la UT, y la letra Z que la hora local es igual a la UT. Si no se especifica la
- información UT, la relación del tiempo especificado para UT se considera
- desconocida. Ya sea que la zona horaria se conozca o no, el resto de la fecha
- debe estar especificada en la hora local. </para>
- <para> Por ejemplo, el 23 de diciembre de 1998, a las 7:52 PM, hora estándar del
- Pacífico de EE.UU., está representado por el string "D:199812231952-08'00'".
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>ModDate</emphasis> - string, opcional, la fecha y la hora en que el
- documento fue modificado mas recientemente, de la misma forma que
- <emphasis>CreationDate</emphasis>. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Trapped</emphasis> - booleano, opcional, indica si el documento ha
- sido modificado para incluir la captura de información. <itemizedlist>
- <listitem>
- <para>
- <emphasis>true</emphasis> - El documento ha sido capturado; no se
- necesitan más capturas. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>false</emphasis> - El documento aún no ha sido capturado;
- cualquier captura todavía debe ser hecha. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>null</emphasis> - O bien se desconoce si el documento ha
- sido capturado o que lo ha sido en parte pero no completamente
- capturado, y alguna captura adicional puede ser necesaria. </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <para> Desde PDF v 1.6 los metadatos se pueden almacenar en el documento <acronym>XML</acronym>
- especial adjunto al PDF (XMP - <ulink url="http://www.adobe.com/products/xmp/">Extensible
- Metadata Platform</ulink>). </para>
- <para> Este documento <acronym>XML</acronym> se pueden recuperar y adjuntar al PDF con los
- métodos <classname>Zend_Pdf::getMetadata()</classname> y
- <classname>Zend_Pdf::setMetadata($metadata)</classname>: <programlisting language="php"><![CDATA[
- $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);
- ]]></programlisting>
- </para>
- <para> Las propiedades comunes del documento se duplican en la estructura de Info y el documento
- Metadata (si se presentan). Ahora es responsabilidad del usuario la aplicación para
- mantenerlos sincronizados. </para>
- </sect1>
|