2016-05-09 6 views
0

У меня есть огромный список типов PDF шрифтов, здесь у вас есть часть этого:Понимание PDF шрифт

'/ANHCHM+Helvetica-Bold', 
'/KOFANE+AGaramondPro-Regular', 
'/AJHCPE+AdvOT863180fb', 
'/FHEENC+AdvP4C4E74', 
'/FCHDEE+AdvTimes-bi', 
'/EKIEME+Helvetica', 
'/OEPPAM+AdvOT8608a8d1+22', 
'/PNLJMH+MqxhpfAdvTT4ff65459', 
'/MLJNOB+Helvetica-Bold', 
'/FCHAFA+AdvTT689d5d16.B+20' 

Некоторые из них являются вполне читаемым, такие как «Helvetica-Bold» или «Helvetica», но другие полностью закодированы.

Мне нужно узнать из этого списка информацию, как: если она выделена жирным шрифтом или нет, если она выделена курсивом или нет, размер текста, и если возможно более читаемый формат шрифта, например «Times New Roman», «Arial», ,

Знаете ли вы библиотеки, которые это делают, или вы можете рассказать мне, что является логикой этих странных имен?

Спасибо!

ответ

0

Это идентификаторы шрифтов в словаре/Resources, их имя не имеет значения.
Вы должны заглянуть в словарь шрифтов, дескриптор шрифта и, возможно, фактические данные шрифта (если шрифт встроен) для информации, которую вы ищете.

Полужирный: - Не существует специального флага, указывающего, выделен ли шрифт или нет/BaseFont в словаре шрифтов может дать вам подсказку/запись FontWeight в дескрипторе шрифта также может дать подсказку.
italic -/ItalicAngle запись в дескрипторе шрифта может предоставить эту информацию. Также запись/BaseFont может дать вам подсказку (если имена содержат курсивные или наклонные слова)
размер текста - вам нужно проанализировать содержимое страницы, чтобы найти размер для конкретного экземпляра текста.
читаемое имя шрифта -/Запись BaseFont обычно содержит имя шрифта. Но приложение-генератор PDF может создать настраиваемое имя для подмножества шрифтов, чтобы вы не знали оригинальный шрифт. Вы можете дополнительно проверить запись/FontFamily в дескрипторе шрифта или вы можете проанализировать фактические данные шрифта для информации о имени шрифта.

+0

Что я написал на самом деле в записи BaseFont в словаре шрифтов –

+0

@RoxanaIstrate * Фактически запись BaseFont * - все еще это имя. Исходный «XXXXXX-» - это намек на то, что это встроенные подмножества шрифтов. Впоследствии эта часть является исходным именем шрифта. И имена могут быть довольно произвольными, и никто не должен называть их шрифт по-своему, тонкий шрифт можно назвать «черным» или «полужирным», прямой можно назвать «Oblique». Интерпретация этих имен в лучшем случае является просвещенной догадкой. – mkl

+0

@mkl Спасибо! Теперь я вижу. Поэтому использование этого не является надежным. –

Смежные вопросы