【问题标题】:Facing problem in TCPDF fonts style面临 TCPDF 字体样式的问题
【发布时间】:2011-08-14 09:42:26
【问题描述】:

一些字体,如 ArialMT、Arial-boldMT、PTSans-bold..

当我使用这种字体时

$pdf->SetFont("ArialMT", "", 22);

然后我得到了类似的错误..

TCPDF 错误:无法包含字体定义文件

当我看到TCPDF库的字体文件夹时,我看不到这种字体..

如何在TCPDF中安装此字体以解决错误并获得此字体的效果??

紧急求救..

提前谢谢你..

我在

中找到了一种解决方案
"fonts/utils/ttf2ufm.exe"
然后运行以下命令
1)$ ttf2ufm -a -F myfont.ttf 
2)$ php -q makefont .php myfont.ttf myfont.ufm 
第一个命令已成功执行,但第二个命令未在 windows 命令提示符中执行,所以告诉我我必须为 php 文件做什么,正如您在“comici.php”中指定的那样。

【问题讨论】:

    标签: php tcpdf


    【解决方案1】:

    试试这个

    $pdf->AddFont('Comic','I');
    // is equivalent to:
    $pdf->AddFont('Comic','I','comici.php');
    

    你会在这里找到教程。

    http://api.joomla.org/com-tecnick-tcpdf/TCPDF.html#AddFont

    【讨论】:

    • 我在“fonts/utils/ttf2ufm.exe”中找到了一种解决方案,然后按照命令 1)$ ttf2ufm -a -F myfont.ttf 和 2)$ php -q makefont.php myfont .ttf myfont.ufm 第一个命令已成功执行,但第二个命令未在 Windows 命令 promt 中执行,所以请告诉我您在“comici.php”中指定的 php 文件需要做什么..
    • 我遇到了问题。我无法执行我的 php 命令。为了执行 php 命令,我编辑了我的系统变量路径,在我的例子中它是 C:\wamp\bin\php\php5.2.9。然后我能够执行 php 命令。并再次重复相同的程序.. 它奏效了。
    【解决方案2】:

    您是否尝试过先添加字体?

    $pdf->AddFont("ArialMT", "", 22);
    

    如果这不起作用,您可以使用命令将字体包含在库中

    $fontname = TCPDF_FONTS::addTTFfont(FCPATH.'/assets/css/fonts/ArialMT.otf');
    

    为此,您需要拥有“otf”或“ttf”版本的字体并设置正确的目录。

    例如我正在使用:

    $fontname = TCPDF_FONTS::addTTFfont(FCPATH.'/assets/css/fonts/arialunicode050418/ArialUnicodeMS.otf');
    // This should be ran only once to include the font. You can comment it afterwards.
    
        $pdf->AddFont('ariaunicodems', '', 10, '',false);
        $pdf->SetFont('ariaunicodems', '', 10, '',false);
    

    您可以打印“fontname”变量来查看要添加或设置的字体的正确名称。它不响应字体文件的名称。

    【讨论】:

      【解决方案3】:

      TCPPDF 有一个工具 (tcpdf_addfont.php) 来安装位于 'your_path_to_tcpdf/tools/ ' 中的任何新字体 您可以使用以下命令将新字体安装到 TCPDF。

      path_to_tcpdf/tcpdf/tools/tcpdf_addfont.php -i path_to_ttf/ArialMT.ttf
      

      上面的代码几乎是不言自明的。 您可以使用 Google 搜索轻松下载任何字体的 True Type (ttf)。

      运行上述命令后,你会得到类似的输出:

      >>> Converting fonts for TCPDF:
      *** Output dir set to /path_to_tcpdf/tecnickcom/tcpdf/fonts/
      +++ OK   : path_to_ttf/ArialMT.ttf added as arial
      >>> Process successfully completed!
      

      现在在 TCPDF 中像使用其他字体一样使用此字体:

      $pdf->SetFont("arial", "", 22);
      

      【讨论】:

        【解决方案4】:

        您只需使用 TCPDF 创建一次字体文件。例如,这可以使用单独的 PDF 脚本来完成。 了解原始 ttf 的确切路径很重要,如有必要,请将其放置在服务器上的适当文件夹中。

        TCPPDF_FONTS::addTTFfont('ttf 文件的文件路径。', 'TrueTypeUnicode', '', 32);

        有关所有命令和详细信息,请参阅: https://stackoverflow.com/a/70337995/2320007

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-06-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多