【发布时间】:2020-06-23 15:40:57
【问题描述】:
我正在尝试使用 JSOUP 和 xhtmlrenderer 将 HTML 文件转换为 PDF。
不幸的是,html 中的 CSS 引用链接无法转换。生成的 PDF 没有任何 CSS...
检查后,HTML 文件中添加了一个引导 CSS 链接引用:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
请告诉我如何将此引导 CSS 加载到 JSOUP 以转换为 PDF:
我将 html 转换为 PDF 的代码:
String inputFile = "d:\\contractorder-01.html";
String outputFile = "d:\\generated.pdf";
try {
String html = new String(Files.readAllBytes(Paths.get(inputFile)));
final Document document = Jsoup.parse(html);
document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(document.html());
renderer.layout();
try (OutputStream os = Files.newOutputStream(Paths.get(outputFile))) {
renderer.createPDF(os);
}
catch (Exception ex) {
ex.printStackTrace();
}
} catch (Exception ex) {
ex.printStackTrace();
}
【问题讨论】: