我使用iText库为额外的信息加盖现有的PDF文件。 额外信息是应以自定义TTF字体呈现的文本。iText嵌入式ttf字体在Adobe Reader中不可见
问题是,文本不是仅在ADOBE READER可见。 其他PDF阅读器(例如Ubuntu中的默认eVince阅读器和Google在线PDF阅读器)可以使用自定义嵌入字体中的加盖文本。
我试过多种编码,如CP1251,BaseFont.Identity_H,...
神奇在哪里发生的代码:
PdfReader pdfReader = new PdfReader(new FileInputStream(inputPdf));
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("stamped.pdf"));
PdfContentByte canvas = pdfStamper.getOverContent(1);
String text = "The stamp";
BaseFont bf = BaseFont.createFont("assign.ttf", "Cp1251",BaseFont.EMBEDDED);
canvas.beginText();
canvas.setColorFill(BaseColor.BLUE);
canvas.setFontAndSize(bf, 13);
canvas.moveText(310, 600);
canvas.showText(text);
pdfStamper.close();
当你去到文档>属性,打开字体选项卡,你看到了什么?你看到字体吗? –
我看到了问题:您可能正在使用iText的过时版本! –