Как узнать, на какие шрифты есть ссылки, а какие встроены в 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
Vartec
источник
чтобы избежать ротации ссылок, включите пример и / или какой-нибудь документ.
Джейк Бергер
Кажется, он был установлен по умолчанию в моей установке Lubuntu 14.10.
DaAwesomeP
8
Для пользователей Mac, brew install popplerчтобы легко получить pdffontsкоманду
Эдвард Ньюэлл
В средстве просмотра документов
evince
86

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

strings yourPDFfilepath.pdf | grep FontName
Michelem
источник
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
Крис Долан
источник
3

Вы можете извлечь шрифт (ы) из PDF с помощью онлайн-конвертера шрифтов

Стефан
источник
Бесстыдный плагин, но это единственный кроссплатформенный метод, который дает доказательства. Плюс, даааа, классный сайт.
commonpike
1

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

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

Рад
источник