如何使用 TCPDF 将字体嵌入到 PDF 中?

2024-07-04

我尝试使用 TCPDF,其代码如下:

require_once($_SERVER['DOCUMENT_ROOT'].'/tcpdf/tcpdf.php'); 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 061');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
if (@file_exists($_SERVER['DOCUMENT_ROOT'].'/tcpdf/config/lang/eng.php')) {
    require_once($_SERVER['DOCUMENT_ROOT'].'/tcpdf/config/lang/eng.php');
    $pdf->setLanguageArray($l);
}
$pdf->SetFont('helvetica', '', 10); 
$html ="";
$pdf->AddPage();
$html .='<style>'. file_get_contents('http://localhost/Projects/PDF/css/style_4.css').'</style>';
$html .= file_get_contents("http://localhost/Projects/PDF/mycon.php"); 
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
$pdf->Output('example_061.pdf', 'I');

上面的代码成功生成了 PDF,但没有采用我在“style_4.css”中定义并包含在外部的 CSS 和字体。

我还尝试在页面本身“mycon.php”上包含CSS,但它也没有从那里获取。我究竟做错了什么?

Note:我有不同的字体,它们将根据某些条件动态附加到布局。


参见 TCPDF文档 http://www.tcpdf.org/fonts.php:

使用 addTTFfont() 方法可以直接创建 TCPDF 字体 从 TrueType、OpenType 或 Type1 字体开始。注意:“字体” 文件夹必须可由网络服务器写入。

例如:

$fontname = $pdf->addTTFfont('/path-to-font/DejaVuSans.ttf', 
                                'TrueTypeUnicode', '', 32);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 TCPDF 将字体嵌入到 PDF 中? 的相关文章

随机推荐