public static boolean getLicense() {
boolean result = false;
try {
InputStream is = FileCostTotalExcel.class.getClassLoader().getResourceAsStream("license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
}
return result;
}
/**
* 支持DOC, DOCX, OOXML, RTF, HTML, OpenDocument, PDF, EPUB, XPS, SWF等相互转换<br>
*
* @param args
*/
public static void excToPdf(String ecxcelPath,String pdfPath,int num) {
// 验证License
if (!getLicense()) {
return;
}
try {
long old = System.currentTimeMillis();
Workbook wb = new Workbook(ecxcelPath);// 原始excel路径
File pdfFile = new File(pdfPath);// 输出路径
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
if(num>13){
pdfSaveOptions.setOnePagePerSheet(true);//把内容放在一张PDF 页面上;
}else{
pdfSaveOptions.setOnePagePerSheet(false);//不需要把内容放在一张PDF 页面上;
}
FileOutputStream fileOS = new FileOutputStream(pdfFile);
//wb.save(fileOS, SaveFormat.PDF);
wb.save(fileOS, pdfSaveOptions);
long now = System.currentTimeMillis();
System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
fileOS.close();
} catch (Exception e) {
e.printStackTrace();
}
}
其中ecxcelPath为excel文件的完整路径(包括后缀),相应生成的pdf文件路径pdfPath也是完成路径(包括后缀),如果要相应的解决其他文件转换,则对应的修改文件路径即可。num为本人要判断excel文件有多少行,超过13格行另外生成新的一页pdf。jar包引用为aspose-cells-8.5.2.jar。