【发布时间】:2010-10-11 12:09:25
【问题描述】:
我们对 PDF 文档中的字体有一点问题。为了解决我想检查的问题,哪些字体实际上嵌入在 pdf 文档中,哪些仅被引用。有没有一种简单(而且像免费一样便宜)的方法来做到这一点?
【问题讨论】:
我们对 PDF 文档中的字体有一点问题。为了解决我想检查的问题,哪些字体实际上嵌入在 pdf 文档中,哪些仅被引用。有没有一种简单(而且像免费一样便宜)的方法来做到这一点?
【问题讨论】:
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
【讨论】:
brew install poppler轻松获取pdffonts命令
如果你只是想找出字体名称就简单多了:从终端运行
strings yourPDFfilepath.pdf | grep FontName
【讨论】:
pdffonts 显示两种嵌入字体;这没有显示。显然,这种方法有时会奏效,但并不可靠。
FontName 在我刚刚尝试过的 PDF 中找不到。刚找grep -i font给了:/BaseFont /Helvetica
我终于得到了一个实际上似乎嵌入了字体的示例文件。
使用普通的 Adobe Reader(如果您愿意,也可以使用 Foxit)。在结果对话框中选择文件-> 属性,选择字体选项卡。您将看到字体列表。嵌入的将在字体名称后面的 ( ) 中说明这一事实。
【讨论】:
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
【讨论】: