29

私はいくつかのhtmlをpdfに変換しようとしています。いくつかのGoogle検索の後、dompdfを見つけましたが、変換しようとすると取得します

PHP-font-lib must either be installed via composer or copied to lib/php-font-lib

これは私がやろうとしていることです:

require 'pdf/dompdf.php';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");

どうすれば解決できますか?ありがとう!

4

3 に答える 3

48

Dompdf は最近Githubに移動し、Composer のサポートも追加しました。このため、必要な外部ライブラリphp-font-libへの参照を削除しました。

注: composer を使用して dompdf (およびphp-font-lib ) をインストールしている場合は、dompdf_config.custom.inc.php に入れる必要がありますdefine("DOMPDF_ENABLE_AUTOLOAD", false);。これにより、composerは、dompdf の composer.json ファイルを通じてインストールされたphp-font-libを自動ロードできるようになります。そうしないと、まだエラーが発生する可能性があります。(この問題を参照)

composer を使用しておらず、このライブラリーで最新版の dompdf を使用したい場合: ( source )

  • Githubから最新の dompdf リリースを取得し、ディレクトリに展開します。
  • ライブラリ リリースもGithubからダウンロードします。
  • dompdf/lib/php-font-lib/classes/ ディレクトリを作成します。
  • zip ファイルで、src/FontLib/ フォルダの内容を取得し、新しく作成したディレクトリに貼り付けます。
于 2012-11-17T17:13:00.703 に答える
2

私の編集がレビューされている間、最新の dompdf 0.6.1 の詳細をここに投稿します。

composer を使用して dompdf (および php-font-lib) をインストールする場合は、dompdf_config.custom.inc.php に入れる必要がありますdefine("DOMPDF_ENABLE_AUTOLOAD", false);。これにより、composer は、dompdf の composer.json ファイルを通じてインストールされた php-font-lib を自動ロードできるようになります。そうしないと、まだエラーが発生する可能性があります。(この問題 #636 を参照)

composer を使用しておらず、dompdf の最新版を使用したい場合は、手動で php-font-lib をインストールする必要があります: ( https://stackoverflow.com/a/24505929/3854385 )

  • Githubから最新の dompdf リリースを取得し、ディレクトリに展開します。
  • ライブラリ リリースもGithubからダウンロードします。
  • dompdf/lib/php-font-lib/classes/ ディレクトリを作成します。
  • zip ファイルで、src/FontLib/ フォルダの内容を取得し、新しく作成したディレクトリに貼り付けます。
于 2014-10-17T15:51:35.283 に答える