【发布时间】:2012-08-16 02:24:46
【问题描述】:
我正在使用 Flying Saucer 将一些 PDF 文档从字符串渲染为 HTML。
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputStream is = new ByteArrayInputStream(html.getBytes("UTF-8"));
Document doc = builder.parse(is);
response.setContentType("application/pdf; charset=UTF-8");
response.setHeader("Content-disposition", "inline; filename=\"" + outFileName + "\"");
OutputStream os = response.getOutputStream();
ITextRenderer iTextRenderer = new ITextRenderer();
iTextRenderer.setDocument(doc,null);
iTextRenderer.layout();
iTextRenderer.createPDF(os);
os.flush();
os.close();
当我有纯文本时,这很好用。 我在我的 HTML 内容中引用了一个外部 CSS。但是,当生成 PDF 时,不会应用 CSS。
我读到setDocument() 方法有两个参数:document 和 url。 url 参数指示用于添加到出现在 xhtml 中的相对路径的基本 url,例如外部 CSS
所以,我已经尝试提供
上下文路径/css
baseURL 中的目录并在setDocument() 中使用它。还是没有结果
那么,我的问题是作为 baseURL 传递的正确 URL 是什么?
String baseURL = ""; // What goes here as root URL for resources
iTextRenderer.setDocument(doc,baseURL);
【问题讨论】:
标签: java pdf-generation itext flying-saucer