赞
踩
<!--word转pdf--> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>15.8.0</version> </dependency> <!--xlsx或xls转pdf--> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-cells</artifactId> <version>8.5.2</version> </dependency> <!--ppt转pdf--> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-slides</artifactId> <version>19.6</version> </dependency>
import com.aspose.cells.License;
import com.aspose.cells.PdfSaveOptions;
import com.aspose.cells.Workbook;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public static boolean getLicense() {
boolean result = false;
try {
// 读取license.xml
InputStream is = ExcelConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void excel2pdf(String sourceFilePath, String desFilePathd){ // 验证License 若不验证则转化出的pdf文档会有水印产生 if (!getLicense()) { return; } log.info("开始转换excel==start"); FileOutputStream fileOS = null; long old = System.currentTimeMillis(); try { // 原始excel路径 Workbook wb = new Workbook(sourceFilePath); fileOS = new FileOutputStream(desFilePathd); PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); pdfSaveOptions.setOnePagePerSheet(true); int[] autoDrawSheets={3}; //当excel中对应的sheet页宽度太大时,在PDF中会拆断并分页。此处等比缩放。 autoDraw(wb,autoDrawSheets); int[] showSheets={0}; //隐藏workbook中不需要的sheet页。 printSheetPage(wb,showSheets); wb.save(fileOS, pdfSaveOptions); fileOS.flush(); long now = System.currentTimeMillis(); log.info("共耗时:{}",((now - old) / 1000.0) ); } catch (Exception e) { e.printStackTrace(); }finally{ if(fileOS!=null){ try { fileOS.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 隐藏workbook中不需要的sheet页。 * @param wb * @param page 显示页的sheet数组 */ public static void printSheetPage(Workbook wb,int[] page){ for (int i= 1; i < wb.getWorksheets().getCount(); i++) { wb.getWorksheets().get(i).setVisible(false); } if(null==page||page.length==0){ wb.getWorksheets().get(0).setVisible(true); }else{ for (int i = 0; i < page.length; i++) { wb.getWorksheets().get(i).setVisible(true); } } } /** * 设置打印的sheet 自动拉伸比例 * @param wb * @param page 自动拉伸的页的sheet数组 */ public static void autoDraw(Workbook wb,int[] page){ if(null!=page&&page.length>0){ for (int i = 0; i < page.length; i++) { wb.getWorksheets().get(i).getHorizontalPageBreaks().clear(); wb.getWorksheets().get(i).getVerticalPageBreaks().clear(); } } }
public static void main(String[] args) {
String inputExcelPath = "/Users/Desktop/xxx.xls";
String outputPdfPath = "/Users/Desktop/xxx.pdf";
excel2pdf(inputExcelPath,outputPdfPath);
}
import com.aspose.slides.License;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
import lombok.extern.log4j.Log4j2;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
public static boolean getLicense() {
boolean result = false;
try {
// license.xml
InputStream is = ExcelConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void ppt2Pdf(String inPath,String outPath){ // 验证License 去除水印 if (!getLicense()) { return ; } long start = System.currentTimeMillis(); try { FileInputStream fileInput = new FileInputStream(inPath); Presentation pres = new Presentation(fileInput); FileOutputStream out = new FileOutputStream(new File(outPath)); pres.save(out, SaveFormat.Pdf); out.close(); } catch (Exception e) { e.printStackTrace(); } long end =System.currentTimeMillis(); // 转化用时 log.info("pdf转换成功,共耗时:{}" , ((end - start) / 1000.0) + "秒"); }
public static void main(String[] args) {
String inputExcelPath = “/Users/Desktop/xxx.ppt”;
String outputPdfPath = “/Users/Desktop/pdf.pdf”;
ppt2Pdf(inputExcelPath,outputPdfPath);
}
import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import lombok.extern.log4j.Log4j2;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public static boolean getLicense() {
boolean result = false;
try {
// license.xml应放在
InputStream is = WordConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/** * @param inPath 源文件路径 * @param outPath 新pdf文件路径 */ public static void doc2pdf(String inPath, String outPath) { // 验证License 若不验证则转化出的pdf文档会有水印产生 if (!getLicense()) { return; } log.info("开始转换doc==start"); FileOutputStream os = null; try { long old = System.currentTimeMillis(); // 新建一个空白pdf文档 File file = new File(outPath); os = new FileOutputStream(file); // Address是将要被转化的word文档 Document doc = new Document(inPath); // 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, doc.save(os, SaveFormat.PDF); // EPUB, XPS, SWF 相互转换 long now = System.currentTimeMillis(); // 转化用时 log.info("共耗时:{}",((now - old) / 1000.0) ); } catch (Exception e) { log.info("转换pdf报错==[{}]",e); } finally { try { os.close(); } catch (IOException e) { e.printStackTrace(); } } }
public static void main(String[] args) {
String inPath = "/Users/Desktop/xxx.doc";
String outPath ="/Users/Desktop/xxx.pdf";
doc2pdf(inPath,outPath);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。