PDFBox IllegalArgumentException: без символов в шрифтах - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь записать PDF в шрифте Webdings, используя PDFBox. То, что я хотел бы видеть, является символом, который представлен символом A в Webdings. Однако я получаю исключение IllegalArgumentException, в котором говорится, что в моем шрифте нет символа для данного символа. Я что-то упускаю из-за кодирования или просто не поддерживается Webdings?

Я использую PDFBox 2.0.17, многие решения подобных проблем кажутся устаревшими. Я могу проверить Webdings в инструменте Character Map, и он работает в таких программах, как word. Реальная проблема, которую я имею, не с Webdings, а другим непубличным шрифтом, и у меня нет никаких альтернатив этому. Использование Webdings в качестве шаблона проблемы выглядит одинаково.

PDFont font = PDFontType0Font.load(doc, new File("pathToWebdings.ttf"));
PDPageContentStream cos = new PDPageContentStream(doc, page, AppendMode.APPEND, true);
PDStreamUtils.write(cos,"a", font, 100, 100, 100, Color.BLACK);
cos.close();

java.lang.IllegalArgumentException: нет символа для U + 0061 (a) в шрифте Webdings

1 Ответ

1 голос
/ 22 октября 2019

Я посмотрел на него с DTL OTMaster 3.7 light (это бесплатно и очень полезно), галочка будет работать с \uf061 со шрифтом webdings (протестировано в Windows 10).

enter image description here (скриншот выглядит немного странно, потому что у меня монитор 4K)

В качестве альтернативы, используйте PDType1Font.ZAPF_DINGBATS, а затем \u2714 также будет работать.

...