如何找出哪些字体被引用,哪些字体被嵌入到 PDF 文档中

我们在 PDF 文档的字体方面遇到了一些小问题。为了解决这个问题,我想检查一下,哪些字体实际上嵌入在 pdf 文档中,哪些只是引用。有没有一种简单(和免费一样便宜)的方法可以做到这一点?

96159 次浏览

pdffonts命令行工具最初来自 Xpdf,现在是 波普勒的一部分。

这个工具可以在大多数 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

我终于得到了一个示例文件,实际上似乎有字体嵌入。

使用普通的 Adobe 阅读器(如果你愿意,也可以使用 Foxit)。在结果对话框中选择 File-> Properties 选择 Font 选项卡。您将看到一个字体列表。嵌入的字体将在字体名称后面的()中说明这一事实。

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

如果您只是想找出字体名称,那么简单得多: 从终端运行此命令

strings yourPDFfilepath.pdf | grep FontName