У нас небольшая проблема со шрифтами в PDF-документах. Чтобы понять проблему, я хотел бы проверить, какие шрифты фактически встроены в документ pdf, а на какие есть только ссылки. Есть ли простой (и дешевый, как бесплатный) способ сделать это?
У нас небольшая проблема со шрифтами в PDF-документах. Чтобы понять проблему, я хотел бы проверить, какие шрифты фактически встроены в документ pdf, а на какие есть только ссылки. Есть ли простой (и дешевый, как бесплатный) способ сделать это?
Ответы:
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
brew install poppler
чтобы легко получить pdffonts
команду
Гораздо проще, если вы просто хотите узнать названия шрифтов: запустите это с терминала
strings yourPDFfilepath.pdf | grep FontName
pdffonts
Показывает два встроенных шрифта; это не показывает ничего. Очевидно, что иногда этот метод работает, но ненадежен.
Наконец-то я получил файл-пример, в который действительно встроены шрифты.
Используя обычный Adobe Reader (или Foxit, если хотите). В появившемся диалоговом окне выберите File-> Properties и выберите вкладку Font. Вы увидите список шрифтов. Те, которые встроены, укажут этот факт в () после имени шрифта.
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
Вы можете извлечь шрифт (ы) из PDF с помощью онлайн-конвертера шрифтов
используя бесплатный iText (или iTextSharp, если вы используете .NET), вы можете написать служебную программу, которая будет извлекать эту информацию с помощью метода BaseFont.GetDocumentFonts.
Прочтите эту ссылку для кода