Como ya sabe, desde 4D V20 R3, 4D Write Pro puede exportar en formatos PDF/A2 y PDF/A3 (BLOG). Aparte de la firma, la principal diferencia entre estos dos formatos es que el formato PDF/A3 puede incluir archivos adjuntos. La buena noticia es que gracias a una nueva opción de exportación en 4D Write Pro, es posible, con 4D V20 R4, tener archivos adjuntos al exportar.
ArchivO a la potencia 10
La firma PDF/A significa y garantiza que un documento de este tipo será legible durante décadas, como se explica en este BLOG.
El formato PDF/A3 permite insertar archivos adjuntos de todo tipo (Word, Excel, PDF, Photoshop, etc.) dentro del PDF/A3.
La ventaja es que puede almacenar toda la información que necesite sobre un tema concreto en un único documento.
Tanto si su área de interés es jurídica, técnica, médica, contable, seguridad, construcción, obras públicas o cualquier otra, si necesita archivar documentos que contengan anexos, PDF/A3 es el formato que necesita.
uno o varios anexos
El estándar PDF/A3 permite insertar tantos anexos como sea posible. Por eso, la nueva opción de exportación, .files, es de tipo colección.
Cada elemento de esta colección es un objeto con algunas propiedades sencillas, algunas de las cuales son opcionales.
La primera y más evidente es la propiedad .file de tipo 4D.Archivo indica el archivo físico que se incluirá en el PDF. Sin embargo, puede sustituirse por la propiedad .data de tipo texto o BLOB. Estas dos propiedades son excluyentes: si la propiedad .data está presente, la propiedad .file será ignorada.
La propiedad .description es opcional, al igual que .mimeType, que generalmente puede deducirse del contenido de .file o .data.
Por último, .name es el nombre del archivo que se extraerá del PDF. Éste sólo es obligatorio si se ha utilizado la propiedad .data y no la propiedad .file. En caso contrario, por defecto, tendrá el mismo nombre que el archivo original definido en .file.
un ejemplo de código sencillo
El siguiente código muestra cómo insertar dos archivos físicos más un texto simple enviado como datos.
$options:={} // empty object
$options[wk files]:=[] // empty collection
// 1st file (based on .file)
$fileInfo:={}
$fileInfo.description:="RTF formated text"
$fileInfo.file:=File(Folder(fk data folder).path+"Alpha.rtf")
$options[wk files].push($fileInfo)
// 2nd file (based on .file)
$fileInfo:={}
$fileInfo.description:="Png picture"
$fileInfo.file:=File(Folder(fk data folder).path+"Bravo.png")
$options[wk files].push($fileInfo)
// 3rd file (based on .data)
$fileInfo:={}
$fileInfo.name:="Charlie.txt" // will be used for extraction
$fileInfo.description:="raw text sent as data"
$fileInfo.data:="This is some raw text to be included as enclosure in the PDF and to be extracted as 'Charlie.txt'"
$options[wk files].push($fileInfo)
WP EXPORT DOCUMENT($document; "exportWithEnclosures.pdf"; wk pdf; $options)
Nota: cuando utilice el atributo wk files, la versión del PDF generado será automáticamente PDF/A3, y la opción wk pdfa version, si está presente, será ignorada.
Una vez ejecutado, el documento PDF tendrá el siguiente aspecto (utilizando Adobe Acrobat Reader™)
Conclusión (y continuación)
Adjuntar documentos dentro de un único archivo PDF/A3 significa que puede aprovechar al máximo lo que permite este estándar. Pero eso no es todo. Como pronto verá, también permitirá generar facturas electrónicas insertando un documento XML como primer archivo de los adjuntos. Esté atento.