重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
java中利用第三方jar包iText 5.4.2就可以实现html转为pdf。
成都创新互联公司专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,遂宁托管服务器服务有保障!
比如有如下index.html文件:
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""
html
head
titleHTML to PDF/title
link href="style.css" rel="stylesheet" type="text/css" /
/head
body
h1HTML to PDF/h1
p
span class="itext"itext/span 5.4.2 span class="description" converting HTML to PDF/span
/p
table
tr
th class="label"Title/th
tdiText - Java HTML to PDF/td
/tr
tr
thURL/th
td;/td
/tr
/table
/body
/html
样式文件:
h1 {
color:#ccc;
}
table tr td{
text-align:center;
border:1px solid gray;
padding:4px;
}
table tr th{
background-color:#84C7FD;
color:#fff;
width: 100px;
}
.itext{
color:#84C7FD;
font-weight:bold;
}
.description{
color:gray;
}
后台转换的接口:
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.tool.xml.XMLWorkerHelper;
public class App
{
public static void main( String[] args ) throws DocumentException, IOException
{
// step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("pdf.pdf"));
// step 3
document.open();
// step 4
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new FileInputStream("index.html"));
//step 5
document.close();
System.out.println( "PDF Created!" );
}
}
转换结果:
可以用下struts2框架,它的配置文件里通过添加一个属性就可以把网页转成pdf的
application/pdf;
charset=gb2312
pdfStream
attachment;
filename="contract.pdf"
2048
可以使用虚拟打印机来处理:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。
方法三:使用专门的转换软件,把文件转成PDF文件。