前言:
因为公司业务需求,现在需要实现HTML导出成PDF文件的功能,经过前期的调研,发现使用较多的就是itext,所以就对itext深入学习了一下。附上官网地址:https://itextpdf.com/en/products/itext-7/pdfhtml
1. 引入
pdfHTML是一个HTML到PDF的转换程序,可以轻松地将HTML和CSS转换为PDF文档。在使用的时候,需要导入相关的jar包.
下面是官方给出的一个例子:
注:红色部分是我后来加入,不然无法编译,都懂的(看来官网的例子没有认真写啊)。
2. 如何使用
从官网给出的使用例子可以注意到,将HTML转成PDF主要的就是HtmlConvert.convertToPdf这个函数。那我们点进去可以看到,里面其实有很多重载函数,如下:
简单说一下里面的参数
- String类型的参数:
这个参数其实就是HTML文本字符串,如
String html="<html><body>TEST</body></html>";
- OutputStream类型参数:
输出文件流,如:
OutputStram os=new FileOutputStream("F:\\abc.pdf");
- ConverterProperties类型参数:
这个参数就是涉及到一些转换配置的时候会用到,比如转换涉及到字体相关的时候,可以像下面这样来使用:
其中,fontDir是包含字体的目录,如果该目录下有支持中文的字体,那么就可以解决“导出PDF中中文不显示”的问题了。
- PdfWriter类型参数和PdfDocument类型参数:
这两个暂时没怎么用到,感兴趣的可以了解了解。PdfWriter可以像下面这样来传入参数,但是我觉得还有其他更好的用处。
PdfWriter pdfWriter=new PdfWriter(new File("F:\\www.pdf"));