Java 如何(水平)对齐PDFBox中PDTextField的文本?
我有一个程序,可以在PDF文件中创建文本字段,以便将其用作表单。我想让我在我创建的文本字段中写的文本居中。这怎么可能?我的代码当前如下所示:Java 如何(水平)对齐PDFBox中PDTextField的文本?,java,pdf,textbox,pdfbox,text-alignment,Java,Pdf,Textbox,Pdfbox,Text Alignment,我有一个程序,可以在PDF文件中创建文本字段,以便将其用作表单。我想让我在我创建的文本字段中写的文本居中。这怎么可能?我的代码当前如下所示: PDTextField textBox = new PDTextField(acroForm); textBox.setPartialName("Field " + j + " " + i); defaultAppearanceString = "/Helv 8 Tf 0 g"; //Textsize: 8 textBox.setDefaultAppear
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);
textBox.setAlignment(Alignment.CENTER);
我想到了一个简单的函数来对齐文本,如下所示:
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);
textBox.setAlignment(Alignment.CENTER);
但是我没有找到它
使用Q标志:
textBox.setQ(PDTextField.QUADDING_CENTERED);
其他可能的值是QUADDING_RIGHT和QUADDING_LEFT(这是默认值)。谢谢,我不得不使用
textBox.setQ(1)代码>但是,因为PDVariableText.QUADDING\u CENTERED
不可见。可能是您没有使用最新版本吗?这是固定的。啊,是的,我仍然使用2.0.7而不是2.0.8