PDFBOX中的右对齐文本?
-
20-12-2019 - |
题
我需要使用pdfbox(Java)绘制正确对齐的文本。
我目前正在使用contentstream.drawstring绘制文本到PDF。我不使用Monospace字体,所以字符的宽度变化。
任何想法?
解决方案
易解决方案!
text_width = (myFont.getStringWidth(myString) / 1000.0f) * fontSize;
contentStream.moveTextPositionByAmount(-text_width, 0);
contentStream.drawString(myString);
contentStream.moveTextPositionByAmount(text_width, 0);
.
其中myfont=您使用的字体,Fontsize是字体的大小,myString是您要绘制的文本行。
其他提示
我从@ mirror31中的答案
float pagewidth = page.getMediaBox().getWidth();
float text_width = (font.getStringWidth(text) / 1000.0f) * size;
float x = pagewidth - ((paddingRight * 2) + text_width);
contentStream.newLineAtOffset(x, 0);
contentStream.setFont(font, size);
contentStream.showText(text);
contentStream.newLineAtOffset(-x, 0);
.
我希望这可以帮助某人
不隶属于 StackOverflow