ホームページ  >  記事  >  バックエンド開発  >  PHPでドキュメントをPDFに変換する方法

PHPでドキュメントをPDFに変換する方法

藏色散人
藏色散人オリジナル
2020-09-02 10:01:494817ブラウズ

PHP でドキュメントを PDF に変換する方法: 最初に自動ロード ファイルを導入し、次に「$templateProcessor->saveAs('test.docx');」を通じてテンプレート Word ファイルをロードし、最後に「test」を追加します。 .docx」を「test.pdf」に変換するだけです。

PHPでドキュメントを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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。