jsp转pdf项目


本项目实现了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_PDFPrint
     文件         529  2017-07-04 11:49  JSP_TO_PDFPrint.classpath
     目录           0  2017-07-04 11:49  JSP_TO_PDFPrint.myeclipse
     文件         288  2018-06-08 13:15  JSP_TO_PDFPrint.mymetadata
     文件        1748  2017-07-04 11:50  JSP_TO_PDFPrint.project
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrint.settings
     文件         500  2017-07-04 11:49  JSP_TO_PDFPrint.settings.jsdtscope
     文件         109  2017-07-04 11:49  JSP_TO_PDFPrint.settingscom.genuitec.eclipse.ws.prefs
     文件          66  2018-06-08 14:29  JSP_TO_PDFPrint.settingsorg.eclipse.core.resources.prefs
     文件         395  2017-07-04 11:49  JSP_TO_PDFPrint.settingsorg.eclipse.jdt.core.prefs
     文件         453  2017-07-04 11:49  JSP_TO_PDFPrint.settingsorg.eclipse.wst.common.component
     文件         252  2017-07-04 11:49  JSP_TO_PDFPrint.settingsorg.eclipse.wst.common.project.facet.core.xml
     文件          49  2017-07-04 11:49  JSP_TO_PDFPrint.settingsorg.eclipse.wst.jsdt.ui.superType.container
     文件           6  2017-07-04 11:49  JSP_TO_PDFPrint.settingsorg.eclipse.wst.jsdt.ui.superType.name
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintsrc
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintsrc
et
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintsrc
etzkbc
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintsrc
etzkbcmp
     文件    15323200  2015-06-11 20:56  JSP_TO_PDFPrintsrc
etzkbcmpsimsun.ttc
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintsrc
etzkbcmputil
     文件       12717  2018-06-08 17:36  JSP_TO_PDFPrintsrc
etzkbcmputilPdfUtil.java
     文件    15323200  2018-06-08 13:57  JSP_TO_PDFPrintsrcsimsun.ttc
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintWebRoot
     文件        8246  2018-06-08 15:57  JSP_TO_PDFPrintWebRootindex2.html
     目录           0  2018-06-08 17:39  JSP_TO_PDFPrintWebRootjs
     文件        7008  2017-07-06 19:16  JSP_TO_PDFPrintWebRootjschili-1.7.pack.js
     文件        5818  2017-07-06 19:16  JSP_TO_PDFPrintWebRootjsjq.css
     文件       16120  2017-07-06 19:16  JSP_TO_PDFPrintWebRootjsjquery.media.js
     文件        3805  2017-07-06 19:16  JSP_TO_PDFPrintWebRootjsjquery.metadata.js
     文件       70843  2017-07-06 19:16  JSP_TO_PDFPrintWebRootjsjquery.min.js
............此处省略21个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)