2

死んだFDF関数を使用せずにPHP内でFDFファイルを作成する方法はありますか?既存のpdftkFDFファイルからPDFを作成するために使用できることは承知していますが、最初に1つのフィールド値を設定してFDFファイルを作成する必要があります。

または、ユーザーがダウンロードできるようにする前に、PHPを使用して(FDFファイルの作成をスキップして)PDFに1つのフィールドを設定する方法はありますか?

それの一体のために、私はPHPでFDFファイルを作成しようとしましたfopen-が機能しませんでした。generate_fdf内に操作があることも知っていますpdftkが、これでは特定の値を設定できません。少なくとも、私にはわかりません。

誰かが答えが何であるか知っていますか?私はかなり立ち往生しています。残念ながら、私はクライアントに完全なPDFを廃棄するように(代わりにWebフォームを使用するように)指示することを制御できません。

4

2 に答える 2

2

私があなたを正しく理解しているなら、あなたは特にFDFライブラリを使いたくないだけですか?

TCPDFを試しましたか?http://www.tcpdf.org/を参照してください

既存のPDFファイルをテンプレートとして使用し、一部の値のみを追加する場合は、TCPDFを拡張する拡張FPDIを使用します。http ://www.setasign.de/products/pdf-php-solutions/fpdi/

于 2011-03-24T16:49:17.237 に答える
2

PDFTKでは、パズルを完成させるために2つのピースが必要です。最初にデータを含むFDFが必要であり、次に適切な名前のフォームフィールドを含む元のPDFが必要です。PDFTKはデータをPDFにマージします。

FDFの質問に答えるには、まずこの優れた記事http://koivi.com/fill-pdf-form-fields/をチェックしてください。この記事には、FDFの生成に役立つメソッドも含まれています。

データを含むFDFを取得したら、PDFTKのfill_form関数を使用できます

readfile($ temp_file)の代わりにpassthru()を使用し、「output-」パラメーターを使用してファイル名の代わりにstdoutに出力することにより、ドキュメントを編集可能に保つことができます。また、ドキュメントの破棄を強制しないことも重要です。ブラウザでファイルを開くのではなく、ファイルのダウンロードを強制しようとすると、編集できず、保存できない混乱が発生します。

例:

header("Content-type:application/pdf");
passthru("pdftk ".$original." fill_form ".$fdf." output -");
die();

これにより、Readerプラグインを使用してブラウザで開きます。その後、入力したフォームフィールドを編集して印刷できるようになりますが、変更を加えてコピーを保存する方法がまだわかりません。私は現在、他のオプションについてアドビの販売を追いかけています。

他の場所で述べたように、PDFTKのオプション「フラット化」は使用しないでください。

元のPDFにはパスワードを含めないでください。

于 2013-01-22T21:13:55.233 に答える