在dompdf中添加新字体

5

要在DOMPdf中添加新的字体Arvo,我更新了文件dompdf_font_family_cache.dist,并添加了以下代码 -

'arvo' => 
array (
  'normal' => DOMPDF_FONT_DIR . 'Arvo-Regular',
  'bold' => DOMPDF_FONT_DIR . 'Arvo-Bold',
  'italic' => DOMPDF_FONT_DIR . 'Arvo-Italic',
  'bold_italic' => DOMPDF_FONT_DIR . 'Arvo-BoldItalic',
),

我在lib/fonts目录中包含了字体文件。 我在HTML中添加了样式表。
font-family: arvo;

但是在生成的PDF中没有添加新字体。 请帮助我解决这个问题。

你使用的是哪个版本的dompdf? - Fabien Ménager
1
你应该使用 load_font.php 或者是 (在 dompdf 0.6.0 beta 3 中) 位于 www/fonts.php 的基于 web 的安装程序,而不是手动修改 dompdf_font_family_cache。 - BrianS
是的,你说得对,我使用了load_font.php,现在字体在输出PDF中可以正常工作了。 - Raju Thakur
我该如何使用load_font.php?这意味着我应该在上述文件中放置我的字体名称在哪里? - Bajrang
当我使用基于Web的安装程序时,它会在“dompdf_config.custom.inc.php”中要求输入用户名和密码。 - Bajrang
3个回答

4
在我的情况下,我解决了这个问题:
  1. Installing load_font.php from here: https://github.com/dompdf/utils/blob/master/load_font.php

    1.1. Create a new file in your root folder from your project and save.

    1.2. Next, run this line in your command line: php load_font.php FONTNAME FONTPATH/fonts/EXAMPLEFONT.ttf

  2. Search and open the file dompdf_font_family_cache.php and update your file in this way (eg):

    'poppins' => 
    array(
    
    'normal' => $rootDir . '\lib\fonts\Poppins-Light_0',
    
    ),
    
  3. Go to your PDF and use your font.

这几个步骤或许可以解决问题。 :)

谢谢,解决了我的问题。顺便提一句,我不需要执行第二步 - 脚本已经自动完成了。 - Mark Parnell
嗨!这个答案对我很有帮助,但当我尝试生成我的PDF时,出现了一个解压错误。jeliasson在那个线程中的回答为我解决了这个问题:https://github.com/dompdf/php-font-lib/issues/47 - Alexandre Corvino
快到了,对我来说第二步根本不存在,但我不得不按照以下步骤进行操作:
  1. 将dompdf锁定到特定版本
  2. 在供应商文件夹中编辑installed-fonts-dist.json并添加: "autograf": { "normal": "Autograf", "bold": "Autograf", "italic": "Autograf", "bold_italic": "Autograf" }。
- undefined

3

不要手动修改dompdf_font_family_cache,你应该使用load_font.php或者(在dompdf 0.6.0 beta 3中)位于www/fonts.php的基于Web的安装程序。


1

对于使用WAMP/XAMPP等的Windows系统...

  1. 打开Windows命令提示符(Win+R->cmd)
  2. 进入C:\wamp\www\dompdf目录
  3. 将所需字体复制到该文件夹中
  4. 输入以下内容(以Consola和consola.ttf为例)

C:\wamp\www\bin\php\php5.4.3\php.exe load_font_php Consola consola.ttf


我正在使用dompdf作为一个更大框架的一部分,并且正在寻找一种手动添加新字体的方法。您的帖子给了我灵感,只需将dompdf取出并在其上运行安装程序,然后将整个文件夹放回文件夹中即可。非常感谢。 - Catalin Deaconescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接