想要在新创建的多页PDF中添加复选框等交互式表单字段,在iText的example中,代码如下所示:
PdfContentByte canvas = writer.getDirectContent();
Rectangle rect = new Rectangle(180, 806 * 40, 200, 788 * 40);
RadioCheckField checkbox = new RadioCheckField(writer, rect, "box1", "Yes");
PdfFormField field = checkbox.getCheckField();
writer.addAnnotation(field);
ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("checkbox1", normal), 210, 790 * 40, 0);
但是这使用了绝对位置,我不知道位置,因为字段前的内容有可选的图像和文本部分,我不知道它们采用了多少行。 我也在使用Chapters和Sections,所以我想使用这样的东西:
Section section = chap.addSection(new Paragraph("sectionTitel",header2));
section.add(new Paragraph("line before field"));
//add FormField
section.add(field);
section.add(new Paragraph("line after field"));
您是否知道如何做这样的事情或如何从以前的线上获得位置?
答案 0 :(得分:0)
选中此示例以显示复选框或单选按钮而不指定位置。你需要使用PdfPTable。 http://itextpdf.com/sandbox/acroforms/CreateRadioInTable。在我在这里发布Issue with iText RadioCheckField when displayed on multiple pages并且仍在等待答案的多个页面上显示单选按钮存在一个问题