почему и pdfbox, и pdfrenderer не могут поддерживать «Дополнительные шрифты»? - PullRequest
0 голосов
/ 30 марта 2010

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

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

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

1 Ответ

2 голосов
/ 08 июля 2010

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

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

  1. PDFDocEncoding
  2. MacRomanEncoding
  3. Стандартное кодирование
  4. WinAnsiEncoding

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

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

Для получения дополнительной информации о шрифтах в документах PDF см. Раздел 9.5–9.8 спецификации PDF

...