如何找出PDF文档中引用了哪些字体以及嵌入了哪些字体
我们对PDF文档中的字体有点问题。为了指出我想检查的问题,哪些字体实际上嵌入在pdf文档中,哪些仅被引用。有没有一种简单(和免费的一样便宜)的方法呢?使用免费的iText(如果您在.NET上,也可以使用iTextSharp),您可以编写一个实用程序,使用BaseFont.GetDocumentFonts方法为您提取此信息如何找出PDF文档中引用了哪些字体以及嵌入了哪些字体,pdf,fonts,Pdf,Fonts,我们对PDF文档中的字体有点问题。为了指出我想检查的问题,哪些字体实际上嵌入在pdf文档中,哪些仅被引用。有没有一种简单(和免费的一样便宜)的方法呢?使用免费的iText(如果您在.NET上,也可以使用iTextSharp),您可以编写一个实用程序,使用BaseFont.GetDocumentFonts方法为您提取此信息 阅读源于的命令行工具,现在是的一部分 此工具在大多数Linux发行版中作为poppler-utils包的一部分提供 使用和输出示例: $ pdffonts some.pdf
阅读源于的命令行工具,现在是的一部分 此工具在大多数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 Reader(如果愿意,也可以使用Foxit)。在生成的对话框中选择文件->属性,然后选择字体选项卡。您将看到字体列表。嵌入的字体将在字体名称后面的()中说明这一事实。有一个字体报告器,可作为命令行实用程序或通过库调用使用。如果运行“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中提取字体,这要简单得多:从终端运行此操作
strings yourPDFfilepath.pdf | grep FontName
Windows:findstr FontName YourPdfilePath.PdfDoe不适合我。(Mac和latex生成的PDF。)
pdffonts
显示两种嵌入式字体;这表明没有。显然,此方法有时有效,但不可靠。请尝试使用小写ffontName@texnic试试这个。右键单击并在文本编辑器(如记事本)中打开该文件,然后搜索FontName。为避免linkrot,请提供一个示例和/或一些文档。它似乎是默认安装在我的Lubuntu 14.10安装中的。对于mac用户,brew install poppler
,以轻松获取设备文档查看器中的pdffonts
命令,转到文件-->属性-->字体选项卡注意:在Windows上,Pdfonts可以作为Poppler Chocolate软件包无耻插件的一部分安装,但这是这里唯一返回证据的跨平台方法。另外,yeez,很酷的网站。