1

当我使用 AutoDetectParser 解析 PDF 或 Word 文档时,“li”、“ul”标签被转换为“p”标签。我需要 PDF 或 Word 文档的确切 HTML 内容。

我尝试了以下几种方式:

ToHTMLContentHandler textHandler = new ToHTMLContentHandler();
Metadata metadata = new Metadata();
Parser parser = new AutoDetectParser();
ParseContext context = new ParseContext();
context.set(HtmlMapper.class, new IdentityHtmlMapper());
parser.parse(in, textHandler, metadata, context);

SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
TransformerHandler handler = factory.newTransformerHandler();
handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "no");
handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, "utf-8");
handler.setResult(new StreamResult(writer));
System.out.println(handler.toString());
return handler;

但是“li”标签被替换为带有类的“p”标签,但在解析的 HTML 输出中看不到 CSS 样式。

任何帮助表示赞赏。

4

0 回答 0