PHP でドキュメントを PDF に変換する方法: 最初に自動ロード ファイルを導入し、次に「$templateProcessor->saveAs('test.docx');」を通じてテンプレート Word ファイルをロードし、最後に「test」を追加します。 .docx」を「test.pdf」に変換するだけです。
推奨: 「PHP ビデオ チュートリアル 」
php 編集 PDF ファイル、php ワードから PDF、php 編集ワード、phpoffice、phpword、libreoffice
これ以上ナンセンスではなく、要件についてだけ話してください
1. プロジェクト マネージャー: 「Xiao Jiang、ここに Word 形式の契約書があります。PDF を生成できます。」形式であり、内部のコンテンツは編集できます。」
一般的な考え方
1. このような要求に遭遇したとき、私は少しショックを受けました。これはどのような要求ですか? これまでに遭遇したことはありません。それから、Google、Baiduなど、お勧めできるものがたくさんあります。また、PDF を定期的に生成するいくつかの PHP サードパーティ ライブラリも調べました。
tcpdf、zend Framework、fpdf などがあります。tcpdf は pdf を生成します。もっと直接的に言うと文書の内容を html と css で記述する必要があります。これを血を吐かずに使いたい場合は、 zend フレームワークのクラス ライブラリで生成された pdf ですが、中国語に対応していない、中国語が文字化けするという致命的な欠陥があり、fpdf も同様です。全部試しましたが、どれもうまくいきませんでした。このままでは殺されてしまうような気がしました。諦めかけたとき、phpword を見て希望が見えました。phpword は Word 文書の編集をサポートしていますが、PDF への変換は彼のものではありませんフォルテ。おいしい食べ物ですが、libreoffice コンバーターをダウンロードする以外に選択肢はありませんでしたが、この要件はかろうじて満たされました。残念ながら、非常に難しいことがわかったので、共有しなければなりません。より良い方法がある場合は、以下にコメントしてください:
1. 自動ロード ファイルを直接導入します
require_once ’ vendor/phpoffice/phpword/bootstrap.php’;
2,
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('layout.docx'); $templateProcessor->setValue('name', 'AAAAAAA'); $templateProcessor->setValue('ID_card', '36042819950812782112'); $templateProcessor->setValue('mobile', '12312341234'); $templateProcessor->setValue('adress', '广东省深圳市宝安区西乡'); $templateProcessor->saveAs('test.docx');
上記コードの説明: テンプレートの Word ファイルをロードし、変数形式を次のように設定します。 ${name} などに追加すると、生成された test.docx が変数に setValue の値を代入します。すごいと思いませんか?
3. 最後に、test.docx を test.pdf に変換します。このステップも非常に悲しいです。多くの情報を確認した後、問題を解決できるサードパーティのライブラリがあると常に考えていました。 Libreoffice はオープンソース ソフトウェアで、サイズは 1G 近くにもなる大きなものです。
system(“export HOME=/tmp/ && libreoffice --invisible --convert-to pdf --outdir /phpstudy/www/Uploads/activity/2017-02-28/ /phpstudy/www/Uploads/activity/2017-02-28/58b53f9cad22e.xls 2>&1”);
systemシステム関数を直接使う
今回の記事で紹介しますので、質問のある方はコメントください。
以上がPHPでドキュメントをPDFに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。