使用flying saucer生成PDF文件之前,先要使用freemarker生成html文件,然后将html文件转成pdf。生成html文件的东东网上一搜一大堆,大家找找就成。
当然“使用flying saucer将html文件转成PDF“的东东网上也是一搜一大堆,所以我这篇主要不是讲怎么生成,而是记载一路走来碰到的各种奇葩问题。
还是上一下转成pdf文件的方法吧,可能以后有用:
/**
* 该方法用来将指定的word文件转换成pdf文件(使用flying saucer技术)
* @param pdfPath:生成后的pdf所在目录,包括目录+pdf名称+.+pdf
* @param htmlFilePath:需要进行转换的html文件所在目录,包括目录+html名称+.+html
* */
public boolean createPDFByHtml(String pdfPath,String htmlFilePath){
boolean result = false;
//1、判断给定的文件是否是html文件:是htm格式结尾,或者以html格式结尾
if(htmlFilePath.toUpperCase().endsWith(".HTM") ||
htmlFilePath.toUpperCase().endsWith(".HTML")){//两种格式都是扫描文件格式
try {
OutputStream os = new FileOutputStream(pdfPath);
ITextRenderer renderer = new ITextRen