什么是Aspose?

Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,主要提供.net跟java两个开发语言的控件套包,通过它,我们可以有计划地操纵一些商业中最流行的文件格式:Word, Excel, PowerPoint, Project,等office文档以及PDF文档。 除了强大的文件操纵组件之外,Aspose.Total 还提供了用于制图、写电子邮件、拼写检查、创建条形码、生成ad hoc 查询、重现格式以及工作流等组件,运用它我们可以整理一个完整的文档管理方案。

包含的功能:

  • Aspose.Word:

    Aspose.Words是一款先进的类库,通过它可以直接在各个应用程序中执行各种文档处理任务。Aspose.Words支持DOC,OOXML,RTF,HTML,OpenDocument, PDF, XPS, EPUB和其他格式。使用Aspose.Words,您可以生成,更改,转换,渲染和打印文档而不使用Microsoft Word。
  • Aspose.Cell:

    Aspose.Cells是一个广受赞誉的电子表格组件,支持所有Excel格式类型的操作,用户无需依靠Microsoft Excel也可为其应用程序嵌入读写和处理Excel数据表格的功能。Aspose.Cells可以导入和导出每一个具体的数据,表格和格式,在各个层面导入图像,应用复杂的计算公式,并将Excel的数据保存为各种格式等等---完成所有的这一切功能都无需使用Microsoft Excel 和Microsoft Office Automation。
  • Aspose.PDF:

    Aspose.Pdf是一个PDF文档创建组件,可以帮助用户无需使用Adobe Acrobat 即可读写和操作PDF文件。Aspose.Pdf丰富功能:PDF文档压缩选项,表格创建与操作,图表支持,图像功能,丰富的超链接功能,扩展的安全性组件以及自定义字体处理。
  • Aspose.BarCode:

    Aspose.BarCode是一个功能强大,且稳健的条形码生成和识别组件。
  • Aspose.Slide:

    Aspose.Slides是一个独特的可用于PowerPoint管理的控件,用户无需使用Microsoft PowerPoint即可在应用程序中对Microsoft PowerPoint文件进行读写以及操作。Aspose.Slides是第一个能在用户的应用程序中对PowerPoint文档进行管理的组件。
  • Aspose.Task:

    Aspose.Tasks 是一个非图形的.NET 项目管理组件,使.NET应用程序可以阅读以及撰写、管理项目文档时无须使用Microsoft Project。使用Aspose.Tasks 你可以阅读和改变任务,重现任务,资源,资源分配,关系和日历。Aspose.Tasks 是一个提供稳定性和灵活性的非常成熟的产品。

我们今天重点讲解的是前面3个,Aspose.Words、Aspose.Cells、Aspose.Pdf,利用这三个组件分别实现Word转Pdf、Excel转Pdf、以及多个Pdf合并为一个Pdf的功能,下面上干货。

Jar包及License获取方式:

  链接:https://pan.baidu.com/s/1PwtvfPGLu1MIpMLNHKHTmg
  提取码:5la1

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat; import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.InputStream; /** * Created with IntelliJ IDEA * Created By 顾东城 * Date: 2019/2/21 * Time: 14:01 * Desc: 使用Aspose.Words将word文件转换为pdf文件 */ public class AsposeWordTest { /** * 获取license * * @return */ private static boolean getLicense() { boolean result = false; try { // 凭证 String license = "<License>\n" + " <Data>\n" + " <Products>\n" + " <Product>Aspose.Total for Java</Product>\n" + " <Product>Aspose.Words for Java</Product>\n" + " </Products>\n" + " <EditionType>Enterprise</EditionType>\n" + " <SubscriptionExpiry>20991231</SubscriptionExpiry>\n" + " <LicenseExpiry>20991231</LicenseExpiry>\n" + " <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>\n" + " </Data>\n" + " <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>\n" + "</License>"; InputStream is = new ByteArrayInputStream(license.getBytes("UTF-8")); License asposeLic = new License(); asposeLic.setLicense(is); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * word 转 pdf * @param docPath 要转换的word文件路径 * @param pdfPath 转换完成后输出的pdf文件路径 */ public static void doc2pdf(String docPath,String pdfPath) { if (!getLicense()) { return; } try { Document convertDoc = new Document(new FileInputStream(docPath)); convertDoc.save(pdfPath, SaveFormat.PDF); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { //在硬盘直接创建一个空白pdf即可 AsposeWordTest.doc2pdf("H:/test.docx","H:/testDoc.pdf"); } }

import com.aspose.cells.License;
import com.aspose.cells.SaveFormat;
import com.aspose.cells.Workbook; import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.InputStream; /** * Created with IntelliJ IDEA * Created By 顾东城 * Date: 2019/2/22 * Time: 9:01 * Desc: 使用Aspose.Cells将excel文件转换为pdf文件 */ public class AsposeCellTest { /** * 获取license * * @return */ private static boolean getLicense() { boolean result = false; try { // 凭证 String license = "<License>\n" + " <Data>\n" + " <Products>\n" + " <Product>Aspose.Total for Java</Product>\n" + " <Product>Aspose.Words for Java</Product>\n" + " </Products>\n" + " <EditionType>Enterprise</EditionType>\n" + " <SubscriptionExpiry>20991231</SubscriptionExpiry>\n" + " <LicenseExpiry>20991231</LicenseExpiry>\n" + " <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>\n" + " </Data>\n" + " <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>\n" + "</License>"; InputStream is = new ByteArrayInputStream(license.getBytes("UTF-8")); License asposeLic = new License(); asposeLic.setLicense(is); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * excel 转 pdf * @param excelPath 要转换的excel文件路径 * @param pdfPath 转换完成后输出的pdf文件路径 */ public static void excel2pdf(String excelPath,String pdfPath) { if (!getLicense()) { return; } try { Workbook convertExcel = new Workbook(new FileInputStream(excelPath)); convertExcel.save(pdfPath, SaveFormat.PDF); }catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { //在硬盘直接创建一个空白pdf即可 AsposeCellTest.excel2pdf("H:/test.xlsx","H:/testExcel.pdf"); } }

import com.aspose.pdf.Document;
import com.aspose.pdf.License;import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.util.Arrays; import java.util.List; /** * Created with IntelliJ IDEA * Created By 顾东城 * Date: 2019/2/22 * Time: 9:24 * Desc: 使用Aspose.Pdf将多个pdf合并为一个pdf文件 */ public class AsposePdfTest { /** * 获取license * * @return */ private static boolean getLicense() { boolean result = false; try { // 凭证 String license = "<License>\n" + " <Data>\n" + " <Products>\n" + " <Product>Aspose.Total for Java</Product>\n" + " <Product>Aspose.Words for Java</Product>\n" + " </Products>\n" + " <EditionType>Enterprise</EditionType>\n" + " <SubscriptionExpiry>20991231</SubscriptionExpiry>\n" + " <LicenseExpiry>20991231</LicenseExpiry>\n" + " <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>\n" + " </Data>\n" + " <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>\n" + "</License>"; InputStream is = new ByteArrayInputStream(license.getBytes("UTF-8")); License asposeLic = new License(); asposeLic.setLicense(is); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * * @param pdfPaths 要合并的pdf文件路径 * @param mergeSavePath 最终合并完成输出的pdf文件路径 */ public static void pdfMergePdf(List<String> pdfPaths,String mergeSavePath){ try { Document mergeDocument = new Document(); for (String pdfPath : pdfPaths) { Document document = new Document(new FileInputStream(pdfPath)); mergeDocument.getPages().add(document.getPages()); } mergeDocument.save(mergeSavePath); } catch (FileNotFoundException e) { e.printStackTrace(); } } public static void main(String[] args) { //将需要合并的pdf文件放入list List<String> pdfPaths = Arrays.asList("H:/testDoc.pdf","H:/testExcel.pdf"); //在硬盘直接创建一个空白pdf即可 AsposePdfTest.pdfMergePdf(pdfPaths,"H:/merge.pdf"); } }

注意事项:

  1. Aspose.Words、Aspose.Cells、Aspose.Pdf 三个Jar包中都有Document、License、SaveFormat类,如果Idea或者Eclipse控制台没有报错,但是打开PDF提示PDF格式错误或者文件损坏的话,请检查一下导包是否正确。
  2. 获取License网上也有通过类加载器获取license.xml方式获取license,但是我尝试很多次都是报空指针异常,所以采用了直接使用字符串拼接的方式,如果各位有更好的办法可以直接留言。
  3. 博客仅作为博主学习记录,交流使用,如果有不正确的地方,请在评论区留言指正。

转载于:https://www.cnblogs.com/snake23/p/10417241.html

Java使用Aspose组件进行多文档间的转换操作相关推荐

  1. java通过aspose实现文档间格式转换

    aspose简述 Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,主要提供.net跟java两个开发语言的控件套包,通过它,我们可以有计划地操纵一些商业中最流行的文 ...

  2. java使用Aspose.words实现word文档转pdf文件

    引入原因: 感觉openOffice问题还是比较多的. 1. 比如经常出现8100端口问题,虽然kill了就行,但是还是多了一份操作. 2. 出现少数docx无法预览的问题.(已经修改过源码兼容doc ...

  3. Word处理控件Aspose.Words功能演示:在 Java 中将 HTML 文件转换为 Word 文档

    在各种情况下,您可能需要将 HTML 内容转换为 Word 文档.例如,用于从所见即所得 HTML 编辑器生成文档或将网页转换为 DOCX 或 DOC 格式.为了以编程方式执行此转换,本文介绍了如何将 ...

  4. 简单几行代码,教你在Aspose.words中使用 Java 将水印添加到 Word 文档

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  5. java pdf打印_Java 打印PDF文档

    本文将介绍如何在Java应用程序中打印PDF文档.一般有以下三种常见打印方式:静默打印 显示打印对话框打印 打印PDF时自定义纸张大小 使用工具:Free Spire.PDF for Java 创建运 ...

  6. 使用IText组件在PDF文档上绘制椭圆形印章的算法分析及代码分享

    1. 引言 PDF是一种和操作系统及平台无关的.可移植的电子文件格式,其以PostScript语言图像模型为基础,无论在哪种打印机上,都可保证精确的颜色和准确的打印效果.PDF将真实地再现原稿的每一个 ...

  7. JAVA中利用DOM解析XML文档

    JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...

  8. 利用java实现android项目结构API文档

    利用java实现android项目结构API文档 2012-11-16 快速生成API文档列表 在android项目中的.CLASSPATH文件里添加android.jar路径 例如: <cla ...

  9. Java注释--单行注释、多行注释、文档注释

    Java注释–单行注释.多行注释.文档注释 单行注释和多行注释 语法格式 //单行注释 //单行注释 //注释内容/* 这里可以放置多行注释 多行注释的内容 Java真的学起来有意思!! */ 举例: ...

最新文章

  1. Adnroid文件存储路径getFilesDir()与getExternalFilesDir的区别
  2. Loadrunner手动关联详解
  3. linux 命令之 kill
  4. 《ASP.NET MVC3高级编程》学习笔记2
  5. oracle 用户 表空间绑定,ORACLE表空间绑定用户操作流程
  6. Android 5.0+高级动画开发 矢量图动画 轨迹动画 路径变换
  7. centos升级gcc
  8. mysql+rsyslog,loganalyzer+mysql+rsyslog中央日志服务器对syslog的web管理
  9. 欧洲英语语言c1证书,威尼斯大学认可的英语语言证书
  10. SqlServer中union 和 union all的区别
  11. 【转】一致性hash算法与server列表维护
  12. java 实现poi方式读取word文件内容
  13. immutability因React官方出镜之使用总结分享!
  14. bmfont 导入png图片不能正常加载
  15. 关于购买域名的一些建议
  16. 中国天气网-天气预报接口api
  17. 13个最狂帅炫酷的前沿科技研究项目
  18. 深度 GHOST XP SP3 纯净版 2013 06
  19. 植物图像识别python_python实现图像识别功能
  20. hdu 1109 Run Away

热门文章

  1. LiveUpdate(自动更新)经验
  2. 2022-2028年全球与中国油田化学品行业发展趋势及竞争策略研究
  3. 【高等数学】求空间直角坐标系中一点到一平面的投影
  4. 抓INOVANCE 汇川屏与汇川PLC通信
  5. 电脑维修指导手册(联想)
  6. OSI七层网络模型概念
  7. Java/HTML/CSS/JavaScript/Jsp实现的药店管理系统源码
  8. 学计算机男自编对联,学习对联大全
  9. echarts折线图改变y轴刻度
  10. 西门子S7-1200组态PROFINET