PHP PDFライブラリはありますか?プレースホルダー変数を置き換える既存の PDF、ODT、または DOCX ドキュメントにテキストを挿入し、レイアウトを崩さずに最終結果として PDF ファイルを生成することはできますか?
要件:
サードパーティのウェブサービスは不要
共有ウェブホスティングで実行できるのが理想的です(バイナリインストール/パッケージは不要)
既存のPDFファイルを読み込み、特定の位置にプログラムでテキストを挿入できるライブラリは、足りない私の使用例の場合。
私の調査によれば、これを実行できるライブラリは存在しません。
TCPDFは最初から文書を生成することしかできない
FPDI は既存の PDF テンプレートを読み取ることができますが、プログラムでコンテンツを追加することしかできません (テンプレート変数の置き換えはできません)
さまざまなDOCX/ODTテンプレートライブラリがありますが、PDFを出力しません。
PHPDOCxまさに私が必要としていることを実現できると主張しているが、試用版は提供されておらず、特に問題がある場合は購入するつもりはない。他の製品はありませんウェブ上でこれを実行する方法はありません。問題なく実行できるとは信じがたいのですが、この製品を使用してこれを正常に実行できた場合は、ここにコメントを残してください。
何か見落としているのでしょうか?
PDF フォームを使用してこれを行う方法はありますか? ソース ドキュメントは OpenOffice 3 で作成しています。
標準の Linux コマンドを使用できる可能性があります (pdftk
たとえば、 が利用可能で、今すぐ試しています)。
アップデート:*あぁ!* 私はオフィスから呼び出され、その間に懸賞金の期限が切れました。新しい懸賞金の開始: 私のテストでは、まだ完璧に機能する解決策はありません。
アップデート II:近々 pdftk アプローチを検討する予定ですが、追加の入力を収集するための別の懸賞も開始する予定です。この質問の懸賞では現在 1300 の評判ポイントが獲得されており、これはある種の記録に違いありません :)
ベストアンサー1
これはあまり実用的ではありませんが、完全性のために:すでにODTテンプレートがある場合は、それをテンプレートとして保持することもできます。OpenDocument content.xmlを変更し、その中のプレースホルダーを置き換えるのは非常に簡単です。その場合は、unoconv
またはpyodconverter
ODT を最終的な PDF に変換します。
unoconv -f pdf -o final.pdf template.odt
当然ながら、これには Web サーバー上での完全な OpenOffice セットアップ (UNO と Writer) が必要です。そして、当然ながらすべての Web ホスティング業者がそれを採用するわけではありません! 笑。Debian または Fedora セットアップでは簡単ですが、実行速度もおそらくそれほど速くないでしょう。しかし、OOo はどちらの形式もどの PHP クラスよりもずっとうまく管理できるので、これが最もクリーンなアプローチかもしれません。