почему и pdfbox, и pdfrenderer не могут поддерживать “Дополнительные шрифты”?

StackOverflow https://stackoverflow.com/questions/2543517

Вопрос

У меня есть PDF-файл, содержащий шрифт 'UniCNS-UCS2-H', Я пробовал как pdfbox, так и pdfrenderer, все они выдают исключение:Неизвестная кодировка для 'UniCNS-UCS2-H'

и этот шрифт был включен в файл шрифтов: mingliu.ttc (это файл коллекции true type, я не знаю, имеет ли это значение?

что я могу сделать, чтобы эти две библиотеки поддерживали дополнительные шрифты?

Это было полезно?

Решение

Кодировка шрифта в PDF-документах указывается в объекте font dictionary (словарь шрифтов).Шрифт, с которым вы сталкиваетесь, закодирован с использованием 'UniCNS-UCS2-H', который, насколько я могу судить, является вариантом китайской кодировки.

PDFBox поддерживает только 4 кодировки:

  1. pdfдокодирование
  2. Макроманенкодирование
  3. Стандартное кодирование
  4. WinAnsiEncoding - кодирование

Они определены в объекте словаря шрифтов внутри потока pdf
(например, .../Encoding/WinAnsiEncoding/...)

Когда PDFBox обнаруживает неизвестную кодировку, отображается исключение, о котором вы сообщили.

Дополнительные сведения о шрифтах в PDF-документах см. в разделах 9.5 - 9.8 руководства. Спецификация в формате PDF

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top