2009-03-05 66 views

回答

48

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

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

1

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

阅读this link的代码

123

pdffonts命令行工具,最初是从Xpdf,现在Poppler一部分。

作为poppler-utils包的一部分,此工具在大多数Linux发行版中都可用。

用法示例输出:

$ 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 
+0

要避免linkrot,请包括一个示例和/或一些文档。 – 2014-01-28 18:49:56

+0

@jberger:好的,已完成 – vartec 2014-01-28 21:05:08

+0

在我的Lubuntu 14.10安装中,它似乎已被默认安装。 – DaAwesomeP 2015-03-22 22:41:33

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 
82

简单多了提取PDF字体(S),如果你只是想找出字体名称:从终端运行此操作

strings yourPDFfilepath.pdf | grep FontName 
相关问题