当我使用 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 样式。
任何帮助表示赞赏。