資源簡介
本項目實現了jsp頁面和html頁面轉pdf的示例,可以將鏈接返回的頁面進行轉換。項目中的字符集和jar包都有無需在次下載。
代碼片段和文件信息
package?net.zkbc.mp.util;
import?java.io.BufferedReader;
import?java.io.ByteArrayInputStream;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.net.HttpURLConnection;
import?java.net.URL;
import?javax.xml.parsers.DocumentBuilder;
import?javax.xml.parsers.DocumentBuilderFactory;
import?org.xhtmlrenderer.pdf.ITextFontResolver;
import?org.xhtmlrenderer.pdf.ITextRenderer;
import?com.lowagie.text.pdf.baseFont;
import?org.w3c.dom.Document;
/**
?*?對html的規范要求極高例如:頁面中 必須閉合,必須:?
?*?
?*?
?*??*?“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>?
?*?xmlns=“http://www.w3.org/1999/xhtml“>
?*?
?*?@author?zsj
?*
?*/
public?class?PdfUtil?{
public?static?void?main(String[]?args)?throws?Exception?{
System.out.println(“開始了=====“);
htmlToPdf2(“I:/pdf/5555.pdf““http://localhost:8081/Print/index2.html“);
System.out.println(“結束了=====“);
//htmlToPdf(“/data/fs/sinspector/BJ20150522001.pdf““http://localhost:8080/Print/index2.html“);
//htmlToPdf(“/data/fs/sinspector/BJ20150522001.pdf““http://localhost:8080/Print/index2.html“);
}
public?static?String?getUrlContent(String?uri){
StringBuffer?data=new?StringBuffer();
try?{??
????????????//建立連接??
????????????URL?url?=?new?URL(uri);??
????????????HttpURLConnection?httpUrlConn?=?(HttpURLConnection)?url.openConnection();??
????????????httpUrlConn.setDoInput(true);??
????????????httpUrlConn.setRequestMethod(“GET“);??
????????????httpUrlConn.setRequestProperty(“User-Agent“?“Mozilla/4.0?(compatible;?MSIE?5.0;?Windows?NT;?DigExt)“);
????????????//獲取輸入流??
????????????InputStream?input?=?httpUrlConn.getInputStream();
????????????//將字節輸入流轉換為字符輸入流
????????????InputStreamReader?read?=?new?InputStreamReader(input?“utf-8“);
????????????//為字符輸入流添加緩沖
????????????BufferedReader?br?=?new?BufferedReader(read);??
????????????//?讀取返回結果??
????????????String?s=null;
????????????while((s=br.readLine())!=null)??{
????????????????System.out.println(s);
????????????????data.append(s);
????????????}??
????????????//?釋放資源??
????????????br.close();??
????????????read.close();??
????????????input.close();??
????????????httpUrlConn.disconnect();??
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
return?data.toString();
}
/**
?*?把URL轉換為PDF
?*?
?*?@param?outputFile
?*????????????,?示例:/data/fs/inspector/BJ20150522001.pdf
?*?@param?url
?*????????????,示例:html?頁面
?*?@return
?*?@throws?Exception
?*/
public?static?boolean?htmlToPdf(String?outputFile?String?url)throws?Exception?{
File?outFile?=?new?File(outputFile);
if?(!outFile.exists())?{
outFile.getParentFile().mkdirs();
}
OutputStream?os?=?new?FileO
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-06-08?17:40??JSP_TO_PDF\
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\
?????文件?????????529??2017-07-04?11:49??JSP_TO_PDF\Print\.classpath
?????目錄???????????0??2017-07-04?11:49??JSP_TO_PDF\Print\.myeclipse\
?????文件?????????288??2018-06-08?13:15??JSP_TO_PDF\Print\.myme
?????文件????????1748??2017-07-04?11:50??JSP_TO_PDF\Print\.project
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\.settings\
?????文件?????????500??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\.jsdtscope
?????文件?????????109??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\com.genuitec.eclipse.ws.prefs
?????文件??????????66??2018-06-08?14:29??JSP_TO_PDF\Print\.settings\org.eclipse.core.resources.prefs
?????文件?????????395??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\org.eclipse.jdt.core.prefs
?????文件?????????453??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\org.eclipse.wst.common.component
?????文件?????????252??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2017-07-04?11:49??JSP_TO_PDF\Print\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\src\
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\src\net\
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\src\net\zkbc\
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\src\net\zkbc\mp\
?????文件????15323200??2015-06-11?20:56??JSP_TO_PDF\Print\src\net\zkbc\mp\simsun.ttc
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\src\net\zkbc\mp\util\
?????文件???????12717??2018-06-08?17:36??JSP_TO_PDF\Print\src\net\zkbc\mp\util\PdfUtil.java
?????文件????15323200??2018-06-08?13:57??JSP_TO_PDF\Print\src\simsun.ttc
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\WebRoot\
?????文件????????8246??2018-06-08?15:57??JSP_TO_PDF\Print\WebRoot\index2.html
?????目錄???????????0??2018-06-08?17:39??JSP_TO_PDF\Print\WebRoot\js\
?????文件????????7008??2017-07-06?19:16??JSP_TO_PDF\Print\WebRoot\js\chili-1.7.pack.js
?????文件????????5818??2017-07-06?19:16??JSP_TO_PDF\Print\WebRoot\js\jq.css
?????文件???????16120??2017-07-06?19:16??JSP_TO_PDF\Print\WebRoot\js\jquery.media.js
?????文件????????3805??2017-07-06?19:16??JSP_TO_PDF\Print\WebRoot\js\jquery.me
?????文件???????70843??2017-07-06?19:16??JSP_TO_PDF\Print\WebRoot\js\jquery.min.js
............此處省略21個文件信息
評論
共有 條評論