1、如何没有要求,只是增加页码,在转换方法中,可以使用如下代码操作,
cmd.append(" --footer-center [page]/[topage] ");
2、如果要求封面不能有页码,其他页面增加页码,使用的方法是封面生成一个文件(不加页码),其他内容生成一个文件(增加页码),然后将两个文件合并成一个文件。
具体内容:
1)前台要调用的第一个方法:
@RequestMapping(value="/getPdf")
@ResponseBody
public String getPdf() throws IOException {
PageData pd = this.getPageData();
String zbgid=pd.getString("zbgid");
String dayFold = new SimpleDateFormat("yyyyMMdd").format(new Date());
String filename1=dayFold+"_"+UuidUtil.get32UUID();//封面
String filename2=dayFold+"_"+UuidUtil.get32UUID();//其他内容
String filename3=dayFold+"_"+UuidUtil.get32UUID();//合并后文件名称
String wordurl1 = getDoc1(zbgid,filename1);//生成封面pdf
String wordurl2 = getDoc(zbgid,filename2);//生成其他内容pdf
String realPath= PropertiesUtil.getGlobalValueByKey("FileDataPhysicalPath");
String virturalPath= PropertiesUtil.getGlobalValueByKey("KyFileDataVirturalPath");
List<File> files = new ArrayList<File>();
files.add(new File(realPath+filename1+".pdf"));//封面
files.add(new File(realPath+filename2+".pdf"));//其他内容
String zzlj = virturalPath+filename3+".pdf";
PdfFileUtil.mulFile2One(files, realPath+filename3+".pdf");//合并方法
return "{\"url\":\"" + filename3 + ".pdf\",\"zzlj\":\"" + zzlj + "\"}";
}
2)getDoc的方法内容其中一个,另一个一样:
public String getDoc(String zbgid,String fileName) throws UnsupportedEncodingException {
String realPath= PropertiesUtil.getGlobalValueByKey("FileDataPhysicalPath");
String htmlPath=PropertiesUtil.getGlobalValueByKey("zpbgHtmlPath");
String url = htmlPath+"?zbgid="+zbgid;
String path=realPath+fileName+".pdf";
String wordurl1 = fileName+".pdf";
HtmlToPdf.convert(url, path);
return wordurl1;
}
3)合并方法
public static File mulFile2One(List<File> files,String targetPath) throws IOException{
// pdf合并工具类
PDFMergerUtility mergePdf = new PDFMergerUtility();
for (File f : files) {
if(f.exists() && f.isFile()){
// 循环添加要合并的pdf
mergePdf.addSource(f);
}
}
// 设置合并生成pdf文件名称
mergePdf.setDestinationFileName(targetPath);
// 合并pdf
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
return new File(targetPath);
}