如何(水平)对齐 PDFBox 中 PDTextField 的文本?

2022-01-13 00:00:00 pdf textbox text-alignment java pdfbox

我有一个程序可以在 PDF 文件中创建文本字段,以便将其用作表单.我想让我在我创建的 TextFields 中写的文本居中.这怎么可能?我的代码目前如下所示:

I have a program that create TextFields inside a PDF-file so it can be used as a form. I would like to have the text I write in the TextFields I created to be centered though. How is that possible? My code currently looks like this:

PDTextField textBox = new PDTextField(acroForm);
textBox.setPartialName("Field " + j + " " + i);
defaultAppearanceString = "/Helv 8 Tf 0 g"; //Textsize: 8
textBox.setDefaultAppearance(defaultAppearanceString);
acroForm.getFields().add(textBox);

PDAnnotationWidget widget = textBox.getWidgets().get(0);
PDRectangle rect = new PDRectangle(inputField.getX(), inputField.getY(), inputField.getWidth(), inputField.getHeight());
widget.setRectangle(rect);
widget.setPage(page);
widget.setPrinted(true);
page.getAnnotations().add(widget);

我想到了一个简单的函数来对齐这样的文本:

and I thought of an easy function to align text like this:

textBox.setAlignment(Alignment.CENTER);

但我没找到.

推荐答案

使用 Q 标志:

textBox.setQ(PDTextField.QUADDING_CENTERED);

其他可能的值是 QUADDING_RIGHT 和 QUADDING_LEFT(这是默认值).

Other possible values are QUADDING_RIGHT and QUADDING_LEFT (which is the default).

相关文章