gpt4 book ai didi

Java中Aspose组件进行多文档间的转换方法总结

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java中Aspose组件进行多文档间的转换方法总结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

什么是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 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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" );
  }
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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" );
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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" );
  }
}

注意事项:

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

原文链接:https://www.cnblogs.com/gudongcheng/p/10417003.html 。

最后此篇关于Java中Aspose组件进行多文档间的转换方法总结的文章就讲到这里了,如果你想了解更多关于Java中Aspose组件进行多文档间的转换方法总结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com