pdfbox:字体 ZapfDingbats 中没有 U+2714 的字形
pdfbox: No glyph for U+2714 in font ZapfDingbats
如果我使用下面的代码,那么我不会得到异常
pdPageContentStream.setFont(PDType1Font.ZAPF_DINGBATS, 10);
pdPageContentStream.beginText();
pdPageContentStream.newLineAtOffset(3, 4);
pdPageContentStream.showText("\u2714");
pdPageContentStream.endText();
但是如果我使用下面的代码然后我得到异常
PDType0Font font = null;
try(InputStream input = getClass().getClassLoader().
getResourceAsStream("ttf/zapfdingbatsRegular.ttf" )){
font = PDType0Font.load( pdDocument, input, false);
}
pdPageContentStream.setFont(font, 10);
pdPageContentStream.beginText();
pdPageContentStream.newLineAtOffset(3, 4);
pdPageContentStream.showText("\u2714");
pdPageContentStream.endText();
我需要第二个实现才能将我的 pdf 验证为 PDF/A。
有什么建议吗?
@mkl。你的评论对我帮助很大。我找到了另一个 ttf 文件,我意识到在新的 ttf 文件中,unicode 是不同的(0033 和 0037)。所以现在我设法解决了这个问题。
如果我使用下面的代码,那么我不会得到异常
pdPageContentStream.setFont(PDType1Font.ZAPF_DINGBATS, 10);
pdPageContentStream.beginText();
pdPageContentStream.newLineAtOffset(3, 4);
pdPageContentStream.showText("\u2714");
pdPageContentStream.endText();
但是如果我使用下面的代码然后我得到异常
PDType0Font font = null;
try(InputStream input = getClass().getClassLoader().
getResourceAsStream("ttf/zapfdingbatsRegular.ttf" )){
font = PDType0Font.load( pdDocument, input, false);
}
pdPageContentStream.setFont(font, 10);
pdPageContentStream.beginText();
pdPageContentStream.newLineAtOffset(3, 4);
pdPageContentStream.showText("\u2714");
pdPageContentStream.endText();
我需要第二个实现才能将我的 pdf 验证为 PDF/A。
有什么建议吗?
@mkl。你的评论对我帮助很大。我找到了另一个 ttf 文件,我意识到在新的 ttf 文件中,unicode 是不同的(0033 和 0037)。所以现在我设法解决了这个问题。