<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分享一個超牛逼的 Java 文件在線預覽項目

          共 2855字,需瀏覽 6分鐘

           ·

          2021-02-26 11:54

          ??

          點擊上方藍字關注我們



          簡介

          基于 OpenOffice 服務將文件 (.doc、.docx、.xls、.ppt) 轉化為pdf、html格式,然后直接在瀏覽器渲染輸出。

          內置功能

          • 文件上傳功能

          • 文件轉換功能

          • 文件預覽功能

          • 遠程文件預覽功能

          代碼集成

          基于 SpringBoot + OpenOffice 實現(xiàn)的項目案例,配置文件 application.properties 引入:
          # 默認不開啟 需要開啟的設置成true
          jodconverter.local.enabled=true
          # 開啟多個openOffice進程,每個端口對應一個進程
          jodconverter.local.portNumbers=8100,8200
          # openOffice進程重啟前的最大進程數(shù)
          jodconverter.local.maxTasksPerProcess=100
          項目啟動會自動生成兩個轉換進程,下面是偽代碼實現(xiàn):
          @RestController
          @RequestMapping("document")
          public class ConverterController {

          @Autowired
          private DocumentConverter documentConverter;

          /**
          * 文件上傳
          */

          @RequestMapping("/upload")
          public Result upload(MultipartFile file) {
          try {
          if (file != null) {
          File parentFile = createParentFile();
          String fileName = file.getOriginalFilename();
          String suffix = fileName.substring(fileName.lastIndexOf("."));
          String uuid = IdUtil.simpleUUID();
          fileName = uuid + suffix;
          File docFile = new File(parentFile, fileName);
          FileUtil.writeFromStream(file.getInputStream(), docFile);
          /**
          * 年月日目錄
          */

          String fileDay = DateUtil.thisYear() + "/" + (DateUtil.thisMonth() + 1) + "/"
          + DateUtil.thisDayOfMonth();
          String imagePath = SystemConstant.FILE + "/document/" + fileDay + "/" + fileName;
          /**
          * 實時轉換
          */

          logger.info("開始轉換pdf......");
          File toFile = new File(parentFile, uuid + ".pdf");
          documentConverter.convert(docFile).to(toFile).execute();
          logger.info("開始轉換html......");
          toFile = new File(parentFile, uuid + ".html");
          converter( docFile,toFile);
          return Result.ok(imagePath);
          } else {
          return Result.error();
          }
          } catch (Exception e) {
          logger.error("轉換異常{}",e);
          return Result.error();
          }
          }
          }

          軟件截圖


          小結

          網(wǎng)上很多文章,Java 集成 OpenOffice 已經(jīng)老得不能再老了,在 Linux 下還有各種啟動問題,本案例只需要在系統(tǒng)中安裝好相關服務,程序啟動會自動生成 OpenOffice 進程。

          源碼

          源碼地址:https://gitee.com/52itstyle/SPTools
          演示地址:https://tools.cloudbed.vip
          賬號密碼:admin admin2020
          文章來源:爪哇筆記公眾號



          推薦案例

          溫暖提示

          為了方便大家更好的學習,本公眾號經(jīng)常分享一些完整的單個功能案例代碼給大家去練習,如果本公眾號沒有你要學習的功能案例,你可以聯(lián)系小編(微信:xxf960513)提供你的小需求給我,我安排我們這邊的開發(fā)團隊免費幫你完成你的案例。
          注意:只能提單個功能的需求不能要求功能太多,比如要求用什么技術,有幾個頁面,頁面要求怎么樣?


          請長按識別二維碼

          想學習更多的java功能案例請關注

          Java項目開發(fā)

          如果你覺得這個案例以及我們的分享思路不錯,對你有幫助,請分享給身邊更多需要學習的朋友。別忘了《留言+點在看》給作者一個鼓勵

          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼黄色片 | 久久岛国电影免费观看软件 | 99中文视频 | 一区二区无码 无修正 | 欧美日韩网站 |