<?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 XML 
        especial adjunto al PDF 
        (XMP - <ulink url="http://www.adobe.com/products/xmp/">Extensible Metadata Platform</ulink>).
    </para>

    <para>
        Este documento XML 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>
<!--
vim:se ts=4 sw=4 et:
-->
