web-dev-qa-db-ja.com

PDF Forms with PHP

PHPフォームに入力してPDFファイルに保存(平坦化)するために使用できるPDFライブラリはありますか?

47
mno

ここで説明したライブラリとフレームワークは優れていますが、フォームに入力してフラット化するだけの場合は、pdftk(PDF Toolkit)というコマンドラインツールをお勧めします。

https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ を参照してください

あなたはPHPからコマンドラインを呼び出すことができ、コマンドは

pdftkformfile.pdffill_formfieldinfo.fdfoutputoutputfile.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固有のライブラリです。私は使用していませんが、コメンターのアルバロ(下記)が推奨しています。

47
bmb

受け入れられた答えに大きな+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をいくらか救うことを願っています

5
Val Redchenko

phpでfdfファイルを生成: http://www.php.net/manual/en/book.fdf.php を参照

次に、pdftkでpdfに記入します(上記を参照)

3
proofy

にとって:

  • XFDFよりも簡単な入力形式
  • 真のUTF-8(ロシア語)サポート
  • 完全なphpの使用例

PdfFormFillerUTF-8 をチェックしてください。

3
Nikolay

私は、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>

この骨格の例は、あなたが始めるのに役立つはずです。

3
josh.chavanne

この問題を解決できる コマンドラインインターフェイス を使用して、Perlライブラリ CAM :: PDF を作成しました。私は何年も前にFDFソリューションを使用しようとしましたが、それが複雑すぎることに気付いたため、そもそもCAM :: PDFを作成しました。私のライブラリは、いくつかのヒューリスティックを使用して、フォームを目的のテキストに置き換えているため、完全ではありません。しかし、それはほとんどの場合に機能し、高速で無料で、非常に簡単に使用できます。

1
Chris Dolan

これは 前に説明した のように見えます。 Zend Framework PDFライブラリ。

1
pix0r

職場では PDFLib を使用しています。有料版はそれほど高価ではなく、有料版のためにシェルアウトできない場合は、より限定的なオープンソース版があります。

1
foxxtrot