4D Write Pro: Exportación a PDF con anexos

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.

Roland Lannuzel
- Propietario de Producto y Experto en 4D - Después de estudiar electrónica, Roland se dedicó a la informática industrial como desarrollador y consultor, construyendo soluciones para clientes con una variedad de bases de datos y tecnologías. A finales de los años 80 se enamoró de 4D y lo ha utilizado para escribir aplicaciones de negocio que incluyen sistemas de contabilidad, facturación y correo electrónico.Eventualmente se unió a la compañía en 1997, las valiosas contribuciones de Roland incluyen el diseño de especificaciones, herramientas de prueba, demos, así como la formación y hablar con la comunidad 4D en muchas conferencias. Continúa dando forma activamente al futuro de 4D definiendo nuevas características y herramientas de desarrollo de bases de datos.