我正在尝试使用itext从pdf文件创建pdf / a文件。一切顺利,我得到一个pdf / a文件。但是当我在这里检查http://www.pdf-tools.com/pdf/validate-pdfa-online.aspx时,我收到类似
的错误The width for character 1 in font 'ArialRegular' does not match.
The width for character 2 in font 'ArialRegular' does not match.
The width for character 3 in font 'ArialRegular' does not match.
我怎么能解决这个错误?
PdfReader pdfReader = new PdfReader(file);
FontFactory.defaultEmbedding = true;
BaseFont bf = BaseFont.createFont(FONT, BaseFont.CP1252, BaseFont.EMBEDDED);
while (currentpagenumber < pdfReader.getNumberOfPages()) {
document.newPage();
currentpagenumber++;
finalpagenumber++;
page = pdfAWriter.getImportedPage(pdfReader, currentpagenumber);
cb.addTemplate(page, 0, 0);
cb.beginText();
cb.setFontAndSize(bf, 18);
cb.showTextAligned(PdfContentByte.ALIGN_CENTER, finalpagenumber+"", 520, 5, 0);
cb.endText();
ICC_Profile icc = ICC_Profile.getInstance(new FileInputStream(PROFILE));
这是基本代码。我也尝试使用pdfdictionary找到每个页面中使用的字体..并尝试将其作为基本字体嵌入..但无法工作..
答案 0 :(得分:0)
以前从未使用过IText,但现在只是看着进行类似的转换,它似乎是库中的错误,而不是你使用它的方式。 我能给你的最佳选择是报告一个错误: http://sourceforge.net/p/itext/bugs/ IText邮件列表也是另一个值得尝试的地方。
md_5