我正在使用dompdf
从输入生成PDF。
我使用的代码:
require_once (STYLESHEETPATH.'/dompdf/include/autoload.inc.php');
set_include_path(STYLESHEETPATH.'/dompdf');
require_once STYLESHEETPATH.'/dompdf/dompdf_config.inc.php';
$dompdf = new DOMPDF();
$html = '
<html>
<body>
<h1>Hello <i>'. $fullname.'</i> </h1>
<p> your father is <b>'.$fathername.'</b>
</body>
</html>';
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("tck.pdf"); ?>
这非常正常,并生成一个名为tck.pdf
现在我想在pdf中设置字体样式,所以我试过
require_once (STYLESHEETPATH.'/dompdf/include/autoload.inc.php');
set_include_path(STYLESHEETPATH.'/dompdf');
require_once STYLESHEETPATH.'/dompdf/dompdf_config.inc.php';
$dompdf = new DOMPDF();
$html = '
<html>
<head>
<style>
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: url(http://themes.googleusercontent.com/static/fonts/opensans/v8/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format("truetype");
}
</style>
</head>
<body>
<h1>Hello <i>'. $fullname.'</i> </h1>
<p> your father is <b>'.$fathername.'</b>
<br/>
<span style="font-family:webfontregular;">bar code will be here</span>
<div style="font-family:"Open Sans";">Open Sans</div>
</body>
</html>';
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("tck.pdf"); ?>
但它不起作用并给出如下错误:
Fatal error: Class 'Font' not found in /home4/q0i4l0g2/public_html/tck/wp-content/themes/kallyas-child/dompdf/include/font_metrics.cls.php on line 356
我注意到每当我使用“@ font-face”时,我都会收到此错误。 这是为什么? 我怎样才能使它发挥作用?
根据这个问题Dompdf and set different font-family中接受的答案,我认为这应该有用,但事实并非如此。
答案 0 :(得分:0)
使用0.7.0之前的dompdf版本时,不应直接包含自动装带器。这是在包含dompdf_config.inc.php文件时执行的设置过程的一部分。该设置过程定义了dompdf使用的一些常量,并引用了dompdf的自动加载器,并使用了各种库(包括php-font-lib)。
如果dompdf类已经可用,则启动脚本将退出而不执行任何操作。
也可能与你如何得到dompdf有关。如果您没有下载打包版本(即您单独下载了各个库),请确保获取php-font-lib 0.3.x,即dompdf 0.6版本使用的版本。