Frage

Ist es möglich, FDF-Daten mit einer PDF-Datei mit PHP allein zu fusionieren? Oder gibt es keine Option, sondern ein 3rd-Party-Kommandozeilen-Tool zu verwenden, um dies zu erreichen?

Wenn das der Fall ist kann jemand Punkt mich in die Richtung einer?

Ich bin zum Ausgeben derzeit die FDF-Datei an den Browser in der Hoffnung, dass es den Benutzer auf den ausgefüllten PDF umleiten wird aber für einige Leute, die nicht der Fall ist. Die FDF Inhalt wird auf dem Bildschirm ausgegeben, obwohl ich Header bin mit ( 'Content-type: application / vnd.fdf');

War es hilfreich?

Lösung

Für die Zukunft sieht es aus wie es keine zuverlässige Möglichkeit, es zu tun, ohne einen 3rd-Party-App. Pdftk ( http://www.accesspdf.com/pdftk/ ) endete meine Lösung ist hoch.

ich zuerst die FDF-Datei wie zuvor erzeugt, und fusionierte sie dann in meine PDF-Datei des folgenden PHP-Code mit

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

Es war viel einfacher, als ich dachte, es wäre. Dadurch entfällt die Notwendigkeit, sofort mit Kopf- und Dateierweiterungen zu hacken um alle Browser richtig ein FDF Griff zu gewährleisten, da es einfach den Browser macht PDF-Datei herunterladen.

Wenn Sie die PDF-Ausgabedatei nicht mehr wollen sein editierbar, Verwendung

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

Entschuldigt, wenn diese grundlegende Dinge, dachte nur, dass ich sie alle an einem Ort setzen würde, so dass die Menschen durch die Kopfschmerzen gehen nicht, dass ich ausgehalten.

N. B. Wenn Ihr PATH-Variable nicht gesetzt ist, müssen Sie den vollständigen Pfad zu pdftk d.h verwenden.

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

Andere Tipps

Es gibt eine andere Art und Weise zu Tag, dass nicht passthru noch pdftk verwenden, sondern nur ein Skript im Jahr 2004, aber immer noch gut funktioniert: forge_fdf

es hilft Ihnen, eine fdf zu bauen, dass Sie straithly in Ihrem pdf incoporate kann, bedeutet dies, dass Sie

Speichern Sie diese in einer PHP-Datei, sagen wir mal 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 );

Einen Link zu Pathtoyourpdf / nameofpdffile.pdf # FDF = generatePdf.php wird Ihre PDF-Datei im Browser öffnen (alternativ gibt es eine Möglichkeit, es auf der Festplatte zu speichern, ich glaube, ich erinnere mich) und das Feld E-Mail wird mit Daten gefüllt werden von MYSQL: mb_strtolower($row_delivreur['firstname']).'.'.mb_strtolower($row_delivreur['lastname']).'@gmail.com'

Es funktioniert mit Kontrollkästchen, Optionsfeld, ... Es öffnet sich gut in Firefox, hat es mit anderen Browsern getestet werden.

Mehr Infos auf PDF HACKS

mit Abstand die einfachste Art und Weise habe ich gefunden pdftk auf CentOS installieren:

Installieren RPMForge Repo - http://wiki.centos.org/AdditionalResources/ Repositorys / RPMForge # head-5aabf02717d5b6b12d47edbc5811404998926a1b

dann

yum install pdftk

und das ist es!

http://www.setasign.de / products / pdf-php-Lösungen / FPDI / demos / concatenate-Fälschung /

Das funktioniert, laden Sie die Klassen auch von der Website verknüpft sind,

Es erfordert keine passthru / exec Befehl und keine zusätzliche Erweiterungen.

Edited zu sagen, dies nicht funktioniert mit neueren PDF-Versionen 1.5 und höher, kehrten zu PDFTK, knifflig, aber funktioniert mit allen PDF-Dateien mit dem ‚exec‘ Befehl.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top