欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java aspose的集成

程序员文章站 2022-05-07 19:01:50
导入aspose.slides-15.9.0.jar、aspose-cad-20.4.jar、aspose-cells-8.5.2.jar、aspose-words-18.5.0718-jdk16.jar四个jar包,由于这个几jar包不支持maven,所以需要手动导入。将license.xml放到src/main/resources下工具类import java.io.File;import java.io.FileOutputStream;import java.io.IOExceptio....
  1. 导入aspose.slides-15.9.0.jar、aspose-cad-20.4.jar、aspose-cells-8.5.2.jar、aspose-words-18.5.0718-jdk16.jar四个jar包,由于这个几jar包不支持maven,所以需要手动导入。
  2. 将license.xml放到src/main/resources下
  3. 工具类
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PdfCompliance;
import com.aspose.cad.imageoptions.PdfDocumentOptions;
import com.aspose.cad.imageoptions.PdfOptions;
import com.aspose.cells.Workbook;
import com.aspose.slides.Presentation;
import com.aspose.words.Document;
import com.aspose.words.SaveFormat;

public class ConvertPdfUtil {

	/**
	 * word签名
	 * */
	public static boolean getLicenseDoc ( ) {
		boolean result = false;
		com.aspose.words.License aposeLic = new com.aspose.words.License();
		try {
			InputStream is = ConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
			aposeLic.setLicense(is);
			result = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
	public static boolean getLicenseExc ( ) {
		boolean result = false;
		com.aspose.cells.License aposeLic = new com.aspose.cells.License();
		try {
			InputStream is = ConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
			aposeLic.setLicense(is);
			result = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
	public static boolean getLicensePPt ( ) {
		boolean result = false;
		com.aspose.slides.License aposeLic = new com.aspose.slides.License();
		try {
			InputStream is = ConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
			aposeLic.setLicense(is);
			result = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
	public static boolean getLicense() {
		boolean result = false;
		com.aspose.cad.License aposeLic = new com.aspose.cad.License();
		try {
			InputStream is = ConvertPdfUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
			aposeLic.setLicense(is);
			result = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
	public static boolean doc2pdf(String inPath, String outPath) {
  	 if (!getLicenseDoc()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
			return false;
		}
		FileOutputStream os = null;
		try {
			long old = System.currentTimeMillis();
			File file = new File(outPath); // 新建一个空白pdf文档
			os = new FileOutputStream(file);
			Document doc = new Document(inPath); // Address是将要被转化的word文档
			doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,
											// EPUB, XPS, SWF 相互转换
			long now = System.currentTimeMillis();
			System.out.println("pdf转换成功,共耗时:" + ((now - old) / 1000.0) + "秒"); // 转化用时
			if (os != null) {
				try {
					os.flush();
					os.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		} finally {

		}
		return true;
	}

	/**
	 * 支持DOC, DOCX, OOXML, RTF, HTML, OpenDocument, PDF, EPUB, XPS, SWF等相互转换<br>
	 * 
	 * @param
	 */
	public static boolean excl2pdf(String inPath, String outPath) {

		// 验证License
		if (!getLicenseExc()) {
			return false;
		}

		try {
			long old = System.currentTimeMillis();
			Workbook wb = new Workbook(inPath);// 原始excel路径
			File pdfFile = new File(outPath);// 输出路径
			FileOutputStream fileOS = new FileOutputStream(pdfFile);

			wb.save(fileOS, com.aspose.cells.SaveFormat.PDF);

			long now = System.currentTimeMillis();
			System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			return true;
		}
	}

	// ppt to pdf

	/**
	 *
	 * @param
	 */
	public static void ppt2pdf(String oldUrl, String pdfUrl) {
		// 验证License
		if (!getLicensePPt()) {
			return;
		}

		try {
			long old = System.currentTimeMillis();
			File file = new File(pdfUrl);// 输出pdf路径
			Presentation pres = new Presentation(oldUrl);// 输入pdf路径
			FileOutputStream fileOS = new FileOutputStream(file);
			pres.save(fileOS, com.aspose.slides.SaveFormat.Pdf);
			fileOS.close();

			long now = System.currentTimeMillis();
			System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒\n\n" + "文件保存在:" + file.getPath()); // 转化过程耗时
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	//cad dwg 文件转 pdf
	public static void dwg2pdf(String oldUrl, String pdfUrl) {
		if (!getLicense()) {
			return;
		}

		// TODO Auto-generated method stub
		com.aspose.cad.Image objImage = com.aspose.cad.Image.load(oldUrl);
		// Create an instance of PdfOptions
		PdfOptions pdfOptions = new PdfOptions();
		pdfOptions.setVectorRasterizationOptions(new CadRasterizationOptions());

		pdfOptions.setCorePdfOptions(new PdfDocumentOptions());
		pdfOptions.getCorePdfOptions().setCompliance(PdfCompliance.PdfA1a);
		long curTime = new Date().getTime();
		// 初始化pdf文件 dataDir(本地) urlPrefix:http
		objImage.save(pdfUrl, pdfOptions);
	}

}

4.调用

public static void main(String [] args){
	//将word文档转成PDF,根据工具类的名称进行调用,前面是要转的文件,后面是要转成的文件
	ConvertPdfUtil.doc2pdf("文档的地址","要转成的pdf的地址");
}
  1. 导入jar包的步骤
    选中项目-》右键-》build path,然后
    java aspose的集成
    1. 4个jar包的地址和license.xml的地址
      https://download.csdn.net/download/qq_40002311/12598440

本文地址:https://blog.csdn.net/qq_40002311/article/details/107257825