合併FDFのデータをPDFファイルのPHPを利用した
質問
できる合併FDFデータをPDFファイルのPHPを利用した。やはありませんがオプションでの利用は第3者のコマンドラインツールを実現。
なお、この場合にはできる人もの方向に。
私は現在、出力はFDFファイルをブラウザになることを期待してリダイレクトにユーザーに満ちたPDFファイルが一部の人々ですが、実はそうではありません。のFDF内容が画面に出力すものを使用していヘッダー(コンテンツタイプ:application/vnd.fdf');
解決
は、将来の参考のために、それが見えます。 Pdftkは( http://www.accesspdf.com/pdftk/ の)私の解決策になってしまいました。
私が最初に以前のようにFDFファイルを生成し、次のPHPコード
を使用して、私のPDFファイルにそれを吸収合併しましたheader('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="Download.pdf"');
passthru("pdftk file.pdf fill_form data.fdf output - ");
exit;
私はそれが可能だろうと思ったよりもはるかに簡単でした。これは、即座にそれは単にブラウザのダウンロードPDFファイルを作るよう、すべてのブラウザが正しくFDFを扱う確保するために、ヘッダーとファイル拡張子の周りハックする必要がなくなります。
あなたは、もはや編集可能で、使用
へPDF出力ファイルが必要な場合 passthru("pdftk file.pdf fill_form data.fdf output - flatten");
これは基本的なものである場合は、謝罪、ちょうどその人は私が耐えていること頭痛を経由しませんので、私はすべて一つの場所にそれを置くだろうと思ってます。
N.B。 PATH変数が設定されていない場合は、pdftkすなわちへの完全なパスを使用する必要があります。
passthru("/usr/local/bin/pdftk file.pdf fill_form data.fdf output - flatten");
他のヒント
もう一つの方法があり日となpassthruもpdftkがんのスクリプトに2004年かずしも一致するものではないもの: forge_fdf
すでに構築できますfdfることができincoporate straithlyおpdfすることは、あなたの
保存するphpファイルにしましょう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 );
作りへのリンクPathtoyourpdf/nameofpdffile.pdf#FDF=generatePdf.php またPDFファイルをブラウザ(あるい方法はありますので使い勝手はそのままディスクだと思い思い出の分野のメールが入りますからデータのMYSQL: mb_strtolower($row_delivreur['firstname']).'.'.mb_strtolower($row_delivreur['lastname']).'@gmail.com'
でチェックボックス、ラジオボタン...でもfirefoxで試験されるその他のブラウザを推奨いたします。
より示に PDF HACKS
これまで最も簡単な方法で、私はCentOSの上pdftkをインストールすることが分かっています:
インストールrpmforgeレポ - http://wiki.centos.org/AdditionalResources/リポジトリ/ RPMForge#ヘッド5aabf02717d5b6b12d47edbc5811404998926a1bする
そして
yumをインストールpdftk
とのthatsそれ!
http://www.setasign.de /製品/ PDF-PHP-ソリューション/ FPDI /デモ/ CONCATENATE-フェイク/ の
この作品は、クラスがあまりにもウェブサイトからリンクされているダウンロード、
これは何のパススルー/ execのコマンドとなし、追加の拡張機能を必要としません。
編集と言って、これは手間のかかる、PDFTKに戻った新しいPDFバージョン1.5以降、との仕事をしませんが、「幹部」コマンドを使用して、すべてのPDFファイルで動作します。