JAVA实现word和excel转PDF

37次阅读

共计 2286 个字符,预计需要花费 6 分钟才能阅读完成。

license.xml 文件

写一个 license.xml 文件:

Aspose.Total for Java

Aspose.Words for Java

Enterprise

20991231

20991231

8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7

sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=

代码

直接贴代码:

package com.dsunsoft.module.business.web.controller;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

import com.aspose.cells.Workbook;

import com.aspose.words.Document;

import com.aspose.words.License;

public class Test {

private static boolean getLicense() {

boolean result = false;

try {

// 哪里用 license.xml

InputStream is = Test.class.getClassLoader().getResourceAsStream(“word/license.xml”);

License aposeLic = new License();

aposeLic.setLicense(is);

result = true;

} catch (Exception e) {

e.printStackTrace();

}

return result;

}

/**

* wordPath 需要被转换的 word 全路径带文件名

*/

public static String wordChangePdf(String wordPath) {

String pdfPath = wordPath.split(“\\.”)[0] + “.pdf”;

if (!getLicense()) {// 验证 License 若不验证则转化出的 pdf 文档会有水印产生

return “”;

}

try {

long old = System.currentTimeMillis();

File file = new File(pdfPath); // 新建一个 pdf 文档

FileOutputStream os = new FileOutputStream(file);

Document doc = new Document(wordPath); // Address 是将要被转化的 word 文档

// 全面支持 DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
智汇代理申请 http://www.kaifx.cn/broker/th…

doc.save(os, com.aspose.words.SaveFormat.PDF);

long now = System.currentTimeMillis();

os.close();

System.out.println(“ 共耗时:” + ((now – old) / 1000.0) + “ 秒 ”); // 转化用时

} catch (Exception e) {

e.printStackTrace();

}

return wordPath.split(“\\.”)[0] + “.pdf”;

}

/**

* excelPath 需要被转换的 excel 全路径带文件名

*/

public static String excelChangePdf(String excelPath) {

String pdfPath = excelPath.split(“\\.”)[0] + “.pdf”;

if (!getLicense()) {// 验证 License 若不验证则转化出的 pdf 文档会有水印产生

return “”;

}

try {

long old = System.currentTimeMillis();

Workbook wb = new Workbook(excelPath);// 原始 excel 路径

FileOutputStream fileOS = new FileOutputStream(new File(pdfPath));

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

fileOS.close();

long now = System.currentTimeMillis();

System.out.println(“ 共耗时:” + ((now – old) / 1000.0) + “ 秒 ”); // 转化用时

} catch (Exception e) {

e.printStackTrace();

}

return excelPath.split(“\\.”)[0] + “.pdf”;

}

public static void main(String[] args) {

String wordPath = “D:/logs/wordToPdf.doc”;

String wordChangePdf = wordChangePdf(wordPath);

String excelPath = “D:/logs/excelToPdf.xlsx”;

String excelChangePdf = excelChangePdf(excelPath);

}

}

正文完
 0