gpt4 book ai didi

java - 使用 Flying Saucer 将 HTML 转为 PDF : Internal CSS showing in PDF page

转载 作者:行者123 更新时间:2023-12-01 11:38:15 25 4
gpt4 key购买 nike

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
try {
StringBuffer buffer = new StringBuffer();
buffer.append("<html>");
buffer.append("<head>");
buffer.append("<style type='text/css'>");
buffer.append("@page {background-color: #f0f0f0;}");
buffer.append("</style>");
buffer.append("</head>");
buffer.append("<body>");
buffer.append("<h2>Hello</h2>");
buffer.append("</body>");
buffer.append("</html>");
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = docBuilder.parse(new StringBufferInputStream(buffer.toString()));
OutputStream os = response.getOutputStream();

ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(doc, null);
renderer.layout();
renderer.createPDF(os);

os.close();
}

当它显示 pdf 时会发生什么,CSS 正常工作并显示灰色背景,但是,它显示以下文本:@page {background-color: #f0f0f0;}Hello。如何让样式文本停止显示在 pdf 中?

最佳答案

如果替换:

@page {background-color: #f0f0f0;}

<!--
@page {background-color: #f0f0f0;}
-->

然后是<style>标签将识别该样式,但该样式不会“算作”HTML,因为我们已将其放入注释中。

关于java - 使用 Flying Saucer 将 HTML 转为 PDF : Internal CSS showing in PDF page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29783412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com