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