Itext错误-“文档类型中的方法add(AreaBreak)不适用于参数(PdfTable)”

时间:2018-11-01 15:04:09

标签: java itext

我已经通过iText创建了可访问的pdf。但是,现在我试图从用户喜欢的JSP中的Name,Address等输入,并将输入放置在pdf中。

用户在文本区域(如SO中)提供输入,并能够将文本标记为粗体或斜体或创建列表(我为此使用了widgEditor)

我正在使用PdfHtml将输入解析为pdf。据我所知,有2种方法可以完成这项工作-convertToDocument()方法和convertToElements()方法。

我正在使用conconvertToElements()方法,因为convertToDocument()不能使我们能够将解析的输入放置到pdf中的特定位置,而只是将输入放在Pdf的顶部。

我参考了C01E08_HelloWorld示例

但是在将pdfptable添加到文档时,出现以下错误。

错误-“文档类型中的方法add(AreaBreak)不适用于参数(PdfTable)”

  public void createPdf(String baseUri, String src, String dest) throws IOException { 
    ConverterProperties properties = new ConverterProperties();
    properties.setBaseUri(baseUri);
    List<IElement> elements = HtmlConverter.convertToElements(HTML+HTML2, properties);
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf);
    for (IElement element : elements) {
        document.add(new Paragraph(element.getClass().getName()));
        document.add((IBlockElement)element);
    }


    PdfPTable t = new PdfPTable(new float[] {1,1});

    document.add(t);
    document.close();
}

1 个答案:

答案 0 :(得分:3)

您正在将iText 7与iText 5元素混合在一起。 PdfPTable是iText 5元素,不能与iText 7的Document类一起使用。请使用com.itextpdf.layout.element.Table类。

另外,检查您的依赖项以删除iText 5依赖项,以避免进一步的混乱。