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....
- 导入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.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的地址");
}
- 导入jar包的步骤
选中项目-》右键-》build path,然后- 4个jar包的地址和license.xml的地址
https://download.csdn.net/download/qq_40002311/12598440
- 4个jar包的地址和license.xml的地址
本文地址:https://blog.csdn.net/qq_40002311/article/details/107257825
推荐阅读
-
使用Docker搭建Java环境的步骤方法
-
VFP与其他应用程序的集成
-
【Swagger】可能是目前最好的 Spring Boot 集成 swagger 的方案
-
java的线程池有几种(java线程的创建方式)
-
java的api文档在哪查看(开发者数据api开放平台)
-
java连接mysql的jar包没有bin(mysql可视化管理工具)
-
linkedlist和arraylist的区别是什么(java的四种引用关系从强到弱)
-
java创建数组的几种方式(java编写图形界面程序)
-
浅谈Java代码的 微信长链转短链接口使用 post 请求封装Json(实例)
-
Java 获取当前类名和方法名的实现方法