如何知道在PDF文档的选定部分中使用了哪些字体


121

我使用Foxit Reader作为默认的PDF查看器。如何查看PDF文档中选定部分使用的字体类型?

(如果只能使用其他软件完成此操作,则我宁愿使用免费软件,因为我不想为仅查看所选字体的类型而付费。)


您的pdf是各种字体吗?
Ye Lin Aung 2010年

2
是的,其中有很多字体类型。
Mehper C. Palavuzlar,2010年

2
这很有趣,我今天有完全相同的问题。你省了我麻烦。:)
Sasha Chedygov

1
:)虽然,我们还没有解决方案。
Mehper C. Palavuzlar,2010年

2
superuser.com/questions/62562/…Rabarberski指出“我不想找到某段文字使用了哪种字体(我知道该怎么做)” ……
Arjan,2010年

Answers:


62

如果您使用的是PDF-XChange Viewer,请执行以下操作:

  1. 使用文本选择工具选择文本
  2. 右键单击选择
  3. 点击“文本属性...”
  4. 选择“格式”(在左侧)
  5. 所选文本的左侧有一个箭头(位于
    窗口的右侧)
  6. 您单击它,您会获得所需的所有信息。

在此处输入图片说明


5
完美的答案-PDF XChange Viewer是问题中要求的免费软件,它的功能远远超过Acrobat Reader。
Amos M. Carpenter

3
我认为这是应该接受的答案,因为它是免费的。
兰迪·利维

5
@Patrick:在Linux / BSD或OSX中不可用。
user2284570 2014年

在酒下它很好用。(它碰巧也是可以在Linux上使用并且使用pdf标准的最好(也是唯一的免费)pdf注释工具。)
Diagon

这对我来说非常有效,而且绝对可以在免费程序中找到。感谢分享!
莎拉·贝利

52

对于未加密的PDF,这很简单:

 strings my.pdf | grep FontName | cut -d '/' -f4

如果没有得到有意义的结果,请尝试删除“剪切”部分。


对于我来说,很难将字体链接到一个pdf中具有多种字体的正确文本。+1用于cli解决方案:)
Jarco 2013年

3
请注意:似乎这不适用于pdflatex生成的pdf。
PLL

1
这似乎对我也不起作用-它只是打印出来FontName FontName FontName
-fatuhoku

您能否解释一下此命令的作用?
Bobort

4
@fatuhoku,您需要选择正确的数字-f4。删除该cut部分,然后查看未切割的输出。
Aleksey Gureiev

51

在Foxit Reader和Adobe Reader中,如果都转到“ 文件”>“属性”,然后单击“ 字体”选项卡,您将能够看到该文档中可用字体的完整列表,但是,这些基本的PDF阅读器没有任何功能。这样一来,您就可以选择一些文本并查看该文本的属性,以准确查看其使用的字体。

为此,您需要Foxit PDF编辑器,Adobe Acrobat或其他一些PDF编辑器。


3
另外,如果PDF中嵌入了某些字体,则并不意味着它们实际上已在使用中。
user2284570 2014年

44

Adobe Acrobat X Pro(不是免费的)中,您可以使用“ 编辑文档文本”工具来查找有关字体的信息:

  1. 单击右上角文档菜单栏上的“ 工具 ”以显示工具的侧面菜单。
  2. 打开右侧栏中的“ 内容”区域,然后找到“ 编辑文档文本”工具。
  3. 选择一些文字
  4. 右键单击并选择属性...
  5. 属性对话框的“ 文本”选项卡显示字体(您也可以更改字体)

使用Adobe Acrobat 9 Pro的,您可以使用TouchUp文本工具,其下(发现工具 > 高级编辑 > TouchUp文本工具)。

这可能在其他Acrobat版本中也可以使用,但是该工具可能埋在Acrobat菜单中的其他位置。


Linux用户有替代品吗?
zygimantus

26

除了使用某些非常昂贵的商业PDF处理软件(例如Enfocus的PitStop或callas的pdfToolbox4)外,我不知道有什么方法可以做您想要的事情。

您可以获得的最接近的是pdffonts.exe命令行实用程序。该文件包含在基于XPDF的工具集中,可在此处找到:http : //www.foolabs.com/xpdf/download.html(下载:ftp : //ftp.foolabs.com/pub/xpdf/xpdfbin-win- 3.03.zip)。

如果你跑

pdffonts.exe -f 22 -l 22 c:\path\to\some\pdf.pdf

结果将显示在第22页上使用的所有字体。要查看整个文档中使用的所有字体,只需运行

pdffonts.exe c:\path\to\some\pdf.pdf

答案尚不清楚,但是该解决方案也可以在Linux上使用。尽管我的包管理器将xpdfreader.com称为xpdf的主页,但通常可通过包管理器获得xpdf。
卢卡斯

13

Libre Office http://www.libreoffice.org 不能很好地保留布局,但可以导入PDF文件。导入pdf后,如果单击文本块,它将告诉您所使用的字体。


2
在LibreOffice(Draw)中,如果尚未安装字体,则字体看起来会有所不同,但是字体选择器会向您显示所选块的字体。最佳答案:自由和轻松:-)
亚历山大·陶本科比

由于LibreOffice坚持要在Writer中而不是Draw中打开PDF,因此在Mac上将无法使用。
Dɑvïd

在Mac上为我的pdf工作
令人讨厌的

10

如果您的计算机上安装了字体,那么也许将文本复制到某些文字处理程序可以解决问题?即使未安装,某些文字处理程序仍可能在其字体对话框中显示请求的名称。

(除此之外,如果值得的话,截屏和WhatTheFont!可能会有所帮助。或者选择文本,然后将所选内容“打印”到新的PDF文档中,然后查看其字体属性显示什么?)


我的朋友也提出了同样的想法,并且似乎在工作,对此表示赞同。但是-WhatTheFont根本没有帮助。首先,您必须做很多手工工作来验证从图像中提取的字符。最后...“未找到匹配项”。
Veverke '17

9

同时,我发现了一种不同的方法来列出PDF中使用的字体(并指示是否嵌入字体),该方法仅使用Ghostscript(不需要其他第三方实用程序)。不幸的是,这也不能满足您了解用于突出显示文本的字体的要求。

该方法使用了一个用PostScript编写的实用工具程序,其中附带了Ghostscript的源代码。看在toolbin子目录的pdf_info.ps文件。

包含的注释说您应该像这样运行它,以便列出使用的字体,使用的介质大小

gs -dNODISPLAY ^
   -q ^
   -sFile=____.pdf ^
   [-dDumpMediaSizes] ^
   [-dDumpFontsUsed [-dShowEmbeddedFonts]] ^
   toolbin/pdf_info.ps

我确实在本地示例文件上运行了它。结果如下:

C:\> gswin32c ^
      -dNODISPLAY ^
      -q ^
      -sFile=SHARE.pdf ^
      -dDumpMediaSizes ^
      -dDumpFontsUsed ^
      -dShowEmbeddedFonts ^
      C:\\pa\\gs\\gs8.64\\lib\\pdf_info.ps

SHARE.pdf has 12 pages.
Title: SHARE_Information_070808.indd
Creator: Adobe InDesign CS2 (4.0)
Producer: Adobe PDF Library 7.0
CreationDate: D:20080808103516+02'00'
ModDate: D:20080808103534+02'00'
Trapped: False

Page 1 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 2 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 3 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 4 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 5 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 6 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 7 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 8 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 9 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 10 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 11 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]
Page 12 MediaBox: [ 595.276 841.89 ] CropBox: [ 595.276 841.89 ]

Font or CIDFont resources used:
DKCTOS+FrutigerLT-BlackCn
DKCTOS+FrutigerLT-BoldItalic
DKCTOS+Wingdings3
TIELEM+FrutigerLT-Black
TIELEM+FrutigerLT-Bold
TIELEM+FrutigerLT-BoldCn
TIELEM+FrutigerLT-Cn
TIELEM+FrutigerLT-Italic
TIELEM+FrutigerLT-UltraBlack
TIELEM+TimesNewRomanPS-BoldItalicMT

在/usr/share/ghostscript/9.18/lib目录(Ubuntu)中不再找到pdf_info.ps。另外,在git上找不到它。还有其他想法吗?
对角线

6

听起来像Adobe Reader中的“字体”选项卡是一个简单的解决方案。

但是另一种方法是选择文本,然后复制并粘贴到Word中,如果它像我一样复制格式,则应该能够确定Word中的前部。


没有!字体选项卡列出了嵌入PDF文件中的字体,并不表示已使用它们。
user2284570

5

Rowan的答案很好,如果您确实需要将其缩小到复杂文档的一小部分,请尝试将子集重新打印到另一个PDF(如果您没有这样的打印机,则可以使用免费的出色PDF打印机),并检查结果文件的字体属性。


4

一个更简单的解决方案是使用Adobe Reader X并右键单击文档中的任何位置,选择“文档属性”,然后单击选项卡“字体”。在此处,您会看到文档中使用的所有字体的列表。


1
这是否适用于根据OP的问题选择的文档部分或整个文档?
Tog

这是整个文档的列表,是的,但是在遇到与OP相同的问题后,我自己使用了它,并且效果很好。但是,如果文档中使用了大量不同字体,那将是一个问题。
andli 2013年

2
@andeh:不!此列表列出了嵌入PDF文件中的字体,并不意味着它们已被使用。
user2284570

3

另一个解决方案是使用打开PDF文件Adobe Illustrator如果未简化字体,您将能够知道所使用的字体。


如果未安装字体,则将在“缺少字体”窗口中看到其名称。完美的解决方案。
xApple

1

在Adobe Reader XI中,转到“文件”->“属性”,然后单击“字体”选项卡。他们都在那里。超级简单,免费

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.