您遇到此问题是因为您正在向iText的XML Worker提供HTML. XML Worker需要XML,因此您需要将HTML转换为XHTML.
有关如何在官方iText网站上执行此操作的示例:D00_XHTML
public static void tidyUp(String path) throws IOException {
File html = new File(path);
byte[] xhtml = Jsoup.parse(html, "US-ASCII").html().getBytes();
File dir = new File("results/xml");
dir.mkdirs();
FileOutputStream fos = new FileOutputStream(new File(dir, html.getName()));
fos.write(xhtml);
fos.close();
}
在这个例子中,我们获得了一个普通HTML文件的路径(类似于你所拥有的).然后,我们使用Jsoup库将HTML解析为XHTML字节数组.在这个例子中,我们使用该字节数组将XHTML文件写入磁盘.您可以直接使用字节数组作为XML Worker的输入.