Как да (хоризонтално) подравнявам текст на PDTextField в PDFBox?

Имам програма, която създава TextFields в PDF файл, така че да може да се използва като формуляр. Все пак бих искал текстът, който пиша в TextFields, които създадох, да бъде центриран. Как е възможно? Моят код в момента изглежда така:

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);

но не го намерих.

Моят проблем


person Impulse The Fox    schedule 12.12.2017    source източник


Отговори (1)


Използвайте флага Q:

textBox.setQ(PDTextField.QUADDING_CENTERED);

Други възможни стойности са QUADDING_RIGHT и QUADDING_LEFT (което е по подразбиране).

person Tilman Hausherr    schedule 12.12.2017
comment
Благодаря, все пак трябваше да използвам textBox.setQ(1);, защото PDVariableText.QUADDING_CENTERED не се вижда. - person Impulse The Fox; 12.12.2017
comment
Възможно ли е да не използвате най-новата версия? Това беше коригирано в issues.apache.org/jira/browse/PDFBOX-3925 . - person Tilman Hausherr; 12.12.2017
comment
А, да, все още използвах 2.0.7 вместо 2.0.8 - person Impulse The Fox; 12.12.2017