aspose-*的使用

文章目錄

      • aspose-*
        • 一、依賴--maven
        • 二、需求
          • 1、word------>pdf
          • 2、doc------>docx
          • 2、xls------>xlsx

aspose-*

一、依賴–maven

備注:第三方的jar包可以從資源中下載,有上傳的

        <!--aspose依賴--><dependency><groupId>aspose-words</groupId><artifactId>aspose-words</artifactId><version>1.0</version><scope>system</scope><systemPath>${basedir}/lib/aspose-words-20.12-jdk17-crack.jar</systemPath></dependency><dependency><groupId>aspose-cells</groupId><artifactId>aspose-cells</artifactId><version>1.0</version><scope>system</scope><systemPath>${basedir}/lib/aspose-cells-8.5.2.jar</systemPath></dependency>------------------------------------------------------------------------------------------------------------<!--設置maven-war-plugins插件,否則外部依賴無法打進war包--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.1.0</version><configuration><webResources><!--  多模塊第三方jar引入配置,一個模塊一個resource--><resource><directory>../hxlinks-common/lib</directory><targetPath>WEB-INF/lib/</targetPath><includes><include>**/*.jar</include></includes></resource></webResources></configuration></plugin></plugins>
二、需求
1、word------>pdf
package com.hxlinks.hxiot.controller;import com.aspose.words.*;public class WordToPdf {public static void main(String[] args) throws Exception {// 創建Document對象Document doc = new Document("D:\\50\\templateFilePath\\目前問題.doc");// 初始化PDF保存選項PdfSaveOptions options = new PdfSaveOptions();// 保存為PDFdoc.save("D:/目前問題.pdf", options);}
}
2、doc------>docx
  	/*** 將doc的輸入流轉為docx的輸入流*/public static InputStream convertDoc2Docx(InputStream docInputStream) {try {byte[] inBytes = FileCopyUtils.copyToByteArray(docInputStream);byte[] docxBytes = convertDocStream2docxStream(inBytes);return new ByteArrayInputStream(docxBytes);} catch (IOException e) {e.printStackTrace();log.error("服務異常", e);return null;}}private static byte[] convertDocStream2docxStream(byte[] arrays) {byte[] docxBytes = new byte[1];if (arrays != null && arrays.length > 0) {try (ByteArrayOutputStream os = new ByteArrayOutputStream();InputStream sbs = new ByteArrayInputStream(arrays)) {Document doc = new Document(sbs);doc.save(os, SaveFormat.DOCX);docxBytes = os.toByteArray();} catch (Exception e) {e.printStackTrace();log.error("服務異常", e);}}return docxBytes;}
2、xls------>xlsx
    /*** 將xls的輸入流轉為xlsx的輸入流*/public static InputStream convertXls2Xlsx(InputStream xlsInputStream) {try {byte[] inBytes = FileCopyUtils.copyToByteArray(xlsInputStream);byte[] xlsxBytes = convertXlsStream2XlsxStream(inBytes);return new ByteArrayInputStream(xlsxBytes);} catch (IOException e) {e.printStackTrace();log.error("服務異常", e);return null;}}/*** 轉換 xlsC轉xlsx*/private static byte[] convertXlsStream2XlsxStream(byte[] arrays) {byte[] xlsxBytes = new byte[1];XSSFWorkbook xwb = null;if (arrays != null && arrays.length > 0) {try (ByteArrayOutputStream os = new ByteArrayOutputStream();InputStream sbs = new ByteArrayInputStream(arrays);ByteArrayOutputStream hssfOs = new ByteArrayOutputStream()) {Workbook workbook = new Workbook(sbs);workbook.save(os, com.aspose.cells.SaveFormat.XLSX);xlsxBytes = os.toByteArray();xwb = new XSSFWorkbook(new ByteArrayInputStream(xlsxBytes));// 刪掉aspose生成的試用標記xwb.removeSheetAt(xwb.getNumberOfSheets() - 1);// 設置顯示excel第一頁xwb.setActiveSheet(0);xwb.write(hssfOs);return hssfOs.toByteArray();} catch (Exception e) {e.printStackTrace();log.error("服務異常", e);} finally {try {if (xwb != null) {xwb.close();}} catch (IOException e) {e.printStackTrace();log.error("服務異常", e);}}}return xlsxBytes;}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18680.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

刷代碼隨想錄有感(81):貪心算法——分發餅干

題干&#xff1a; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int index s.size() - 1;int res 0;for(int i g.size() - 1; i > 0; i--){if(index >…

GitLab項目中添加用戶,并設置其角色權限等

注意&#xff1a;創建用戶(new user)&#xff0c;創建完用戶然后再項目邀請用戶&#xff0c;選擇創建過的用戶 一、以管理員身份登錄GitLab的WebUI并創建用戶 1>.使用管理員登錄GitLab 使用管理員(root)用戶登錄成功后&#xff0c;點擊如下圖所示的小扳手&#xff0c;點擊…

java 反射的用法

下面是一個簡單的Java反射示例&#xff0c;演示了如何使用反射機制獲取類的信息并調用其方法&#xff1a; import java.lang.reflect.Method;class MyClass {private String name;public void setName(String name) {this.name name;}public String getName() {return name;}…

C++數據結構之:鏈List

摘要&#xff1a; it人員無論是使用哪種高級語言開發東東&#xff0c;想要更高效有層次的開發程序的話都躲不開三件套&#xff1a;數據結構&#xff0c;算法和設計模式。數據結構是相互之間存在一種或多種特定關系的數據元素的集合&#xff0c;即帶“結構”的數據元素的集合&am…

在HTML和CSS當中運用顯示隱藏

1.顯示與隱藏 盒子顯示:display:block;盒子隱藏: display:none:隱藏該元素并且該元素所占的空間也不存在了。 visibility:hidden:隱藏該元素但是該元素所占的內存空間還存在&#xff0c;即“隱身效果”。 2.圓角邊框 在CSS2中添加圓角&#xff0c;我們不得不使用背景圖像&am…

學習筆記——數據通信基礎——數據通信網絡(網絡工程師)

網絡工程師 網絡工程&#xff0c;就是圍繞著網絡進行的一系列的活動&#xff0c;包括∶網絡規劃、設計、實施、調試、排錯等。網絡工程設計的知識領域很寬廣&#xff0c;其中路由和交換是計算機網絡的基本。 網絡工程師∶是在網絡工程領域&#xff0c;掌握專業的網絡技術&…

散戶如何參與期權交易?

期權就是股票&#xff0c;唯一區別標的物上證指數&#xff0c;會看大盤吧&#xff0c;期權交易兩個方向認購做多&#xff0c;認沽做空&#xff0c;雙向t0交易沒了&#xff0c;期權交易跟期貨一樣&#xff0c;對的&#xff0c;玩的也是合約&#xff0c;唯一區別沒有保證金不會爆…

軍工行業運維解決方案

一、引言 隨著軍工行業的快速發展&#xff0c;信息化建設已成為提高作戰效能、保障信息安全的重要支撐。然而&#xff0c;軍工行業面臨著多戰區、跨區域、多陣地、多數據中心的復雜運維挑戰。為了滿足這些挑戰&#xff0c;我們提出了一套基于美信時代的軍工行業運維解決方案&am…

127.0.0.1 和 localhost 以及 0.0.0.0 區別

之前用 nginx 的時候&#xff0c;發現用這幾個 IP&#xff0c;都能正常訪問到 nginx 的歡迎網頁。一度認為這幾個 IP 都是一樣的。 但本質上還是有些區別的。 首先 localhost 就不叫 IP&#xff0c;它是一個域名&#xff0c;就跟 "baidu.com",是一個形式的東西&…

什么是Redis腦裂,如何解決呢

Redis 腦裂問題是指&#xff0c;在 Redis 哨兵模式或集群模式中&#xff0c;由于網絡原因&#xff0c;導致主節點&#xff08;Master&#xff09;與哨兵&#xff08;Sentinel&#xff09;和從節點&#xff08;Slave&#xff09;的通訊中斷&#xff0c;此時哨兵就會誤以為主節點…

方均根為什么等于有效值

方均根值&#xff08;Root Mean Square&#xff0c;簡稱RMS&#xff09;等于有效值&#xff0c;是因為這種計算方法能夠準確地反映周期性波動量&#xff08;如交流電、振動等&#xff09;的平均能量或做功能力。對于交流電而言&#xff0c;其瞬時值隨時間變化&#xff0c;直接取…

IdentiFace——多模態人臉識別系統,可捕捉從情緒到性別的所有信息及其潛力

1. 概述 面部識別系統的開發極大地推動了計算機視覺領域的發展。如今&#xff0c;人們正在積極開發多模態系統&#xff0c;將多種生物識別特征高效、有效地結合起來。 本文介紹了一種名為 IdentiFace 的多模態人臉識別系統。該系統利用基于 VGG-16 架構的模型&#xff0c;將人…

【NumPy】NumPy線性代數模塊詳解:掌握numpy.linalg的核心功能

&#x1f9d1; 博主簡介&#xff1a;阿里巴巴嵌入式技術專家&#xff0c;深耕嵌入式人工智能領域&#xff0c;具備多年的嵌入式硬件產品研發管理經驗。 &#x1f4d2; 博客介紹&#xff1a;分享嵌入式開發領域的相關知識、經驗、思考和感悟&#xff0c;歡迎關注。提供嵌入式方向…

多年期貨盈利的秘訣就是虧了就跑

不怎么看消息面&#xff0c;尤其期貨&#xff0c;外匯。 正大招主賬戶&#xff1a;歐美4恒指26小恒12 歡迎咨詢代理 詳YJCFPL 堅持學習&#xff0c;吸收別人的經驗&#xff0c;為我所用。 獨立思考&#xff0c;培養良好的生活習慣。 我能活到現在的秘訣就是&#xff1a;虧了就趕…

Hexo最新實戰:(一)Hexo7.0+GitHub Pages博客搭建

前言 很多平臺都能寫博客還有創作激勵&#xff0c;為什么我又要搭一個&#xff1f;為什么這次要選擇用Hexo框架&#xff1f; 對應的原因是流量自由和省錢&#xff0c;第一個&#xff0c;很多平臺能寫但不是都有收益&#xff0c;而且平臺有自身的規則&#xff0c;比如會屏蔽一…

【區塊鏈】外部應用程序與區塊鏈進行交互

一&#xff0c;外部應用程序與區塊鏈進行交互案例目標與流程 1.1案例目標 掌握FISCO BCOS應用環境的搭建 與使用&#xff08;FISCO BCOSWeBASE&#xff09;掌握基于Java SpringBoot的應 用程序后端項目搭建與開發。掌握應用程序后端與FISCO BCOS 鏈的交互。掌握應用程序前端…

『大模型筆記』量化 vs 剪枝 vs 蒸餾:為推理優化神經網絡!

量化 vs 剪枝 vs 蒸餾:為推理優化神經網絡! 文章目錄 一. 量化 vs 剪枝 vs 蒸餾:為推理優化神經網絡!1.1. 量化(Quantization)1.2. 剪枝(purning)1.3. 知識蒸餾(Knowledge Distillation,也稱為模型蒸餾)1.4. 工程優化(Engineering Optimizations)1.5. 總結二. 參考…

【旅行商問題的優化】

#include<bits/stdc.h> // 包含標準庫的頭文件using namespace std; // 使用標準命名空間template <class Type> // 模板聲明&#xff0c;Type為類型參數 class Traveling{ // 定義Traveling類friend Type Tsp(int **, int[],int, Type); // 聲明友元函數Tsp publi…

WPF hc:PropertyGrid 嵌套顯示

重點&#xff1a; 編寫Edit特性即可&#xff1a; public class ParameterEditor : PropertyEditorBase{public override FrameworkElement CreateElement(PropertyItem propertyItem){var pg new PropertyGrid();return pg;}public override DependencyProperty GetDependen…

2024/5/22 ARMday7

按鍵控制LED燈亮和滅 do_irq.c #include "key_it.h" //#include "led.h" extern void printf(const char *fmt, ...); unsigned int i 0; void do_irq(void) {//獲取中斷號unsigned int irqno(GICC->IAR & (0x3FF));switch (irqno){case 99://處…