Twitter bootstrap tcpdf中嵌入的字体图标

Twitter bootstrap tcpdf中嵌入的字体图标,twitter-bootstrap,font-awesome,tcpdf,Twitter Bootstrap,Font Awesome,Tcpdf,我正在使用TCPDF构建项目的打印输出。输出包括文本、表格和图像。我想在TCPDF引导样式中嵌入字体很棒的图标,例如: <i class="fa fa-fw fa-warning fa-lg text-warning"></i> 上面的行输出一个带有引导样式的感叹号(!)图标。 有人能告诉我这是否可行吗?如果是,您能告诉我如何使用。Font Awesome使用CSS“content”属性在标记的位置插入字符 我认为TCPDF不支持CSS属性 我使用TCPDF的add

我正在使用TCPDF构建项目的打印输出。输出包括文本、表格和图像。我想在TCPDF引导样式中嵌入字体很棒的图标,例如:

<i class="fa fa-fw fa-warning fa-lg text-warning"></i>

上面的行输出一个带有引导样式的感叹号(!)图标。
有人能告诉我这是否可行吗?如果是,您能告诉我如何使用。

Font Awesome使用CSS“content”属性在
标记的位置插入字符

我认为TCPDF不支持CSS属性

我使用TCPDF的addTTFfont函数添加了字体支持,然后使用了如下代码:

<span style="font-family:FontAwesome;font-size: 2em;">&#xf0a4;</span>
以下是如何在通过TCPDF呈现的PDF文件中使用字体图标的完整步骤(窗口):

  • 获取TrueType文件
    FontAwesome.ttf
    。此文件需要通过TCPDF随附的TCPDF实用工具
    TCPDF\u addfont.php
    编译。格式TTF可以与其他提供的web字体一起下载,例如EOT、WOFF、WOFF2、SVG-此处用于或

  • fontsawesome.ttf
    放入目录
    /tcpdf/tools/fontsawesome.ttf
    。此目录中还应包含实用程序文件
    tcpdf\u addfont.php

  • 现在我假设您的命令行可以与PHP一起正常工作。打开命令行控制台并键入
    php-v
    ,检查是否正确配置了php CLI安装。如果是,您应该在控制台中看到您的PHP版本输出

  • 执行CLI命令:

  • 这将执行PHP并将
    FontAwesome.ttf
    编译成三个输出文件,这将 默认情况下放置在
    tcpdf/fonts/fontsome.*
    下。应删除新添加的文件
    fontawesome.php
    fontawesome.ctg.z
    fontawesome.z

  • 使用HTML方法将图标插入PDF:
    • 嵌入
      FontAwesome
      可将大小为55 kb(3.2.1版)或125 kb(4.7.0版)的PDF文件添加到PDF中

    您是否尝试将FontAwesome字体转换/添加到您的TCPDF中,如本文所述?请看我对如何在TCPDF中使用FontAwesome字体的一个非常类似的问题的回答:尝试使用$html=';'$pdf->writeHTML($html,true,false,true,false,”);什么也没有happened@EvanR. 您还需要使用addttffont添加字体Awesome字体您能告诉我您是如何包含TTF字体的吗?我似乎无法让它发挥作用,可能会发布一个带有示例代码的问题。我想你已经看到了FontAwesome.ttf文件是从哪里来的?@bilogic我已经更新了1。段落-TTF通常与其他格式(EOT、SVG、WOFF等)一起提供,具体取决于FA版本,例如,您是否有与4.7.0相匹配的TCPDF版本?我在第777行的vendor/tecnickcom/tcpdf/include/tcpdf_fonts.PHP中不断收到警告
    PHP注意:未定义的偏移量:120
    ,3个输出文件不可用。我的意思是,文件在那里,但我的PDF没有正确显示图标。@bilogic您是否遵循了上述步骤?您需要将3个编译后的文件移动到具有其他字体的文件夹中,然后加载到TCPDF中,例如
    $pdf->SetFont('FontAwesome','',15',,false)并通过HTML实体使用插入,例如
    $pdf->writeHTML(;”)-在表格中查找所需的实体代码。4.7.0并没有匹配的TCPDF版本-上述步骤通常适用于任何FA版本。我目前有一组几年前的3个文件,可以使用我的TCPDF代码。使用
    addtfont()
    ,然后使用
    使用
    writeHTML()
    ,(
    SetFont()
    不需要)。但是现在运行
    tcpdf\u addfont.PHP时,
    PHP注意:
    ,生成的文件不起作用。你没有收到通知?
    .fa-hand-o-right:before {
        content: "\f0a4"
    }
    
    php ./tcpdf_addfont.php -b -t TrueTypeUnicode -f 32 -i FontAwesome.ttf
    
    // 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("&#xf03e;"); // single icon
    $pdf->writeHTML("2 icons: &#xf0a4; &#xf03e;"); // text "2 icons:" will show invalid chars
    $pdf->writeHTMLCell("&#xf0a4;&#xf01d;&#xf03e;"); // three icons
    
    // following does not work:
    $pdf->SetFont('FontAwesome', '', 14, '', true);
    // $pdf->Cell(0, 0, "\\xf0\xa4"); 
    // $pdf->MultiCell(0, 0, "&#xf03e;");
    // mixing up non-font awesome text and normal text does not work either
    // $pdf->writeHTML("<span style='font-family:FontAwesome;'> &#xf0a4; </span>");
    
    // after icons inserted, switch back to normal legible font
    $pdf->SetFont('opensans', ''); 
    $pdf->Cell(0, 0, "Continue normal text ..");
    
    // 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);