2015-04-21 65 views
0
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(); 
     } 

会发生什么事时,它显示的CSS工作正常PDF和显示一个灰色的背景,但是,它显示以下文字:@page {背景颜色:#f0f0f0;}你好。如何让样式文本停止在pdf中显示?HTML到PDF使用飞碟:内部CSS显示PDF页面

+1

如果你用'<! - @page {background-color:#f0f0f0;} - >'替换'@page {background-color:#f0f0f0;}'会怎样? –

+0

工作,谢谢。如果您想将其作为答案,我会将其标记为正确。 – Stryker

回答

1

如果更换:

​​

通过

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

那么<style>标签将识别的风格,但风格不会“数”为HTML,因为我们已经把它里面一条评论。

相关问题