私は、このリンクからMultiLineField例を実行しています:複数行の入力ボックスを作成するには(HTML Textareaに似ています)?
http://developers.itextpdf.com/examples/form-examples-itext5/multiline-fields
しかし、私は人々がテキストを入力できるようにする任意の複数行の入力ボックスを見ることができないです。
複数行入力ボックスを作成する方法(HTML Textareaと同様)
UPDATE
ここで私が今持っているコードです。私はPDFフォームに値を入力することができません。
public void createPdf_multilines(String filename) throws DocumentException, IOException {
PdfReader reader = new PdfReader(createForm());
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(filename));
AcroFields form = stamper.getAcroFields();
form.setField("text", "A B C D E F\nG H I J K L M N\nO P Q R S T U\r\nV W X Y Z\n\nAlphabet street");
stamper.setFormFlattening(true);
stamper.close();
}
public byte[] createForm() throws DocumentException, IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, baos);
document.open();
Rectangle rect = new Rectangle(36, 770, 144, 806);
TextField tf = new TextField(writer, rect, "text");
tf.setOptions(TextField.MULTILINE);
tf.setBorderColor(BaseColor.BLUE);
tf.setBorderWidth(2);
writer.addAnnotation(tf.getTextField());
document.close();
return baos.toByteArray();
}
ブルーノ、助けてくれてありがとう!私はあなたのコードをテストしました。私は国境を見ることができますが、私はボックス領域にテキストを入力することができません。私はすべてのコードを自分の投稿を更新しました。乾杯。 – curious1
'stamper.setFormFlattening(true)'を使用すると、すべての対話性が削除されます。その行を削除すると、フォームはフォームのままになります。また、フィールドを作成する瞬間にテキストを設定することもできます。私は私の答えを更新します。 –
stamper.setFormFlattening(true)について教えてくれてありがとう!それは魅力のように働く。再度、感謝します! – curious1