一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - Java中Aspose組件進行多文檔間的轉換方法總結

Java中Aspose組件進行多文檔間的轉換方法總結

2021-07-16 16:28顧東城 Java教程

在本篇文章里我們給大家分享了關于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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色菇凉天天综合网 | 日本噜噜影院 | 边吃奶边扎下面 | 亚洲精品无码不卡 | 美女模特被c免费视频 | 翁息肉小说老扒 | 欧美午夜精品久久久久久黑人 | 单身男女韩剧在线看 | 午夜免费无码福利视频麻豆 | 调教小龙女| 动漫美女被吸乳羞羞小说 | 狠狠色96视频 | 亚洲AV国产精品无码精 | 嫩模被黑人粗大挺进 | 欧美日韩国产成人精品 | 午夜欧美福利视频 | 美女厕所尿尿擦逼 | 亚洲成a人片777777久久 | 亚洲欧美在线观看一区二区 | 幸福草电视剧演员表介绍 | 天天舔天天干天天操 | 亚洲成在人线视频 | 国产精品国产色综合色 | 日韩性生活片 | 久久亚洲精品中文字幕60分钟 | 丝袜白浆 | china精品对白普通话 | 韩国三级做爰 | 深夜福利影院在线观看 | 成年性午夜免费视频网站不卡 | 白丝爆动漫羞羞动漫网站 | 超级乱淫伦短篇小说做车 | 性趣用品| 波多野结衣在线中文 | 肉文np高h | 亚洲国产成人久久综合区 | 特级毛片免费视频观看 | 高清在线一区二区 | 亚洲精品青青草原avav久久qv | 国产精品日本亚洲777 | 亚洲午夜精品久久久久久成年 |