PHPフォームに入力してPDFファイルに保存(平坦化)するために使用できるPDFライブラリはありますか?
ここで説明したライブラリとフレームワークは優れていますが、フォームに入力してフラット化するだけの場合は、pdftk(PDF Toolkit)というコマンドラインツールをお勧めします。
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ を参照してください
あなたはPHPからコマンドラインを呼び出すことができ、コマンドは
pdftk
formfile.pdffill_form
fieldinfo.fdfoutput
outputfile.pdfflatten
フィールドに入力する情報を生成するには、FDFファイルの形式を見つける必要があります。以下がそのための良いリンクです。
http://www.tgreer.com/fdfServe.html
[編集:上記のリンクは正常に機能していないようです。詳細はこちら...]
Pdftkコマンドは、PDFフォームファイルからFDFファイルを生成できます。生成されたFDFファイルをサンプルとして使用できます。フォームフィールドは、FDFファイルの次のような部分です。
...
<< /T(f1-1) /V(text of field) >>
<< /T(f1-2) /V(text of another field) >>
...
php-pdftk も確認してください。これはPHP固有のライブラリです。私は使用していませんが、コメンターのアルバロ(下記)が推奨しています。
受け入れられた答えに大きな+1を付け、fdfファイルでエンコードの問題に遭遇した場合の小さなヒント。 fields.fdfを生成し、実行時に
file -bi fields.fdf
あなたが得る
application/octet-stream; charset=binary
その後、UTF-16文字セットの問題が発生する可能性が最も高くなります。を使ってftfを変換してみてください
cat fields.fdf | sed -e's/\x00//g' | sed -e's/\xFE\xFF//g' > better.fdf
その後、better.fdfファイルを編集して、PDFフォームにインポートできました。
うまくいけば、誰かがGoogle-ingをいくらか救うことを願っています
phpでfdfファイルを生成: http://www.php.net/manual/en/book.fdf.php を参照
次に、pdftkでpdfに記入します(上記を参照)
私は、fpdfを使用し、変数を取得変数としてフォームフィールドに渡すphpスクリプトに送信するフォームを使用することで、多くの成功を収めています(おそらく、ベストプラクティスではありませんが、機能します)。
<?php
require('fpdf.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetY(30);
$pdf->SetX(100);
$pdf->MultiCell(10,4,$_POST['content'],0,'J');
$pdf->Output();
?>
そして、あなたはこのようなものを持つことができます。
<form action="fooPDF.php" method="post">
<p>PDF CONTENT: <textarea name="content" ></textarea></p>
<p><input type="submit" /></p>
</form>
この骨格の例は、あなたが始めるのに役立つはずです。
この問題を解決できる コマンドラインインターフェイス を使用して、Perlライブラリ CAM :: PDF を作成しました。私は何年も前にFDFソリューションを使用しようとしましたが、それが複雑すぎることに気付いたため、そもそもCAM :: PDFを作成しました。私のライブラリは、いくつかのヒューリスティックを使用して、フォームを目的のテキストに置き換えているため、完全ではありません。しかし、それはほとんどの場合に機能し、高速で無料で、非常に簡単に使用できます。
これは 前に説明した のように見えます。 Zend Framework PDFライブラリ。
職場では PDFLib を使用しています。有料版はそれほど高価ではなく、有料版のためにシェルアウトできない場合は、より限定的なオープンソース版があります。