java开发html转pdf


实测真实可用,采用 core-renderer.jar ,iText-2.0.8.jar。开发环境为eclipse,用的话,可以修改下代码中的几个路径
资源截图
代码片段和文件信息
package wqb.pdf.test;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;

import com.lowagie.text.pdf.baseFont;

/**
 * html转pdf
 * 
 * @author wqb
 *
 */
public class PdfDemoTest {

public static void main(String[] args) throws Exception {

//读取html的流
InputStream inputStream = PdfDemoTest.class.getResourceAsStream(“test.html“);

//流转换成字符串
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = inputStream.read(b)) != -1;) {
out.append(new String(b 0 n));
}

String html = out.toString();
String pdffile = “C:\wqb\test.pdf“;

OutputStream os = new FileOutputStream(pdffile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(html);
// writer.setPageEvent(header);
ITextFontResolver fontResolver = renderer.getFontResolver();
// 添加字体支持路径可以自身项目的实际情况设置,我这里是本地项目,而且为了方便测试,就写成固定的了
// 实际项目中,可以获取改字体所在真实的服务器的路径这个方法是本地地址和网络地址都支持的
// 这里面添加的是宋体
fontResolver.addFont(“C:\software\eclipse-neon\workspace\htmlToPdfDemo\bin\SIMSUN.TTC“
baseFont.IDENTITY_H baseFont.NOT_embedDED);

 
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();

}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-06 14:31  htmlToPdfDemo
     文件         419  2018-03-06 13:51  htmlToPdfDemo.classpath
     文件         389  2018-03-06 13:34  htmlToPdfDemo.project
     目录           0  2018-03-06 13:34  htmlToPdfDemo.settings
     文件         598  2018-03-06 13:34  htmlToPdfDemo.settingsorg.eclipse.jdt.core.prefs
     目录           0  2018-03-06 19:55  htmlToPdfDemoin
     文件    15323200  2018-03-06 13:38  htmlToPdfDemoinSIMSUN.TTC
     目录           0  2018-03-06 19:55  htmlToPdfDemoinwqb
     目录           0  2018-03-06 19:55  htmlToPdfDemoinwqbpdf
     目录           0  2018-03-06 19:55  htmlToPdfDemoinwqbpdf est
     文件        1984  2018-03-06 19:55  htmlToPdfDemoinwqbpdf estPdfDemoTest.class
     文件         504  2018-03-06 17:29  htmlToPdfDemoinwqbpdf est est.html
     目录           0  2018-03-06 14:31  htmlToPdfDemolib
     文件     1080111  2018-03-06 13:39  htmlToPdfDemolibcore-renderer.jar
     文件     1213150  2018-03-06 13:39  htmlToPdfDemolibiText-2.0.8.jar
     目录           0  2018-03-06 14:15  htmlToPdfDemosrc
     文件    15323200  2018-03-06 13:38  htmlToPdfDemosrcSIMSUN.TTC
     目录           0  2018-03-06 13:35  htmlToPdfDemosrcwqb
     目录           0  2018-03-06 13:35  htmlToPdfDemosrcwqbpdf
     目录           0  2018-03-06 13:59  htmlToPdfDemosrcwqbpdf est
     文件        1576  2018-03-06 17:29  htmlToPdfDemosrcwqbpdf estPdfDemoTest.java
     文件         504  2018-03-06 17:29  htmlToPdfDemosrcwqbpdf est est.html

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

发表评论

评论列表(条)