使用 PDFBox 设置字符间距

Setting character spacing with PDFBox

我目前正在使用 Java 和 PDFBox 库即时创建一些 PDF。

我需要能够设置某些文本的字符 spacing/tracking,但似乎无法弄清楚。

看起来有一种方法可以这样做:http://ci.apache.org/projects/pdfbox/javadoc/index.html?org/apache/pdfbox/util/operator/SetCharSpacing.html

但我不太确定如何在这种情况下应用它。

cs.beginText();
cs.setFont( font, fontSize );
cs.setNonStrokingColor(color);
cs.moveTextPositionByAmount(position[0], position[1]);
cs.drawString(text);
cs.endText();

如有任何帮助,我们将不胜感激!谢谢

你需要用困难的方式来做,因为 PDPageContentStream 不支持 "Tc" 运算符 class:

cs.appendRawCommands("0.25 Tc\n");

您提到的 SetCharSpacing 方法用于解析现有的 PDF。

PS: 写入内容流后别忘了调用close!

PPS: setCharacterSpacing() 在 2.0.4 及更高版本中可用。