Доступ к файлам шрифтов в формате PDF

в настоящее время мы работаем с выбором издателей для создания онлайн-книг из их PDF-файлов. Наше устаревшее приложение использует flex, поэтому для этого мы конвертируем PDF в SWF-файлы с помощью PDF2SWF by SWFTools.

проблема, с которой мы сталкиваемся, заключается в том, что текст в документе SWF не выделяется нашим Flex reader, когда пользователь выполняет поиск. После быстрого исследования мы обнаружили, что при извлечении текста нам нужно встроить шрифты, используемые PDF-документом:

http://wiki.swftools.org/wiki/How_do_I_highlight_text_in_the_SWF%3F

pdf2swf -F $YOUR_FONTS_DIR$ -f input.pdf -o output.swf

Как вы можете видеть из кода выше, нам нужен путь к каталогу шрифтов containig шрифты, найденные в этом PDF.

поскольку мы будем конвертировать большое количество PDF-файлов, можно ли получить доступ к файлам шрифтов непосредственно через PDF, а не иметь много шрифтов, хранящихся в нашем приложение?

Дополнительная Информация

наше приложение написано на Java.

в настоящее время мы используем PDFBox и Ghostscript в приложении, поэтому, если какие-либо решения используют эти библиотеки, это будет предпочтительным вариантом, но мы открыты для всех идей.

1 ответов


PDF-файлы не содержат шрифтов "файлы" они могут даже не содержать никаких шрифтов вообще, хотя это редко. Встроенные данные шрифта могут быть в самых разных форматах:

  • введите 1 шрифт PostScript
  • Тип 3 PostScript
  • шрифты TrueType шрифты
  • шрифты PostScript CFF
  • CIDFonts с типом 1 PostScript контуры
  • CIDFonts с типом 3 PostScript контуры
  • CIDFonts с TrueType очертания
  • CIDFonts с контурами CFF
  • CIDFonts с растровыми изображениями

сможет ли ваше приложение читать все эти форматы шрифтов ? Если вы хотите использовать их, то вы должны используйте шрифты, встроенные в PDF-файл, поскольку они очень часто будут шрифтами подмножества и снабжены пользовательской кодировкой, что означает, что даже если у вас есть исходный шрифт, вы не можете его использовать, потому что кодировка не будет правильный.

конечно, может быть, что эти PDF-файлы все созданы последовательным образом и не используют встроенные шрифты, но у меня есть сомнения....