itext实现HTML转换为PDF
1、首先,建立一個maven工程(maven工程的建立這里不在演示)
?? 1.1 在maven工程的pom.xml中加入itext所需的jar包
<!-- itext 生成PDF jar--><dependency> <groupId>com.lowagie</groupId><artifactId>itext</artifactId><version>2.0.8</version></dependency> <!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/core-renderer --><dependency><groupId>org.xhtmlrenderer</groupId><artifactId>core-renderer</artifactId><version>R8</version></dependency>2、建立一個類Demo1.Java
package com.shawsuper;import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.xhtmlrenderer.pdf.ITextFontResolver; import org.xhtmlrenderer.pdf.ITextRenderer; import com.lowagie.text.pdf.BaseFont; public class Demo1 {/** HTML轉(zhuǎn)換為PDF* */public void HtmlToPdf(String inputFile,String outputFile) throws Exception{String url = new File(inputFile).toURI().toURL().toString();System.out.println(url);OutputStream os = new FileOutputStream(outputFile);ITextRenderer renderer = new ITextRenderer();renderer.setDocument(url);// 解決中文支持問題ITextFontResolver fontResolver = renderer.getFontResolver();fontResolver.addFont("c:/Windows/Fonts/<span style="color:#FF0000;">simsun</span>.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);// 解決圖片的相對路徑問題// renderer.getSharedContext().setBaseURL("file:/D:/z/temp/");renderer.layout();renderer.createPDF(os);os.close();}public static void main(String[] args) throws Exception {Demo1 demo = new Demo1();String inputFile = "D://Test//iText1.jsp";String outputFile = "D://Test//123.pdf";demo.HtmlToPdf(inputFile, outputFile);} }3、運行main方法即可
<span style="font-size:18px;">iText1.jsp的源碼 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Insert title here</title> <style type="text/css"> <span style="color:#FF0000;">body { font-family: SimSun; //特別重要,否則中文將無法顯示 } </span> </style> </head> <body><p >迷你校</p><div class="text">個人簡歷</div><table border='1' bgcolor="#00FF00"><tr><td>number</td><td>name</td></tr><tr><td>1</td><td>ch</td></tr><tr><td>2</td><td>es</td></tr></table><p>教育經(jīng)歷ss</p><p>12422</p><p>jiaoyujingli</p></body> </html> </span>注意事項:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd?">?????
<html xmlns="http://www.w3.org/1999/xhtml?">??
(1)頭文件必須這個,否則會報以下錯誤:
?????????????錯誤:“The declaration for the entity "HTML.Version" must end with '>'.”
? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
(2)charset 必須是UTF-8,否則會報以下錯誤:
?????????????錯誤:“Invalid byte 1 of 1-byte UTF-8 sequence.”
(3)需要定一個樣式:body {font-family: SimSun};
(4)html頁面必須嚴(yán)格遵循, 該打引號就要打引號
?????????????錯誤:cellpadding=0 ,border=1"
(5)不要引用無效的鏈接
??<link rel="stylesheet" type="text/css" href="XX/ll.css"/?>
?<link rel="stylesheet" type="text/css" href="XX/main.css"/?>?
總結(jié)
以上是生活随笔為你收集整理的itext实现HTML转换为PDF的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的grub损坏,如何利用Gru
- 下一篇: 一个简单的 iBatis 实现——完整示