检查特定 PDF 页面中使用的字体类型

Sri*_*ava 5 fonts pdf adobe-reader

我必须检查.pdf包含大量页面的文档。我希望能够找到在哪个地方使用哪种字体类型,以检查整个文档的一致性。

Kur*_*fle 6

我的建议是从pdffonts实用程序开始。(稍后您可以使用更高级的工具,例如tetpdflib.com如果第一步对您来说不够用的话)。

pdffonts是一个可用于 Windows、Linux 和 Mac OS X 的命令行工具。它是 XPDF 的一部分(或作为 XPDF 分支称为“poppler”的替代实现)。在此处下载适用于 Windows 的 XPDF 实用程序(在 Linux 上,它们应该预装在大多数系统上)。

试试这个来熟悉这个工具(我假设你在 Windows 上):

pdffonts.exe -h
Run Code Online (Sandbox Code Playgroud)

然后,针对您的 PDF 文件运行它,以获得所有使用的字体的初步概览:

pdffonts.exe d:\path\to\your.pdf
Run Code Online (Sandbox Code Playgroud)

现在我们想看看第 11-13 页上有哪些字体:

pdffonts.exe -f 11 -l 13 d:\path\to\your.pdf
Run Code Online (Sandbox Code Playgroud)

您想要第 15 页上的字体吗?

pdffonts.exe -f 15 -l 15 d:\path\to\your.pdf
Run Code Online (Sandbox Code Playgroud)

或者您想要逐页使用的字体列表?好的,那么您需要知道您的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.) 
Run Code Online (Sandbox Code Playgroud)

在 Linux 上,将该命令更改为:

for i in $(seq 1 1234); do
    echo " Page ${i}:"
    echo " ============"
    pdffonts -f ${i} -l ${i} /path/to/your.pdf
    echo
done 
Run Code Online (Sandbox Code Playgroud)

您现在应该看到如下所示的输出:

 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
Run Code Online (Sandbox Code Playgroud)

有关不同列的确切含义,请参阅man pdffontsLinux 上的内容,或阅读pdfinfo.txtWindows 上的文本文件。


小智 0

据我所知,您可以在“字体”选项卡上的文档属性对话框(文件>属性,或 ctrl/cmd+D)中看到 pdf 中使用的字体列表。

但该列表并未指明在哪个页面上使用了特定字体,至少在 Adob​​e Reader 中没有。也许 Acrobat Pro 或其他 pdf 阅读器中有这样的选项?