日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

itext实现HTML转换为PDF

發布時間:2024/7/23 HTML 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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轉換為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>教育經歷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頁面必須嚴格遵循, 該打引號就要打引號
?????????????錯誤: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"/?>?

總結

以上是生活随笔為你收集整理的itext实现HTML转换为PDF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。