java使用pd4ml将html转换成pdf


import java.awt.Insets;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.StringReader;
import java.security.InvalidParameterException;

import org.zefer.pd4ml.PD4Constants;
import org.zefer.pd4ml.PD4ML;

public class HtmlToPdf {


	
	 public static byte[] generatePDF( StringReader strReader) {  
		 try {
			 //FileOutputStream fos = new FileOutputStream(outputPDFFile);  
			 	ByteArrayOutputStream os = new ByteArrayOutputStream();
		        PD4ML pd4ml = new PD4ML();  
		        pd4ml.setPageInsets(new Insets(5, 5, 5, 5));  
		        pd4ml.setHtmlWidth(900);  
		        pd4ml.setPageSize(PD4Constants.A4);  // A4竖向显示  pd4ml.changePageOrientation(PD4Constants.A4)横向显示
		        pd4ml.useTTF("java:fonts", true);  
		        pd4ml.setDefaultTTFs("SimHei", "YouYuan", "SimSun");  //fonts.jar的配置文件中的值,用于中文乱码
		        pd4ml.enableDebugInfo();  
		        pd4ml.render(strReader, os);  //如果用上面的fos,就是写出到指定的文件
		        return os.toByteArray();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (InvalidParameterException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	       
	        
	    }  
	 
	 public static void main(String[] args) throws Exception {
		 // File pdfFile = new File("pdf/test11.pdf");  
	        String html="<p>协议编号:ZRXY-201707021</p>"+

"<p><strong>债权转让</strong><strong>协议</strong></p>"+

"<p><strong>甲方(转让方):123</strong></p>"+

"<p>地址:天津市</p>"+

"<p>姓名:张三</p>"+

"<p>身份证号:2222222222</p>"+

"<p><strong>乙方(受让方):详见附表1</strong></p>"+

"<p><strong>丙方(</strong><strong>居间</strong><strong>服务方):</strong><strong>XXXX网络科技有限公司</strong></p>"+

"<p><strong>注册号:2588888888</strong></p>"+

"<p>地址: 天津市滨海高新区</p>"+

"<p>法定代表人:王五</p>"+

"<p> </p>"+

"<p><strong>鉴于:</strong></p>"+
"<p>现甲乙丙三方本着互惠互利的原则,经过平等协商就乙方受让甲方债权相关事宜特签订本《债权转让协议》(以下简称“本协议”),并承诺共同遵守。</p>"+

"<p><strong>2.1转让的债权资产详情</strong></p>"+

"<table border=\"1\" style=\"width:90%\">"+
	"<tbody>"+
	"	<tr>"+
	"		<td>"+
	"		<p><strong>转让的债权资产本金金额</strong></p>"+
	"		</td>"+
	"		<td>13593.86</td>"+
	"		<td>"+
	"		<p><strong>债权转让垫付利息</strong></p>"+
	"		</td>"+
	"		<td>28.61</td>"+
	"		<td>"+
	"		<p><strong>债权资产转让日期</strong></p>"+
	"		</td>"+
	"		<td>2017-07-02</td>"+
	"	</tr>"+
	"	<tr>"+
	"		<td>"+
	"		<p><strong>借款利率</strong></p>"+
	"		</td>"+
	"		<td>12.80<strong>%</strong></td>"+
	"		<td>"+
	"		<p><strong>还款方式</strong></p>"+
	"		</td>"+
	"		<td colspan=\"3\">一次性还本付息</td>"+
	"	</tr>"+
	"	<tr>"+
	"		<td>"+
	"		<p><strong>原担保措施</strong></p>"+
	"		</td>"+
	"		<td colspan=\"6\">"+
	"		<p><strong>债务人正常还款</strong></p>"+
	"		</td>"+
	"	</tr>"+
	"	<tr>"+
	"		<td>"+
	"		<p><strong>手续费</strong></p>"+
	"		</td>"+
"			<td colspan=\"6\">0.00</td>"+
"		</tr>"+
"		<tr>"+
"			<td>"+
"			<p><strong>债权资产转让价款</strong></p>"+
"			</td>"+
"			<td colspan=\"6\">13622.47</td>"+
"		</tr>"+
"	</tbody>"+
"</table>"+



"<p><strong>附表1:受让方信息</strong></p>"+

"<table border=\"1\" style=\"text-align:center; width:90%\">"+
	"<tbody>"+
	"	<tr>"+
	"		<th style=\"width:18%x\">姓名</th>"+
	"		<th style=\"width:18%\">用户名</th>"+
	"		<th style=\"width:18%\">转让本金(元)</th>"+
	"		<th style=\"width:18%\">转让垫付利息(元)</th>"+
		"	<th style=\"width:18%\">转让价款(元)</th>"+
		"</tr>"+
	"	<tr>"+
			"<td colspan=\"5\"><tr><td>孟**</td><td>177****3402</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>刘*</td><td>187****0161</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>陈*</td><td>131****0826</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>金**</td><td>152****1431</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>徐**</td><td>181****1917</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>邱**</td><td>159****3743</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>许**</td><td>151****1256</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>顾**</td><td>137****6456</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>许**</td><td>152****8882</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>张**</td><td>157****9908</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>杨**</td><td>170****0411</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>李**</td><td>155****7556</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>朱**</td><td>177****2942</td><td>997.90</td><td>2.10</td><td>1000.00</td></tr><tr><td>白**</td><td>182****6155</td><td>621.16</td><td>1.31</td><td>622.47</td></tr></td>"+
		"</tr>"+
	"</tbody>"+
"</table>"; 
	        StringReader strReader = new StringReader(html.toString());  
	        generatePDF( strReader);  
	        System.out.println(2);
	}
}

需导入包:pd4ml_demo.jar ss_css2.jar fonts.jar

下载:http://download.csdn.net/download/wy240036141/10016357



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值