我正在尝试使用PDF渲染一些文本。以下是该示例的伪代码:
PDFont formFont = PDType0Font.load(doc, new FileInputStream(fontFile), true);
String fontName = resources.add(formFont).getName();
PDPageContentStream stream = new PDPageContentStream(doc, doc.getPage(0));
stream.setFont(formFont, 12);
stream.beginText();
stream.moveTextPositionByAmount(30, 600);
stream.drawString("ABCDEFGHIJKLMNOPQRSTUVWXYZ TA ATTWA");
stream.moveTextPositionByAmount(0, -20);
stream.drawString("abcdefghijklmnopqrstuvwxyz");
stream.moveTextPositionByAmount(0, -20);
stream.drawString("0123456789");
stream.endText();
stream.close();
doc.save("/Users/Simple.pdf");
麻烦的是输出文件看起来不正确。看起来PDFBox无法使用字体的字距调整信息。我不确定是否需要设置一些明确的参数来要求PDFBox正确呈现字体。
请在以下位置找到示例PDF:https://nofile.io/f/b3D1E47zFZV/Simple.pdf
其外观应为:https://nofile.io/f/BxpVVskgszn/kerned.pdf(由文字生成并以PDF格式打印)。
在这方面的任何建议都将不胜感激。
谢谢!