6

問題の解決策を見つけるために約3時間検索していました。私の問題に関するstackoverflowの質問をすでに閲覧しましたが、解決策が見つかりませんでした。

私が現在やろうとしているのは、PHP を使用して PDF フォーム フィールドのテキストを置き換えることです。PDF ファイルには、[プレースホルダー] のようなプレースホルダー テキストを含むテキスト フィールドがあります。

私がやろうとしたことは次のとおりです。

$pdf_content = file_get_contents(source_pdf.pdf);
$put = str_replace('[placeholder]', 'NEW VALUE', $pdf_content);
file_put_contents('temp_pdf/test.pdf', $put);

PDF を開くと、プレースホルダーが置き換えられていないようです。しかし、テキストフィールドをクリックすると、「NEW VALUE」が表示されます。もう一度クリックすると、「[placeholder]」が再び割り当てられます。

このため、これは私の目的にとって正しい試みではないと思います。

私の質問は次のとおりです。これを実装するための簡単で効果的な方法はありますか? FDF を使用したくありませんが、代わりにソース PDF のテキストを置き換えます。

4

2 に答える 2

3

私が知っている限り、それは簡単ではありません。最善の解決策は、その PDF ドキュメントを HTML テンプレートとして利用できるようにすることです。このテンプレートは、TCPDF ( http://www.tcpdf.org/ ) などのライブラリを使用して簡単に PDF に変換できます。

検索したところ、このような類似の質問が 2 つ見つかりました。いくつかの回答があるので、確認してみてください。彼らはいくつかのツールを提供しましたが、それは確かにPHPにはありません。

プログラムでPDF内のテキストを見つけて置き換える

プログラムで PDF のテキストを置換する

HTML テンプレートから PDF への変換は、テンプレートのセットが固定されていて、新しい値で毎回更新する場合に最適です。ただし、値を置き換える必要がある別のテンプレート (フォーム) がある場合は、可能であればプログラムで簡単に処理できる何らかの形式をベンダーに提供するよう依頼する必要があります。

于 2012-05-27T16:57:44.740 に答える