php pdf fdf xfdf

Fusionar datos FDF en un archivo PDF usando PHP



xfdf (4)

Hay otra forma en el día que no usa passthru ni pdftk, sino solo un script hecho en 2004 pero que todavía funciona bien: forge_fdf

te ayuda a construir un fdf que puedes incorporar de forma conjunta en tu pdf, significa que

Guarde esto en un archivo php, digamos generatePdf.php

require_once(''forge_fdf.php''); // leave this blank if we''re associating the FDF w/ the PDF via URL $pdf_form_url= ""; // default data; these two arrays must ultimately list all of the fields // you desire to alter, even if you just want to set the ''hidden'' flag; // // $fdf_data_names= array(); // none of these in this example $fdf_data_strings= array(); // none of these in this example $fdf_data_strings[''email'']=mb_strtolower($row_delivreur[''firstname'']).''.''.mb_strtolower($row_delivreur[''lastname'']).''@gmail.com''; $fields_hidden= array(); $fields_readonly= array(); // set this to retry the previous state $retry_b= false; header( ''content-type: application/vnd.fdf'' ); echo forge_fdf( $pdf_form_url, $fdf_data_strings, $fdf_data_names, $fields_hidden, $fields_readonly );

Hacer un enlace a Pathtoyourpdf / nameofpdffile.pdf # FDF = generatePdf.php abrirá su archivo PDF en el navegador (alternativamente hay una forma de guardarlo en el disco, creo que recuerdo) y el campo de correo electrónico se completará con datos de MYSQL: mb_strtolower($row_delivreur[''firstname'']).''.''.mb_strtolower($row_delivreur[''lastname'']).''@gmail.com''

Funciona con casillas de verificación, botón de opción, ... Se abre bien en Firefox, tiene que probarse con otros navegadores.

Más información en PDF HACKS

¿Es posible fusionar datos FDF con un archivo PDF usando solo PHP? ¿O no hay otra opción que utilizar una herramienta de línea de comandos de terceros para lograr esto?

Si ese es el caso, ¿alguien puede señalarme en la dirección de uno?

Actualmente estoy enviando el archivo FDF al navegador con la esperanza de que redirija al usuario al PDF completo, pero para algunas personas ese no es el caso. El contenido de FDF se está enviando a la pantalla, aunque estoy usando el encabezado (''Content-type: application / vnd.fdf'');


Para referencia futura, parece que no hay una manera confiable de hacerlo sin una aplicación de terceros. Pdftk ( http://www.accesspdf.com/pdftk/ ) terminó siendo mi solución.

Primero genere el archivo FDF como antes, y luego lo fusioné en mi archivo PDF usando el siguiente código PHP

header(''Content-type: application/pdf''); header(''Content-Disposition: attachment; filename="Download.pdf"''); passthru("pdftk file.pdf fill_form data.fdf output - "); exit;

Fue mucho más fácil de lo que pensé que sería. Esto elimina instantáneamente la necesidad de hackear con encabezados y extensiones de archivos para asegurar que todos los navegadores manejen un FDF correctamente, ya que simplemente hace que el navegador descargue el archivo PDF.

Si desea que el archivo de salida PDF ya no sea editable, use

passthru("pdftk file.pdf fill_form data.fdf output - flatten");

Disculpas si esto es algo básico, solo pensé en poner todo en un solo lugar para que la gente no sufriera el dolor de cabeza que sufrí.

NB Si su variable PATH no está configurada, necesitará usar la ruta completa a pdftk, es decir,

passthru("/usr/local/bin/pdftk file.pdf fill_form data.fdf output - flatten");



http://www.setasign.de/products/pdf-php-solutions/fpdi/demos/concatenate-fake/

Esto funciona, las clases de descarga están vinculadas desde el sitio web también,

No requiere ningún comando passthru / exec ni extensiones adicionales.

Editado para decir, esto no funciona con las versiones más recientes de PDF 1.5+, revertido a PDFTK, pero trabaja con todos los pdfs usando el comando ''exec''.