Java利用aspose-words将word文档转换成pdf
基本介绍
Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务。Aspose.Words全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换。使用Aspose.Words可以在不使用Microsoft.Word的情况下生成、修改、转换和打印文档。在项目中使用Aspose.Words可以有以下好处,组件相对于较大(9.76M)。
丰富的功能集
其丰富的功能特性主要有以下4个方面:
- 格式转换 ,Aspose.Words具有高质量的文件格式转换功能,可以和Doc,OOXL,RTF,TXT等格式互相转换;
- 文档对象模型 ,通过丰富的API以编程方式访问所有的文档元素和格式,允许创建,修改,提取,复制,分割,加入,和替换文件内容;
- 文件渲染,可以在服务器端转换整个文档或者页面为PDF,XPS,SWF格式,同样可以转换文档页面为图像格式,或者.NET Graphics对象,这些功能和Microsoft.Word是一样的;
- 报表,可以从对象或者数据源填充模版生成文件;
不需要Microsoft.Word
Aspose.Words可以在没有安装Microsoft Office的机器上工作。所有的Aspose组件都是独立,不需要微软公司的授权。总之, Aspose.Words在安全性、稳定性、可扩展性、速度、价格和自动化功能方面,是一个很不错的选择。
独立的平台
Aspose.Words可以运行在Windows,Linux和Mac OS操作系统上面。可以使用Aspose.Words去创建32位或者64位的.NET应用程序,包括Asp.NET、WCF、WinForm等等,还可以使用Com组件在Asp、Perl、PHP和Python语言中使用,同样可以在Mono平台上使用Aspose.Words建立.NET应用程序。
性能和可伸缩性
Aspose.Words可以运行在服务器和客户端,它是一个独立的.NET程序集,可以被任何.NET应用程序复制和部署。使用Aspose.Words可以在短时间内产生成千上万的文档,可以打开文档,并修改格式和内容,填充数据并保存。Aspose.Words是多线程安全的,不同的线程在同一时间处理不同的文档。
下载组件
链接:
https://pan.baidu.com/s/1rf4Tm1T9CU83BVTujyfLPQ
提取码:
4ype
直接上代码
import java.io.*;
import com.aspose.words.*;
//引入aspose-words-15.8.0-jdk16.jar包
public class Doc2Pdf {
/**
* doc转pdf
* @param sourceFileName doc文档的路径
* @param newFileName
* @throws Exception
*/
public static void docTurnPdf(String sourceFileName,String newFileName) throws Exception {
if (!getLicense()) {// 验证License 若不验证则转化出的pdf文档会有水印产生
return;
}
File file = new File(newFileName); //新建一个空白pdf文档
FileOutputStream os = new FileOutputStream(file);
Document doc = new Document(sourceFileName);//Address是将要被转化的word文档
doc.save(os, SaveFormat.PDF);//全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
os.close();
//删除doc文件,用不到就删掉
File f = new File(sourceFileName);
if(f.exists()){
f.delete();
}
}
public static boolean getLicense(){
boolean result = false;
try {
InputStream is = Doc2Pdf.class.getClassLoader().getResourceAsStream("config/license.xml"); //Test要替换成当前类名 license.xml应放在..\WebRoot\WEB-INF\classes路径下
License aposeLic = new License();
aposeLic.setLicense(is);
is.close();
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) throws Exception {
Doc2Pdf.docTurnPdf("源文件路径", "输出文件路径");
}
需要破解的license.xml
在项目resources结构下创建config,并在config文件下创建license.xml文件,并把一下内容粘贴进去
<License>
<Data>
<Products>
<Product>Aspose.Total for Java</Product>
<Product>Aspose.Words for Java</Product>
</Products>
<EditionType>Enterprise</EditionType>
<SubscriptionExpiry>20991231</SubscriptionExpiry>
<LicenseExpiry>20991231</LicenseExpiry>
<SerialNumber>23dcc79f-44ec-4a23-be3a-03c1632404e9</SerialNumber>
</Data>
<Signature>
sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
</Signature>
</License>