使用dompdf后抛出致命错误

时间:2017-05-26 13:37:56

标签: php converter fatal-error dompdf

我正在尝试编写一个使用dompdf将HTML文件转换为PDF的脚本。我有一个名为converter.php的php文件,其中包含以下代码行:

<?php
use Dompdf\Dompdf;

$dompdf = new Dompdf();
$dompdf->loadHtml('Hello, its my first HTML to PDF Converter');
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();

编译程序后,它会抛出2个exeptions:

  

首先:

     
    

致命错误:未捕获错误:Class&#39; Dompdf \ Dompdf&#39;找不到     第4行的C:\ xampp \ htdocs \ PHP-PDFConverter \ converter.php

  
     

第二

     
    

错误:Class&#39; Dompdf \ Dompdf&#39;找不到     第4行的C:\ xampp \ htdocs \ PHP-PDFConverter \ converter.php

  

我确定问题不在于某个目录的路径。

编辑: 这是我的Dompdf课程:

/**
 * @package dompdf
 * @link    http://dompdf.github.com/
 * @author  Benj Carson <benjcarson@digitaljunkies.ca>
 * @author  Fabien Ménager <fabien.menager@gmail.com>
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 */
namespace Dompdf;

use DOMDocument;
use DOMNode;
use Dompdf\Adapter\CPDF;
use DOMXPath;
use Dompdf\Frame\Factory;
use Dompdf\Frame\FrameTree;
use HTML5_Tokenizer;
use HTML5_TreeBuilder;
use Dompdf\Image\Cache;
use Dompdf\Renderer\ListBullet;
use Dompdf\Css\Stylesheet;

自动加载文件:

<?php
/**
 * @package dompdf
 * @link    http://dompdf.github.com/
 * @author  Benj Carson <benjcarson@digitaljunkies.ca>
 * @author  Fabien Ménager <fabien.menager@gmail.com>
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 */

/**
 * Dompdf autoload function
 *
 * If you have an existing autoload function, add a call to this function
 * from your existing __autoload() implementation.
 *
 * @param string $class
 */

require_once __DIR__ . '/lib/html5lib/Parser.php';
require_once __DIR__ . '/lib/php-font-lib/src/FontLib/Autoloader.php';
require_once __DIR__ . '/lib/php-svg-lib/src/autoload.php';

/*
 * New PHP 5.3.0 namespaced autoloader
 */
require_once __DIR__ . '/src/Autoloader.php';

Dompdf\Autoloader::register();

1 个答案:

答案 0 :(得分:1)

抛出的第一个异常意味着“嘿,有一个例外,你还没有使用try ... catch处理”,你可以忽略它,除非你想用它做一些事情,但看到你在这里,你唯一想做的就是解决它 第二个例外意味着PHP不知道该类,这意味着在调用类之前它不包含在任何地方。在您的情况下,这可能意味着自动装带器无法正常工作或文件位于自动装带器的错误位置。

确保您正在执行以下操作:

  • 尽早包含自动加载器文件
  • 包括作曲家的自动加载器(如果使用作曲家)
  • 注册了自动加载器(阅读如何here
  • 将DomPDF类放在可自动加载的位置