我已经通过iText创建了一个可访问的pdf。然而,现在我试图从JSP中的用户名、地址等用户那里获取输入,并将输入放在pdf中的某个地方。
用户在文本区域(如SO上(提供输入,并能够将文本标记为粗体或斜体或创建列表(我使用widgEditor(
我正在使用PdfHtml来解析pdf的输入。据我所知,这项工作有两种方法——convertToDocument()
方法和convertToElements()
方法。
我使用conconvertToElements()
方法,因为convertToDocument()
不能让我们将解析后的输入放在pdf中的特定位置,它只是将输入放在pdf的顶部。
我参考了C01E08_HelloWorld示例
但是在将pdfptable添加到文档中时,我得到了以下错误。
错误-"Document类型中的方法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();
}
您将iText 7和iText 5元素混合在一起。PdfPTable是iText 5元素,不能与iText 7的Document类一起使用。请使用com.itextpdf.layout.element.Table类。
此外,请检查您的依赖项以删除iText 5依赖项,以避免进一步混淆。