我正在根据用户输入创建PDF,用户可以使用以下代码输入英文或中文文本
contentStream.beginText();
contentStream.setFont(font, fontSize);
contentStream.newLineAtOffset(startX, startY);
contentStream.showText(text);
contentStream.endText();
我收到错误
java.lang.IllegalArgumentException: No glyph for U+7B11 in font OpenSans-Regular
at org.apache.pdfbox.pdmodel.font.PDCIDFontType2.encode(PDCIDFontType2.java:363)
at org.apache.pdfbox.pdmodel.font.PDType0Font.encode(PDType0Font.java:398)
at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:323)
at org.apache.pdfbox.pdmodel.PDPageContentStream.showTextInternal(PDPageContentStream.java:508)
at org.apache.pdfbox.pdmodel.PDPageContentStream.showText(PDPageContentStream.java:471)
字体是OpenSans-Regular。此字体不包含笑解千
如何将回退字体添加到PDFBox中,以便如果找不到一种字体的字形,可以使用另一种字体?
版本:pdfbox-2.0.9
添加如下字体
PDFont openSansRegular = PDType0Font.load(document, MyLayout.class.getResourceAsStream(OPENSANS_REGULAR_PATH));