Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何(水平)对齐PDFBox中PDTextField的文本?_Java_Pdf_Textbox_Pdfbox_Text Alignment - Fatal编程技术网

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

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

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

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