在本文中,我们和大家分享Java中Aspose组件在多个文档之间转换方法的内容,有需要的朋友可以学习一下。
什么是Aspose?
阿斯波斯。Total是Aspose拥有的最全面的办公文档管理方案,主要提供。net和java开发语言。通过它,我们可以有计划地操作一些最流行的商业文件格式:Word、Excel、PowerPoint、Project等office文档和PDF文档。除了强大的文件操作组件,Aspose。Total还提供绘图、写电子邮件、拼写检查、创建条形码、生成特别查询、复制格式、工作流程等组件。有了它,我们可以组织一个完整的文档管理方案。
包括的功能:
Aspose.Word:
阿斯波斯。Words是一个高级类库,通过它可以在各种应用程序中直接执行各种文档处理任务。阿斯波斯。Words支持DOC、OOXML、RTF、HTML、OpenDocument、PDF、XPS、EPUB等格式。用阿司匹林。Word,您可以在不使用Microsoft Word的情况下生成、更改、转换、呈现和打印文档。
Aspose.Cell:
阿斯波斯。Cells是一个广受好评的电子表格组件,它支持所有Excel格式类型。用户可以在不依赖Microsoft Excel的情况下,为自己的应用程序嵌入读取、写入和处理Excel数据表的功能。阿斯波斯。单元格可以导入导出每一个具体的数据、表格和格式,导入各级图像,应用复杂的计算公式,保存各种格式的Excel数据等。-所有这些功能都可以在不使用Microsoft Excel和Microsoft Office Automation的情况下完成。
Aspose.PDF:
阿斯波斯。Pdf是一个PDF文档创建组件,可以帮助用户在不使用Adobe Acrobat的情况下读取、写入和操作PDF文件。Aspose的丰富特性。Pdf: PDF文档压缩选项、表格创建和操作、图表支持、图像功能、丰富的超链接功能、扩展的安全组件和自定义字体处理。
Aspose.BarCode:
阿斯波斯。条形码是一个强大而健壮的条形码生成和识别组件。
Aspose.Slide:
阿斯波斯。幻灯片是一个独特的控件,可用于PowerPoint管理。用户可以在不使用Microsoft PowerPoint的情况下,在应用程序中读取、写入和操作Microsoft PowerPoint文件。阿斯波斯。Slides是第一个可以在用户应用程序中管理PowerPoint文档的组件。
Aspose.Task:
阿斯波斯。任务是非图形化的。NET项目管理组件,它支持。NET应用程序来读写和管理项目文档,而无需使用Microsoft Project。用阿司匹林。任务,您可以阅读和更改任务,复制任务、资源、资源分配、关系和日历。阿斯波斯。Tasks是一个非常成熟的产品,提供了稳定性和灵活性。
今天,我们将重点讨论前三个组成部分。单词,Aspose。细胞和Aspose.Pdf。利用这三个组件,我们可以实现将Word转换为PDF,Excel转换为Pdf,以及将多个Pdf合并为一个Pdf的功能。下面我们会加载干货。
包Jar和许可证获取方法:
链接:https://pan.baidu.com/s/1PwtvfPGLu1MIpMLNHKHTmg
提货代码:5la1
导入com . aspose . words . document;
导入com . aspose . words . license;
导入com . aspose . words . save format;
导入Java . io . bytearray inputstream;
导入Java . io . file inputstream;
导入Java . io . inputstream;
/**
*使用IntelliJ IDEA创建
*由顾东城创作
*日期:2019年2月21日
*时间:14时01分
* Desc:使用Aspose.words将Word文件转换成pdf文件。
*/
公共类AsposeWordTest {
/**
*获得许可证
*
* @返回
*/
私有静态布尔getLicense() {
布尔结果=假;
尝试{
//凭证
字符串许可证=
许可证\n '
数据\n '
产品\n '
ProductAspose。' Java/产品合计\n '
ProductAspose。' Java/产品的单词\n '
/产品\n '
' edition type enterprise/edition type \ n '
subscription expiry 20991231/subscription expiry \ n '
' license expiry 20991231/license expiry \ n '
'序列号8 bfe 198 c-7f0c-4ef 8-8ff 0-ACC 3237 bf0d 7/序列号\n '
/Data\n '
'签名nlkgmudf 0 r 8 o 1 kkilwagdfs 2 bvjb/2xp 8 p 5 iudvfzxmhppo d0ran 1 p 9 tkdjv 4 abwagkxj 3 jcqtqe/2 irfqwnpf 8 ITN 8 afzlv 3 jpyed 3y we7 it 55 gz 6 eijupc 7 akeoohtb 4 w 2 fpox 58 wwof 3 SNP 6 sk 6 jdfiaugehyj 9 pju=/Signature '
/License ';
InputStream is=new bytearray InputStream(许可证。getbytes(' UTF-8 ');
许可证名称=新许可证();
阿斯波塞利克。设置许可(是);
结果=真;
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
* word转可移植文档格式文件的扩展名(可移植文档格式的缩写)
* @param docPath要转换的单词文件路径
* @param pdfPath转换完成后输出的可移植文档格式文件的扩展名(可移植文档格式的缩写)文件路径
*/
公共静态void doc 2 pdf(String docPath,String pdfPath) {
如果(!getLicense()) {
返回;
}
尝试{
Document convert doc=new Document(新文件inputstream(docPath));
convertDoc.save(pdfPath,SaveFormat .PDF);
} catch(异常e) {
e。printstacktrace();
}
}
公共静态void main(String[] args) {
//在硬盘直接创建一个空白可移植文档格式文件的扩展名(可移植文档格式的缩写)即可
asposewordtest。doc 2 pdf(' H:/test。docx ',' H:/测试文档。pdf’);
}
}
导入com。阿斯波斯。细胞。执照;
导入com。阿斯波斯。细胞。保存格式;
导入com。阿斯波斯。细胞。工作簿;
导入Java。io。bytearray inputstream
导入Java。io。文件输入流;
导入Java。io。inputstream
/**
*使用智能理念创建
*创建者顾东城
*日期:2019年2月22日
*时间:9:01
* Desc:使用阿斯波斯。细胞将擅长文件转换为可移植文档格式文件的扩展名(可移植文档格式的缩写)文件
*/
公共类AsposeCellTest {
/**
* 获取许可证
*
* @返回
*/
私有静态布尔getLicense() {
布尔结果=假;
尝试{
//凭证
字符串许可证=
许可证\n '
数据\n '
产品\n '
产品用途.Java/产品合计\n '
产品用途.Java/产品的单词\n '
/产品\n '
版本类型企业/版本类型\ n '
订阅到期20991231/订阅到期\ n '
'许可证到期20991231/许可证到期\ n '
'序列号8 bfe 198 c-7f0c-4ef 8-8ff 0-ACC 3237 bf0d 7/序列号\n '
/Data\n '
'签名nlkgmudf 0 r 8 o 1 kkilwagdfs 2 bvjb/2xp 8 p 5 iudvfzxmhppo d0ran 1 p 9 tkdjv 4 abwagkxj 3 jcqtqe/2 irfqwnpf 8 ITN 8 afzlv 3 jpyed 3y we7 it 55 gz 6 eijupc 7 akeoohtb 4 w 2 fpox 58 wwof 3 SNP 6 sk 6 jdfiaugehyj 9 pju=/Signature '
/License ';
InputStream is=new bytearray InputStream(许可证。getbytes(' UTF-8 ');
许可证名称=新许可证();
阿斯波塞利克。设置许可(是);
结果=真;
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
* excel转可移植文档格式文件的扩展名(可移植文档格式的缩写)
* @param excelPath要转换的擅长文件路径
* @param pdfPath转换完成后输出的可移植文档格式文件的扩展名(可移植文档格式的缩写)文件路径
*/
公共静态void excel2pdf(String excelPath,String pdfPath) {
如果(!getLicense()) {
返回;
}
尝试{
Workbook convertExcel=new Workbook(新文件inputstream(excel路径));
convertExcel.save(pdfPath,SaveFormat .PDF);
}catch(异常e) {
e。printstacktrace();
}
}
公共静态void main(String[] args) {
//在硬盘直接创建一个空白可移植文档格式文件的扩展名(可移植文档格式的缩写)即可
asposecelltest。excel 2 pdf(' H:/test。xlsx ',' H:/测试excel。pdf’);
}
}
导入com。阿斯波斯。pdf。文档;
导入com。阿斯波斯。pdf。执照;
导入Java。io。bytearray inputstream
导入Java。io。文件输入流;
导入Java。io。filenotfoundexception
导入Java。io。inputstream
导入Java。util。数组;
导入Java。util。列表;
/**
*使用智能理念创建
*创建者顾东城
*日期:2019年2月22日
*时间:9时24分
* Desc:使用阿斯波斯。可移植文档格式文件的扩展名(可移植文档格式的缩写)将多个可移植文档格式文件的扩展名(可移植文档格式的缩写)合并为一个可移植文档格式文件的扩展名(可移植文档格式的缩写)文件
*/
公共类AsposePdfTest {
/**
* 获取许可证
*
* @返回
*/
私有静态布尔getLicense() {
布尔结果=假;
尝试{
//凭证
字符串许可证=
许可证\n '
数据\n '
产品\n '
产品用途.Java/产品合计\n '
产品用途.Java/产品的单词\n '
/产品\n '
版本类型企业/版本类型\ n '
订阅到期20991231/订阅到期\ n '
'许可证到期20991231/许可证到期\ n '
'序列号8 bfe 198 c-7f0c-4ef 8-8ff 0-ACC 3237 bf0d 7/序列号\n '
/Data\n '
'签名nlkgmudf 0 r 8 o 1 kkilwagdfs 2 bvjb/2xp 8 p 5 iudvfzxmhppo d0ran 1 p 9 tkdjv 4 abwagkxj 3 jcqtqe/2 irfqwnpf 8 ITN 8 afzlv 3 jpyed 3y we7 it 55 gz 6 eijupc 7 akeoohtb 4 w 2 fpox 58 wwof 3 SNP 6 sk 6 jdfiaugehyj 9 pju=/Signature '
/License ';
InputStream is=new bytearray InputStream(许可证。getbytes(' UTF-8 ');
许可证名称=新许可证();
阿斯波塞利克。设置许可(是);
结果=真;
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
*
* @ param pdfPaths要合并的可移植文档格式文件的扩展名(可移植文档格式的缩写)文件路径
* @param mergeSavePath最终合并完成输出的可移植文档格式文件的扩展名(可移植文档格式的缩写)文件路径
*/
公共静态void pdf合并pdf(ListString pdf paths,String mergeSavePath){
尝试{
文档合并文档=新文档();
for (String pdfPath : pdfPaths) {
文档文档=新文档(新文件输入流(pdf路径));
mergeDocument.getPages().添加(文档。get pages());
}
合并文档。保存(mergeSavePath);
} catch(找不到文件异常e){
e。printstacktrace();
}
}
公共静态void main(String[] args) {
//将需要合并的可移植文档格式文件的扩展名(可移植文档格式的缩写)文件放入目录
ListString pdf路径=数组。aslist(' H:/testdoc。' pdf ',' H:/测试excel。pdf’);
//在硬盘直接创建一个空白可移植文档格式文件的扩展名(可移植文档格式的缩写)即可
asposepdftest。pdf合并pdf(pdf路径,' H:/merge。pdf’);
}
}
注意事项:
阿斯波斯。单词、Aspose。细胞、蜘蛛。可移植文档格式文件的扩展名(portable document format的缩写)三个冲突包中都有文档、许可证、保存格式类,如果想法或者黯然失色控制台没有报错,但是打开便携文档格式提示便携文档格式格式错误或者文件损坏的话,请检查一下导包是否正确。
获取许可证网上也有通过类加载器获取license.xml方式获取执照,但是我尝试很多次都是报空指针异常,所以采用了直接使用字符串拼接的方式,如果各位有更好的办法可以直接留言。
博客仅作为博主学习记录,交流使用,如果有不正确的地方,请在评论区留言指正。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。