Как узнать, на какие шрифты есть ссылки, а какие встроены в PDF-документ


105

У нас небольшая проблема со шрифтами в PDF-документах. Чтобы понять проблему, я хотел бы проверить, какие шрифты фактически встроены в документ pdf, а на какие есть только ссылки. Есть ли простой (и дешевый, как бесплатный) способ сделать это?

Ответы:


144

pdffontsинструмент командной строки изначально из Xpdf , теперь часть Poppler .

Этот инструмент доступен в большинстве дистрибутивов 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

чтобы избежать ротации ссылок, включите пример и / или какой-нибудь документ.
Джейк Бергер

Кажется, он был установлен по умолчанию в моей установке Lubuntu 14.10.
DaAwesomeP

8
Для пользователей Mac, brew install popplerчтобы легко получить pdffontsкоманду
Эдвард Ньюэлл

В средстве просмотра документов
evince

86

Гораздо проще, если вы просто хотите узнать названия шрифтов: запустите это с терминала

strings yourPDFfilepath.pdf | grep FontName

12
Windows: findstr FontName yourPDFfilepath.pdf
Крейго,

11
У меня не работает. (Mac с PDF-файлом, созданным с помощью латекса.) pdffontsПоказывает два встроенных шрифта; это не показывает ничего. Очевидно, что иногда этот метод работает, но ненадежен.
Майк

попробуйте использовать строчную букву f в fontName
Кен Аспеслаг,

@texnic Попробуйте это. Щелкните правой кнопкой мыши и откройте файл в текстовом редакторе (например, в Блокноте) и найдите FontName.
Кевин Ли

50

Наконец-то я получил файл-пример, в который действительно встроены шрифты.

Используя обычный Adobe Reader (или Foxit, если хотите). В появившемся диалоговом окне выберите File-> Properties и выберите вкладку Font. Вы увидите список шрифтов. Те, которые встроены, укажут этот факт в () после имени шрифта.


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


1

используя бесплатный iText (или iTextSharp, если вы используете .NET), вы можете написать служебную программу, которая будет извлекать эту информацию с помощью метода BaseFont.GetDocumentFonts.

Прочтите эту ссылку для кода

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.