【问题标题】:PHP-font-lib must either be installed via composer or copied to lib/php-font-libPHP-font-lib 必须通过 composer 安装或复制到 lib/php-font-lib
【发布时间】:2012-11-06 01:58:43
【问题描述】:

我正在尝试将一些 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");

我该如何解决?谢谢!

【问题讨论】:

    标签: php dompdf


    【解决方案1】:

    Dompdf 最近移至 Github,我们还添加了 Composer 支持。为此,我们删除了对所需外部库 php-font-lib 的引用。

    注意:如果您使用composer安装dompdf(和php-font-lib),则需要将define("DOMPDF_ENABLE_AUTOLOAD", false);放在dompdf_config.custom.inc.php中。这将允许作曲家自动加载通过 dompdf 的 composer.json 文件安装的php-font-lib。否则,您仍然可能会收到错误消息。 (见issue

    如果你没有使用 composer 并且想在这个库中使用最新版本的 dompdf:(source)

    • Github 获取最新的 dompdf 版本并将其解压缩到一个目录中。
    • 也从Github下载库版本
    • 创建 dompdf/lib/php-font-lib/classes/ 目录。
    • 在 zip 文件中,获取 src/FontLib/ 文件夹的内容并将其粘贴到新创建的目录中。

    【讨论】:

    • 请注意,并不是每个人都知道 composer 或 PHP-font-lib 是什么。因此,向该错误消息添加更多信息将非常有帮助。 ;)
    • 对不起,我应该更冗长。
    • 从上面链接的 0.6 beta 3 复制了 php-font-lib,它就像一个魅力。干杯:)
    • 我认为这仍然是一个问题。当不通过作曲家下载时。它应该添加到需求信息或安装信息中。
    • 请注意我遇到了这个答案,但它对我不起作用。似乎在写答案时 - php-font-lib 版本是 0.2.2,使用 0.4 不会解决它。使用 0.2.2 (github.com/PhenX/php-font-lib/releases/tag/0.2.2)
    【解决方案2】:

    在审核我的编辑时,我将在此处发布最新 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)

    • Github 获取最新的 dompdf 版本并将其解压到一个目录中。
    • 也从Github下载库版本
    • 创建 dompdf/lib/php-font-lib/classes/ 目录。
    • 在 zip 文件中,获取 src/FontLib/ 文件夹的内容并将其粘贴到新创建的目录中。

    【讨论】:

      【解决方案3】:

      另一个技巧,以避免从 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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-25
        • 1970-01-01
        • 1970-01-01
        • 2013-05-21
        • 1970-01-01
        • 2017-01-26
        • 2012-01-28
        • 1970-01-01
        相关资源
        最近更新 更多