如何找出引用的字体以及嵌入在PDF文档中的字体

时间:2009-03-05 12:44:46

标签: pdf fonts

PDF文档中的字体有点问题。为了解决我想检查的问题,哪些字体实际嵌入在pdf文档中,哪些字体仅被引用。是否有一种简单(廉价和免费)的方式来做到这一点?

6 个答案:

答案 0 :(得分:134)

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

答案 1 :(得分:85)

如果您只是想找出字体名称,那就更简单了:从终端运行

strings yourPDFfilepath.pdf | grep FontName

答案 2 :(得分:48)

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

使用普通的Adobe Reader(如果您愿意,可以使用Foxit)。在生成的Dialog上选择File-> Properties,选择Font选项卡。您将看到一个字体列表。嵌入的那些将在()后面的字体名称中声明这个事实。

答案 3 :(得分:5)

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

答案 4 :(得分:4)

您可以使用Online Font Converter

从PDF中提取字体

答案 5 :(得分:1)

使用免费的iText(或者如果您使用的是iTextSharp),您可以编写一个实用程序,使用BaseFont.GetDocumentFonts方法为您提取此信息。

阅读this link代码