Domanda

E 'possibile unire i dati FDF con un file PDF con PHP da solo? O c'è altra scelta che utilizzare un terzo strumento a riga di comando del partito per raggiungere questo obiettivo?

Se questo è il caso qualcuno mi può puntare nella direzione di uno?

Al momento sto emettere il file FDF al browser nella speranza che possa reindirizzare l'utente alla compilato in PDF, ma per alcune persone che non è il caso. I contenuti FDF viene emesso allo schermo, anche se sto usando intestazione ( 'Content-type: application / vnd.fdf');

È stato utile?

Soluzione

Per riferimento futuro, sembra che non ci sia un modo affidabile di farlo senza un app 3rd party. Pdftk ( http://www.accesspdf.com/pdftk/ ) ha finito per essere la mia soluzione.

ho generato il file FDF come prima, e poi fusi nel mio file PDF utilizzando il seguente codice PHP

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

E 'stato molto più facile che ho pensato che sarebbe stato. Questo elimina immediatamente la necessità di incidere in giro con le intestazioni e le estensioni dei file per garantire tutti i browser gestiscono un FDF correttamente, in quanto rende semplicemente il browser scaricare il file PDF.

Se si desidera che il file di output PDF a non essere più modificabile, utilizzare

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

Mi scuso se questa è roba di base, solo pensato che avevo messo tutto in un unico posto in modo che la gente non passare attraverso il mal di testa che ho sopportato.

NB. Se la variabile PATH non è impostata, è necessario utilizzare il percorso completo di pdftk cioè.

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

Altri suggerimenti

C'è un altro modo per giorno che non utilizza né passante pdftk, ma solo uno script realizzato nel 2004, ma ancora lavorando bene: forge_fdf

che ti aiuta a costruire un FDF che si può incoporate straithly nel vostro pdf, vuol dire che si

Salva questo in un file php, diciamo 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 );

Fare un link per Pathtoyourpdf / nameofpdffile.pdf # DFF = generatePdf.php aprirà il file PDF nel browser (in alternativa c'è un modo per salvarlo su disco Credo di ricordare) e l'e-mail campo sarà riempito con i dati da MySQL: mb_strtolower($row_delivreur['firstname']).'.'.mb_strtolower($row_delivreur['lastname']).'@gmail.com'

Funziona con caselle di controllo, pulsante di opzione, ... Si apre bene in Firefox, deve essere testato con altri browser.

Maggiori informazioni sul HACKS PDF

di gran lunga il modo più semplice che ho trovato per installare pdftk su CentOS:

Installa RPMForge pronti contro termine - http://wiki.centos.org/AdditionalResources/ repository / RPMForge # head-5aabf02717d5b6b12d47edbc5811404998926a1b

poi

yum install pdftk

e questo è tutto!

http://www.setasign.de / prodotti / pdf-php-solutions / FPDI / demo / concatena-falsificazione /

Questo funziona, le classi di scaricare sono legati dal sito web troppo,

Non richiede / comando exec passante e senza ulteriori estensioni.

A cura di dire, questo non funziona con le versioni più recenti pdf 1.5+, tornato al PDFTK, poco pratici ma funziona con tutti i PDF utilizzando il comando 'exec'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top