Ошибка Itext - «Метод add (AreaBreak) в типе Document не применим для аргументов (PdfTable)» - PullRequest
0 голосов
/ 01 ноября 2018

Я создал доступный PDF через iText. Однако теперь я пытаюсь получить входные данные из пользовательского имени, адреса и т. Д. В JSP и поместить их где-то в файле PDF.

Пользователь дает ввод в текстовой области (как в SO) с возможностью пометить текст жирным шрифтом или курсивом или создать списки (для этого я использую widgEditor)

Я использую PdfHtml для анализа ввода в PDF. Насколько я знаю, есть 2 метода, чтобы сделать эту работу - convertToDocument() метод и convertToElements() метод.

Я использую conconvertToElements() методы, поскольку convertToDocument() не дает нам возможности поместить проанализированный ввод в определенную позицию в pdf, он просто помещает ввод в верхнюю часть Pdf.

Я ссылался на C01E08_HelloWorld пример

Но при добавлении pdfptable в документ я получаю следующую ошибку.

Ошибка - «Метод add (AreaBreak) в типе Document не применим для аргументов (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 голосов
/ 01 ноября 2018

Вы смешиваете iText 7 с элементами iText 5. PdfPTable является элементом iText 5 и не может использоваться с классом Document iText 7. Пожалуйста, используйте класс com.itextpdf.layout.element.Table.

Кроме того, проверьте свои зависимости, чтобы удалить зависимость iText 5, чтобы избежать дальнейшей путаницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...