我需要检查一份.pdf
包含大量页面的文档。我希望能够找到在哪个位置使用了哪种字体类型,以便检查整个文档的一致性。
答案1
我的建议是从pdffonts
实用程序开始。(稍后你可以转到更高级的工具,tet
例如pdflib.com如果第一步对您来说还不够的话)。
pdffonts
是适用于 Windows、Linux 和 Mac OS X 的命令行工具。它是 XPDF 的一部分(或来自 XPDF 分支“poppler”的替代实现)。下载适用于 Windows 的 XPDF 实用程序这里(在 Linux 上,它们应该在大多数系统上预先安装)。
尝试这个来熟悉该工具(我假设你使用的是 Windows):
pdffonts.exe -h
然后,对您的 PDF 文件运行该程序,以初步了解所使用的所有字体:
pdffonts.exe d:\path\to\your.pdf
现在我们想看看第 11 至 13 页有哪些字体:
pdffonts.exe -f 11 -l 13 d:\path\to\your.pdf
您想要第 15 页的字体吗?
pdffonts.exe -f 15 -l 15 d:\path\to\your.pdf
或者您想要逐页使用的字体列表?好的,那么您需要知道您的 PDF 有多少页。假设它有 1234 页:
for /l %i in (1,1,1234) do (echo. &^
echo. Page %i:&^
echo. ============&^
pdffonts -f %i -l %i d:\path\to\your.pdf&^
echo.)
在 Linux 上,将该命令更改为:
for i in $(seq 1 1234); do
echo " Page ${i}:"
echo " ============"
pdffonts -f ${i} -l ${i} /path/to/your.pdf
echo
done
您现在应该看到类似这样的输出:
Page 1:
============
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
DDPEFM+Helvetica Type 1C yes yes no 124352 0
DDPEIM+Helvetica-Bold Type 1C yes yes no 124354 0
Page 2:
============
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
DDPEIM+Helvetica-Bold Type 1C yes yes no 124354 0
DDPEFM+Helvetica Type 1C yes yes no 124352 0
Arial-BoldMT TrueType no no no 3543 0
ArialMT TrueType no no no 3541 0
Page 3:
============
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
DDPEFM+Helvetica Type 1C yes yes no 124352 0
DDPEIM+Helvetica-Bold Type 1C yes yes no 124354 0
Arial-BoldMT TrueType no no no 3543 0
ArialMT TrueType no no no 3541 0
要了解不同列的确切含义,请参见man pdffonts
Linux 上的说明,或阅读 Windows 上的文本文件pdfinfo.txt
。
答案2
据我所知,您可以在文档属性对话框(文件>属性,或 ctrl/cmd+D)的“字体”选项卡中看到 pdf 中使用的字体列表。
但是列表没有显示特定字体在哪个页面上使用,至少在 Adobe Reader 中没有。也许 Acrobat Pro 或其他 pdf 阅读器中有这样的选项?