我需要使用PDFBOX(java)以正确的对齐方式绘制文本。

我目前正在使用ContentStream.drawString将文本绘制到pdf。我没有使用等宽字体,因此字符的宽度各不相同。

有任何想法吗?

最佳答案

简单的解决方案!

text_width = (myFont.getStringWidth(myString) / 1000.0f) * fontSize;
contentStream.moveTextPositionByAmount(-text_width, 0);
contentStream.drawString(myString);
contentStream.moveTextPositionByAmount(text_width, 0);

其中myFont =您使用的字体,fontSize是字体的大小,myString是您要绘制的文本行。

07-22 19:30