当在多个页面上显示时,iText RadioCheckField会出现问题

我正在创建一个PDF,其中AcroForm字段将在表格内呈现 . 当RadioButtons分布在两个页面时,我遇到了问题 . 我修改了此链接http://itextpdf.com/sandbox/acroforms/CreateRadioInTable上显示的示例 . 仅修改上例中的craetePdf方法 .

public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream(dest));
    document.open();
    PdfFormField radiogroup = PdfFormField.createRadioButton(writer, true);
    radiogroup.setFieldName("Language");
    PdfPTable table = new PdfPTable(2);
    PdfPCell cell;
    for (int i = 0; i < 25; i++) {
        cell = new PdfPCell(new Phrase("Question " + i));
        table.addCell(cell);
        cell = new PdfPCell(new Phrase("Answer " + i));
        table.addCell(cell);
    }
    for (int i = 0; i <25; i++) {
        cell = new PdfPCell(new Phrase("Radio: " + i));
        table.addCell(cell);
        cell = new PdfPCell();
        cell.setCellEvent(new MyCellField(radiogroup, "radiogroup" + i));
        table.addCell(cell);
    }
    document.add(table);
    writer.addAnnotation(radiogroup);
    document.close();
}

PdfPTable创建了50行 . 当radiobutton在两个页面之间分割时,它会在格式化中混乱 . 请从上面的代码中查看此链接以获取输出PDF . http://www.docdroid.net/13smb/checkbox-in-cell.pdf.html

通过查看PDF,看起来所有的radiobuttons都在第2页上呈现,因为该表在第2页结束 . 我尝试使用setPageInPlace(pageNumber)设置页码,同时创建RadioCheckFields如下,但它不起作用 .

RadioCheckField radio = new RadioCheckField(writer, rectangle, null, value);
PdfFormField field = radio.getRadioField();
field.setPlaceInPage(placeInPage);

有没有办法解决这个问题?我曾尝试使用PdfStamper,但无法解决此问题 . 任何帮助将不胜感激 .

回答(0)