いくつかの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");
どうすれば解決できますか?ありがとう!
Dompdfは最近 Github に移動し、Composerサポートを追加しました。このため、必要な外部ライブラリへの参照を削除しました php-font-lib 。
注:composer=を使用してdompdf(および php-font-lib )をインストールしている場合、dompdf_config.customにdefine("DOMPDF_ENABLE_AUTOLOAD", false);
を追加する必要があります.inc.php。これにより、composer= autoload php-font-lib が許可されます。これは、dompdfのcomposer.jsonファイルを介してインストールされます。エラー(これを参照してください issue )
composerを使用しておらず、このライブラリでdompdfの最新版を使用する場合:( source )
編集のレビュー中に、最新のdompdf 0.6.1の詳細をここに投稿します
composer=を使用してdompdf(およびphp-font-lib)をインストールする場合、define("DOMPDF_ENABLE_AUTOLOAD", false);
をdompdf_config.custom.inc.phpに配置する必要があります。これにより、 composer dompdfのcomposer.jsonファイルを介してインストールされたphp-font-libを自動ロードします。それ以外の場合、エラーが発生する可能性があります(この問題#636を参照)
composerを使用せず、dompdfの最新版を使用する場合は、php-font-libを手動でインストールする必要があります:( https://stackoverflow.com/ a/24505929/3854385 )
Composerから自動ダウンロードされたファイルの変更を避けるためのもう1つのトリックは、DOMPDF_ENABLE_AUTOLOAD
および構成ファイルを再ロードした後:
// Disable DOMPDF's internal autoloader if you are using Composer
define('DOMPDF_ENABLE_AUTOLOAD', false);
require_once CONFIG_DIR . 'vendor/dompdf/dompdf/dompdf_config.inc.php';
$dompdf = new \DOMPDF;