アライメントを手動で変更する(GUIを使用してツールを使用する)か、プログラムで(iTextを使用して)変更するソリューションが必要かはわかりません。
フィールドのアラインメントを手動で変更する場合は、Adobe AcrobatでPDFテンプレート(フォーム)を開き、AcroFormフィールドを変更するオプションを選択するだけです。配置を左から右に変更します。
プログラムでアライメントを変更する場合は、iText 7(必要があります)またはiText 5(可能性)を使用しているかどうかを教えてください。
あなたはiTextの7を使用している場合は、アライメントは次のように設定されている:
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, true);
Map<String, PdfFormField> fields = form.getFormFields();
PdfFormField field;
field = fields.get("personal.name");
field.setJustification(PdfFormField.ALIGN_LEFT);
field.setValue("Test");
field = fields.get("personal.loginname");
field.setJustification(PdfFormField.ALIGN_CENTER);
field.setValue("Test");
field = fields.get("personal.password");
field.setJustification(PdfFormField.ALIGN_RIGHT);
field.setValue("Test");
field = fields.get("personal.reason");
field.setValue("Test");
pdfDoc.close();
は公式のiTextのFAQにもHow to align AcroFields?参照してください。
あなたはiTextの5を使用している場合は、アライメントは次のように設定されている:
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
AcroFields form = stamper.getAcroFields();
AcroFields.Item item;
item = form.getFieldItem("personal.name");
item.getMerged(0).put(PdfName.Q, new PdfNumber(PdfFormField.Q_LEFT));
item = form.getFieldItem("personal.loginname");
item.getMerged(0).put(PdfName.Q, new PdfNumber(PdfFormField.Q_CENTER));
item = form.getFieldItem("personal.password");
item.getMerged(0).put(PdfName.Q, new PdfNumber(PdfFormField.Q_RIGHT));
form.setField("personal.name", "Test");
form.setField("personal.loginname", "Test");
form.setField("personal.password", "Test");
form.setField("personal.reason", "Test");
stamper.close();
reader.close();
は公式のiTextのFAQにもHow to align AcroFields?を参照してください。
ご覧のとおり、iText 7コードはよりエレガントでわかりやすいものです。
ドキュメントをお読みになりましたか? iText 5またはiText 7を使用していますか? –