2015-04-21 63 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,因爲我們已經把它裏面一條評論。

相關問題