您的位置:首页 > 编程语言 > Java开发

java将html转为pdf文件

2018-01-03 20:24 429 查看

pom.xml

<!--java生成pdf需要的jar包-->
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.6</version>
</dependency>

<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.6</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>


java代码演示

/**
* pdf工具类
*/
public class PDFUtil {

public static void htmlToPDF(String htmlString, String pdfPath) {
try {
InputStream htmlFileStream = new FileInputStream(htmlString);
// 创建一个document对象
a75f
实例
Document document = new Document();
// 为该Document创建一个Writer实例
PdfWriter pdfwriter = PdfWriter.getInstance(document,
new FileOutputStream(pdfPath));
pdfwriter.setViewerPreferences(PdfWriter.HideToolbar);
// 打开当前的document
document.open();
InputStreamReader isr = new InputStreamReader(htmlFileStream, "UTF-8");
XMLWorkerHelper.getInstance().parseXHtml(pdfwriter, document,htmlFileStream,null,null,new MyFontsProvider());
//XMLWorkerHelper.getInstance().p
document.close();

} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) throws Exception {
PDFUtil.htmlToPDF("D:\\pdf\\cc.html", "D:\\pdf\\a.pdf");
}
}

/**
* 处理中文不显示和乱码问题
*/
class MyFontsProvider extends XMLWorkerFontProvider {

public MyFontsProvider(){
super(null, null);
}

@Override
public Font getFont(final String fontname, String encoding, float size, final int style) {
String fntname = fontname;
if (fntname == null) {
fntname = "宋体";//windows下
//fntname = "fontFile/simsun.ttf";//linux系统下
}
if (size == 0) {
size = 4;
}
return super.getFont(fntname, encoding, size, style);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: