如何找出 PDF 文档中引用了哪些字体以及嵌入了哪些字体
Posted
技术标签:
【中文标题】如何找出 PDF 文档中引用了哪些字体以及嵌入了哪些字体【英文标题】:How to find out which fonts are referenced and which are embedded in a PDF document 【发布时间】:2010-10-11 12:09:25 【问题描述】:我们对 PDF 文档中的字体有一点问题。为了解决我想检查的问题,哪些字体实际上嵌入在 pdf 文档中,哪些仅被引用。有没有一种简单(而且像免费一样便宜)的方法来做到这一点?
【问题讨论】:
【参考方案1】:pdffonts
命令行工具最初来自Xpdf,现在是Poppler 的一部分。
这个工具在大多数 Linux 发行版中都作为poppler-utils
包的一部分提供。
示例用法和输出:
$ pdffonts some.pdf
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
BAAAAA+Arial-Black TrueType yes yes yes 53 0
CAAAAA+Tahoma TrueType yes yes yes 28 0
DAAAAA+Wingdings-Regular TrueType yes yes yes 43 0
EAAAAA+Webdings TrueType yes yes yes 38 0
FAAAAA+Arial-BoldMT TrueType yes yes yes 33 0
GAAAAA+Tahoma-Bold TrueType yes yes yes 23 0
HAAAAA+OpenSymbol TrueType yes yes yes 48 0
【讨论】:
为避免链接腐烂,请提供示例和/或一些文档。 它似乎已经默认安装在我的 Lubuntu 14.10 安装中。 mac用户,brew install poppler
轻松获取pdffonts
命令
在 evince 文档查看器中,转到文件 --> 属性 --> 字体选项卡
注意:在 Windows 上,pdffonts 可以作为 Poppler 巧克力包的一部分安装chocolatey.org/packages/poppler【参考方案2】:
如果你只是想找出字体名称就简单多了:从终端运行
strings yourPDFfilepath.pdf | grep FontName
【讨论】:
Windows:findstr FontName yourPDFfilepath.pdf 对我不起作用。 (Mac 使用 Latex 生成的 PDF。)pdffonts
显示两种嵌入字体;这没有显示。显然,这种方法有时会奏效,但并不可靠。
尝试在 fontName 上使用小写 f
@texnic 试试这个。右键单击并在文本编辑器(例如记事本)中打开文件并搜索 FontName。
FontName
在我刚刚尝试过的 PDF 中找不到。刚找grep -i font
给了:/BaseFont /Helvetica
【参考方案3】:
我终于得到了一个实际上似乎嵌入了字体的示例文件。
使用普通的 Adobe Reader(如果您愿意,也可以使用 Foxit)。在结果对话框中选择文件-> 属性,选择字体选项卡。您将看到字体列表。嵌入的将在字体名称后面的 ( ) 中说明这一事实。
【讨论】:
Mac版有这个标签吗?我找不到它,我有一台 Mac):【参考方案4】:CAM::PDF 有一个字体报告器,可作为命令行实用程序或通过库调用使用。如果你运行“listfont.pl file.pdf”,你会得到这样的输出:
Page 1:
Name: F1.0
Type: TrueType
BaseFont: NZUXSR+Impact
Encoding: MacRomanEncoding
Widths: yes
Characters: 0-255
Embedded: yes
Name: F2.0
Type: TrueType
BaseFont: XSFKRA+ArialMT
Encoding: MacRomanEncoding
Widths: yes
Characters: 0-255
Embedded: yes
【讨论】:
以上是关于如何找出 PDF 文档中引用了哪些字体以及嵌入了哪些字体的主要内容,如果未能解决你的问题,请参考以下文章