[英]PHP , Fpdf Parse error: When using AddFont()
更改字体时,在显示PDF文件中的内容时出现问题。
<?php
session_start();
include $_SERVER['DOCUMENT_ROOT'] . "/library/fpdf.php";
$pdf = new FPDF('P',"mm",'A4');
$pdf->AddPage();
$pdf->AddFont('DejaVu','','DejaVuSans-Bold.ttf',true);
$pdf->SetFont('DejaVu','',14);
foreach ($_SESSION['settings'] as $settings) {
$pdf->Cell(130,5,$settings,1,1);
}
$pdf->Output();
?>
我尝试与其他文件一起更改字体,但不断出现随机错误,例如:
警告:输入中出现意外字符:
要么
解析错误[我的ttf文件路径]
即使我不打印PDF中的任何内容,也只能将其保留为空白,但由于AddFont,我仍然会收到错误消息,
如果我删除
$pdf->AddFont('DejaVu','','DejaVuSans-Bold.ttf',true);
$pdf->SetFont('DejaVu','',14);
并替换为
$pdf->SetFont('Arial','',14);
它工作正常。
AddFont
函数需要特定类型的文件才能使用字体,而不仅仅是字体文件本身。 如果您使用DejaVuSans-Bold.ttf
文件并将其上传到此处 ,它将把它转换为您所需的格式。
将生成2个文件DejaVuSans-Bold.php
和DejaVuSans-Bold.z
。 将这两个都复制到您的项目中,然后将代码行更改为以下内容:
$pdf->AddFont('DejaVu','','DejaVuSans-Bold.php');
在以下教程中,有更多有关如何添加新字体的信息。 它包含有关如何在自己的PC上手动生成字体文件的详细信息,但是有一个在线工具(如上链接)可以为您完成:
最后,对于TrueType和OpenType字体,您也可以在线生成文件,而无需手动进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.