我试图让DOMPDF一个内部的服务器上运行。 使用默认的config.inc.php设置,我得到的运行演示“你好世界国际”脚本相当于当以下情况:
Warning: require_once(/var/www/dompdf-master/lib/php-font-lib/classes/font.cls.php): failed to open stream: No such file or directory in /var/www/dompdf-master/dompdf_config.inc.php on line 335
Fatal error: require_once(): Failed opening required '/var/www/dompdf-master/lib/php-font-lib/classes/font.cls.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/dompdf-master/dompdf_config.inc.php on line 335
当我关掉DOMPDF_ENABLE_AUTOLOAD
,我不再得到这样的警告,但代码失败,出现以下内容:
Fatal error: Class 'DOMPDF' not found in /var/www/rfq/test.php on line 115
以下是代码:
require_once("/var/www/dompdf-master/dompdf_config.inc.php");
$dompdf = new DOMPDF(); // this is the line that fails
$dompdf->load_html($quotehtml);
$dompdf->render();
$dompdf->stream("rfq".$_REQUEST['quoteid'].".pdf");
这是Ubuntu的12.04,上最新的补丁,以默认的Apache设置。
非常感谢。
这是一个暂时性的问题后DOMPDF项目转移到Github上。 查看回答这个问题 。 获得完整的包最简单的办法就是下载从谷歌代码DOMPDF 0.6 Beta 3中 。
我们将使用DOMPDF在笨但我心中已经从GitHub下载的文件不具有所有我们需要的文件。 缺少PHP-字体LIB的所有文件。 因此,我们必须下载并上传到相应的文件夹中。 因此,有DOMPDF在笨的工作,你可能需要下载它。
看到这里http://www.digitalwhores.net/codeigniter/codeigniter-dompdf-master-and-php-font-lib/
如果您使用的作曲家安装DOMPDF,你需要把define("DOMPDF_ENABLE_AUTOLOAD", false);
在dompdf_config.custom.inc.php。 然后,这将允许作曲家自动加载PHP-字体-lib的,因为它已经安装。 (详见本期: https://github.com/dompdf/dompdf/issues/636 )
如果您使用的不是作曲家,看到Mikepote的答案。
如果错误是没有做修正后什么其他答案建议:
In dompdf_config.inc.php, change line 332 to point to the actual location of your Font.php file.
mine was /php-font-lib/src/FontLib
还有就是在那里提到没有类文件夹。
我几乎完全一样的问题。 我的代码是工作在我的本地dev的机器 - Windows中 - 但是是失败我们的生产服务器上 - 在Linux中
问题是,在“类”目录中是小写(\程序\供应商\ DOMPDF \ LIB \ PHP-字体的lib \类)的Windows并不介意 - 但Linux的是区分大小写的做到了!
简单的编辑在dompdf_config.inc.php以下行解决了这个问题:
require_once(DOMPDF_LIB_DIR . "/php-font-lib/Classes/Font.php");
为了保持一致性我改名与在Windows中的大写字母“C”的目录。
DOMPDF的新版本不工作“的作曲家安装”或“作曲更新”。 它需要的字体库可能并不总是最新版本的特殊版本,所以这可能会在未来发生改变。 但你可以找到如何通过DOMPDF的文件进行安装。 不知道为什么作者没有硬编码的composer.json内这些字体的版本,但反正这里是如何做到这一点。
目前使用该库的最简单有效的方法是通过GIT中(从官方文档拍摄)
git clone https://github.com/dompdf/dompdf.git
cd dompdf
git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib
cd lib/php-font-lib
git checkout 0.4
cd ..
git clone https://github.com/PhenX/php-svg-lib.git php-svg-lib
cd php-svg-lib
git checkout v0.1
然后,你可以做
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream( "/path-to-save-pdf-file/sample.pdf");