您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在Java中使用Aspose組件進(jìn)行多文檔轉(zhuǎn)換,此處通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下:
什么是Aspose?
Aspose.Total是Aspose公司旗下的最全的一套o(hù)ffice文檔管理方案,主要提供.net跟java兩個(gè)開發(fā)語言的控件套包,通過它,我們可以有計(jì)劃地操縱一些商業(yè)中最流行的文件格式:Word, Excel, PowerPoint, Project,等office文檔以及PDF文檔。 除了強(qiáng)大的文件操縱組件之外,Aspose.Total 還提供了用于制圖、寫電子郵件、拼寫檢查、創(chuàng)建條形碼、生成ad hoc 查詢、重現(xiàn)格式以及工作流等組件,運(yùn)用它我們可以整理一個(gè)完整的文檔管理方案。
包含的功能:
Aspose.Word:
Aspose.Words是一款先進(jìn)的類庫(kù),通過它可以直接在各個(gè)應(yīng)用程序中執(zhí)行各種文檔處理任務(wù)。Aspose.Words支持DOC,OOXML,RTF,HTML,OpenDocument, PDF, XPS, EPUB和其他格式。使用Aspose.Words,您可以生成,更改,轉(zhuǎn)換,渲染和打印文檔而不使用Microsoft Word。
Aspose.Cell:
Aspose.Cells是一個(gè)廣受贊譽(yù)的電子表格組件,支持所有Excel格式類型的操作,用戶無需依靠Microsoft Excel也可為其應(yīng)用程序嵌入讀寫和處理Excel數(shù)據(jù)表格的功能。Aspose.Cells可以導(dǎo)入和導(dǎo)出每一個(gè)具體的數(shù)據(jù),表格和格式,在各個(gè)層面導(dǎo)入圖像,應(yīng)用復(fù)雜的計(jì)算公式,并將Excel的數(shù)據(jù)保存為各種格式等等---完成所有的這一切功能都無需使用Microsoft Excel 和Microsoft Office Automation。
Aspose.PDF:
Aspose.Pdf是一個(gè)PDF文檔創(chuàng)建組件,可以幫助用戶無需使用Adobe Acrobat 即可讀寫和操作PDF文件。Aspose.Pdf豐富功能:PDF文檔壓縮選項(xiàng),表格創(chuàng)建與操作,圖表支持,圖像功能,豐富的超鏈接功能,擴(kuò)展的安全性組件以及自定義字體處理。
Aspose.BarCode:
Aspose.BarCode是一個(gè)功能強(qiáng)大,且穩(wěn)健的條形碼生成和識(shí)別組件。
Aspose.Slide:
Aspose.Slides是一個(gè)獨(dú)特的可用于PowerPoint管理的控件,用戶無需使用Microsoft PowerPoint即可在應(yīng)用程序中對(duì)Microsoft PowerPoint文件進(jìn)行讀寫以及操作。Aspose.Slides是第一個(gè)能在用戶的應(yīng)用程序中對(duì)PowerPoint文檔進(jìn)行管理的組件。
Aspose.Task:
Aspose.Tasks 是一個(gè)非圖形的.NET 項(xiàng)目管理組件,使.NET應(yīng)用程序可以閱讀以及撰寫、管理項(xiàng)目文檔時(shí)無須使用Microsoft Project。使用Aspose.Tasks 你可以閱讀和改變?nèi)蝿?wù),重現(xiàn)任務(wù),資源,資源分配,關(guān)系和日歷。Aspose.Tasks 是一個(gè)提供穩(wěn)定性和靈活性的非常成熟的產(chǎn)品。
我們今天重點(diǎn)講解的是前面3個(gè),Aspose.Words、Aspose.Cells、Aspose.Pdf,利用這三個(gè)組件分別實(shí)現(xiàn)Word轉(zhuǎn)Pdf、Excel轉(zhuǎn)Pdf、以及多個(gè)Pdf合并為一個(gè)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文件轉(zhuǎn)換為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 轉(zhuǎn) pdf * @param docPath 要轉(zhuǎn)換的word文件路徑 * @param pdfPath 轉(zhuǎn)換完成后輸出的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) { //在硬盤直接創(chuàng)建一個(gè)空白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文件轉(zhuǎn)換為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 轉(zhuǎn) pdf * @param excelPath 要轉(zhuǎn)換的excel文件路徑 * @param pdfPath 轉(zhuǎn)換完成后輸出的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) { //在硬盤直接創(chuàng)建一個(gè)空白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將多個(gè)pdf合并為一個(gè)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"); //在硬盤直接創(chuàng)建一個(gè)空白pdf即可 AsposePdfTest.pdfMergePdf(pdfPaths,"H:/merge.pdf"); } }
到此這篇關(guān)于怎么在Java中使用Aspose組件進(jìn)行多文檔轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。