我正在尝试将某些HTML转换为pdf。 在一些谷歌搜索后,我发现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");
我该如何解决?谢谢!
答案 0 :(得分:47)
Dompdf最近搬到了Github,我们还添加了Composer支持。为此,我们删除了对所需外部库php-font-lib的引用。
注意:如果您使用composer安装dompdf(和php-font-lib),则需要将define("DOMPDF_ENABLE_AUTOLOAD", false);
放在dompdf_config.custom.inc.php中。这将允许composer自动加载php-font-lib,它通过dompdf的composer.json文件安装。否则,您可能仍会收到错误消息。 (见issue)
如果您不使用作曲家,并希望将最新版本的dompdf与此库一起使用:(source)
答案 1 :(得分:2)
在审核我的编辑时,我会在此处发布最新的dompdf 0.6.1
的详细信息如果您使用composer安装dompdf(和php-font-lib),则需要将define("DOMPDF_ENABLE_AUTOLOAD", false);
放在dompdf_config.custom.inc.php中。这将允许作曲家自动加载php-font-lib,它是通过dompdf的composer.json文件安装的。否则,您可能仍会收到错误消息。 (参见本期#636)
如果您不使用composer并想使用最新版本的dompdf,则需要手动安装php-font-lib:(https://stackoverflow.com/a/24505929/3854385)
答案 2 :(得分:0)
另一个避免从Composer更改自动下载文件的技巧是定义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;