我正在使用TCPDF构建项目的打印输出。输出包括文本,表格和图像。我想在TCPDF引导程序样式中嵌入font-awesome图标,例如:
<i class="fa fa-fw fa-warning fa-lg text-warning"></i>
以上行输出带引导样式的感叹号(!)图标。 任何人都可以告诉我这是否可行?如果是的话,你能告诉我怎么做。
答案 0 :(得分:2)
Font Awesome正在使用CSS&#39;内容&#39;在<i>
标记的位置插入字符的属性。
我不认为TCPDF支持CSS属性。
我使用TCPDF的addTTFfont函数添加了Font Awesome支持,然后使用了以下代码:
<span style="font-family:FontAwesome;font-size: 2em;"></span>
而不是使用<i>
标记。字符的十六进制代码位于Font Awesome的CSS文件中,例如
.fa-hand-o-right:before {
content: "\f0a4"
}
答案 1 :(得分:0)
以下是完整的步骤(windows),如何在通过TCPDF呈现的PDF文件中使用超棒的字体图标:
获取TrueType文件FontAwesome.ttf
。该文件需要通过与TCPDF一起提供的TCPDF实用工具tcpdf_addfont.php
进行编译。
将FontAwesome.ttf
放入目录/tcpdf/tools/FontAwesome.ttf
。在此目录中还应该包含实用程序文件tcpdf_addfont.php
。
现在我假设您的命令行可以与PHP一起正常使用。打开命令行控制台,然后键入php -v
,以检查是否已正确配置PHP CLI安装。如果是,您应该在控制台中看到您的PHP版本输出。
执行CLI命令:
php ./tcpdf_addfont.php -b -t TrueTypeUnicode -f 32 -i FontAwesome.ttf
这将执行PHP并将FontAwesome.ttf
编译为三个输出文件,这些文件将
默认情况下放置在tcpdf/fonts/fontawesome.*
下。新添加的文件应为
fontawesome.php
,fontawesome.ctg.z
和fontawesome.z
。
// make sure "FontAwesome" is compiled truetype font family name
// in compiled file `tcpdf/fonts/fontawesome.php` - find line name='FontAwesome';
$pdf->AddFont('FontAwesome', '');
$pdf->SetFont('FontAwesome', '', 14, '', true);
// following works:
$pdf->SetFont('FontAwesome');
$pdf->writeHTML(""); // single icon
$pdf->writeHTML("2 icons:  "); // text "2 icons:" will show invalid chars
$pdf->writeHTMLCell(""); // three icons
// following does not work:
$pdf->SetFont('FontAwesome', '', 14, '', true);
// $pdf->Cell(0, 0, "\\xf0\xa4");
// $pdf->MultiCell(0, 0, "");
// mixing up non-font awesome text and normal text does not work either
// $pdf->writeHTML("<span style='font-family:FontAwesome;'>  </span>");
// after icons inserted, switch back to normal legible font
$pdf->SetFont('opensans', '');
$pdf->Cell(0, 0, "Continue normal text ..");
最后的笔记:
writeHtml
,writeHtmlCell
)进行。无法找出标准方法Cell, MultiCell ..
。$pdf->SetFont('FontAwesome');
,您就无法与普通的易读文本混淆-这些字符将显示为不易辨认的正方形。// disallow font subsets for all fonts (before adding first page)
$pdf->setFontSubsetting(false);
// or disallow font subset only for font awesome (first load)
$pdf->SetFont('FontAwesome', '', 20, '', false);
FontAwesome
将55 kb(3.2.1版)或125 kB(4.7.0版)文件添加到PDF文件中