日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot使用LibreOffice转换PDF

發布時間:2025/6/15 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot使用LibreOffice转换PDF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用LibreOffice將Office文檔轉換PDF

本例使用 LibreOffice-6.0.4、jodconverter-4.2.0、spring-boot-1.5.9.RELEASE。
在CentOS7 + openJDK8 和 Windows7 + jdk1.8 環境下測試通過。

LibreOffice轉換命令

# 源文件放在 e:\tmp\123.docx 或者 /tmp/123.docx# windows soffice.exe --headless --invisible --convert-to pdf e:\tmp\123.docx --outdir e:\tmp# linux /usr/bin/libreoffice6.0 --headless --invisible --convert-to pdf /tmp/123.docx --outdir /tmp

jodconverter封裝了一組轉換命令,通過java調用LibreOffice相關服務。

pom依賴

<dependency><groupId>org.jodconverter</groupId><artifactId>jodconverter-core</artifactId><version>4.2.0</version> </dependency> <dependency><groupId>org.jodconverter</groupId><artifactId>jodconverter-local</artifactId><version>4.2.0</version> </dependency> <dependency><groupId>org.jodconverter</groupId><artifactId>jodconverter-spring-boot-starter</artifactId><version>4.2.0</version> </dependency> <dependency><groupId>org.libreoffice</groupId><artifactId>ridl</artifactId><version>5.4.2</version> </dependency>

注意: 在這里說明特別一下,jodconverter自4.2開始,對LibreOffice相關功能從jodconverter-core中分離出來,封裝到為jodconverter-local,另外新增了jodconverter-online,支持LibreOffice online server的遠程調用。

配置 application.properties

jodconverter.local.enabled=true # 設置LibreOffice主目錄 jodconverter.local.office-home=${pom.office.home} # 開啟多個LibreOffice進程,每個端口對應一個進程 jodconverter.local.portNumbers=8100,8101,8102 # LibreOffice進程重啟前的最大進程數 jodconverter.local.maxTasksPerProcess=100

使用Maven的多環境配置

<profiles><profile><!-- windows環境 --><id>win</id><activation><activeByDefault>true</activeByDefault></activation><properties><pom.office.home>C:/Program Files/LibreOffice</pom.office.home></properties></profile><profile><!-- linux環境 --><id>linux</id><properties><pom.office.home>/opt/libreoffice6.0</pom.office.home></properties></profile> </profiles>

調用方法

import org.jodconverter.DocumentConverter;@Resource private DocumentConverter documentConverter;// 具體轉換方法,參數是java.io.File documentConverter.convert(sourceFile).to(targetFile).execute();
  • convert方法 接受參數 java.io.File 或 java.io.InputStream
  • to方法 接受參數 java.io.File 或 java.io.OutputStream

在線預覽

使用開源項目 https://github.com/mozilla/pdf.js
下載最新的release包(pdfjs-x.y.z-dist.zip)

pdfjs\web\viewer.html傳入參數file(示例:http://localhost:8080/pdfjs/web/viewer.html?file=xxxxxxx.pdf)

CentOS7安裝LibreOffice

官網
https://zh-cn.libreoffice.org/

科大鏡像
http://mirrors.ustc.edu.cn/td...

中文語言包
http://mirrors.ustc.edu.cn/td...

下載安裝包

wget -P /tmp/office http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/6.0.4/rpm/x86_64/LibreOffice_6.0.4_Linux_x86-64_rpm.tar.gzwget -P /tmp/office http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/6.0.4/rpm/x86_64/LibreOffice_6.0.4_Linux_x86-64_rpm_langpack_zh-CN.tar.gz

解壓縮

tar zxvf /tmp/office/LibreOffice_6.0.4_Linux_x86-64_rpm.tar.gz -C /tmp/officetar zxvf /tmp/office/LibreOffice_6.0.4_Linux_x86-64_rpm_langpack_zh-CN.tar.gz -C /tmp/office

檢查安裝包

ll /tmp/office/LibreOffice_6.0.4.2_Linux_x86-64_rpm/RPMS/*.rpmll /tmp/office/LibreOffice_6.0.4.2_Linux_x86-64_rpm_langpack_zh-CN/RPMS/*.rpm

用yum安裝,不要執行install

yum install /tmp/office/LibreOffice_6.0.4.2_Linux_x86-64_rpm/RPMS/*.rpmyum install /tmp/office/LibreOffice_6.0.4.2_Linux_x86-64_rpm_langpack_zh-CN/RPMS/*.rpm

安裝libcairo.so.2依賴庫

yum install ibus

查找服務目錄

安裝路徑:/opt/libreoffice6.0
快捷方式:/usr/bin/libreoffice6.0

啟動服務

/usr/bin/libreoffice6.0 --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard

CentOS7安裝字體庫

在CentOS7服務器上,利用LibreOffice將word等格式轉換為PDF,發現不支持漢字。需要安裝字體庫。

安裝fontconfig

yum -y install fontconfig

安裝完成后,/usr/share目錄就可以看到fonts和fontconfig兩個目錄。

安裝ttmkfdir

yum -y install ttmkfdir

檢查已有字體庫

fc-list

復制字體

#新建文件夾 mkdir /usr/share/fonts/chinese

把Windows系統的字體C:\Windows\Fonts復制進去。

  • simsun.ttc 宋體
  • simhei.ttf 黑體
  • msyh.ttf 微軟雅黑
  • msyhbd.ttf 微軟雅黑
# 修改字體權限 chmod -R 644 /usr/share/fonts/chinese

匯總生成fonts.scale文件

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

修改字體配置文件

vim /etc/fonts/fonts.conf

修改內容

<fontconfig>....<dir>....<dir>/usr/share/fonts/chinese</dir>.... </fontconfig>

更新字體緩存

fc-cache -fv

總結

以上是生活随笔為你收集整理的SpringBoot使用LibreOffice转换PDF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: wwwxxx在线播放 | 蜜桃一区二区三区 | 婷婷视频一区二区三区 | 成人网站免费观看 | 在线国产欧美 | 打屁股调教视频 | 久草最新网址 | 夫妻性生活自拍 | 色婷婷综合五月 | 日韩一级在线 | 手机看片日韩在线 | 浪潮av一区二区三区 | 欧美日本高清 | 老司机av导航 | 菲律宾黄色片 | 日韩怡春院| 三级福利视频 | 91丨九色丨蝌蚪丨老版 | 欧美另类z0zx974| 日韩欧美精品一区二区三区 | xxxxxhd亚洲人hd| 国产亚洲精品久久久久丝瓜 | 狠狠五月天 | 久久老熟女一区二区三区 | 桃花久久 | 欧美一级夜夜爽 | 亚洲成人一二三 | 性中文字幕| 91午夜理伦私人影院 | 一区二区欧美在线 | 久久久久久久久久一区 | 第一页在线视频 | 久久精国产 | 精品无码人妻一区二区三区品 | 邻居校草天天肉我h1v1 | 91视频 - 8mav| 奇米777狠狠 | 女生和男生一起插插插 | 亚洲国产成人精品激情在线 | 香蕉婷婷 | 国产另类自拍 | 成人做爰100 | 白丝av | 尤物毛片| 国产成人无码精品久在线观看 | 欧美xxx在线观看 | 亚洲福利视频一区二区三区 | 久久久久久一区二区 | 国产成人精品aa毛片 | 成人黄色国产 | 精品成在人线av无码免费看 | 国产视频一区二区三区四区五区 | 亚州精品视频 | 男女交性视频播放 | 成人午夜影视在线观看 | 亚洲视频www| 香蕉久久夜色精品国产使用方法 | 久草免费新视频 | 欧美日韩免费高清一区色橹橹 | www麻豆 | 亚洲蜜桃av | 国产av自拍一区 | 在线播放成人 | 国产一区二区三区四区五区美女 | 国产精品xxx在线观看www | 国产亚洲第一页 | 国产成人三级在线播放 | 激情五月婷婷久久 | 久久免费视频一区二区 | 亚洲成熟少妇视频在线观看 | 精品视频免费 | 日韩中文字幕在线免费观看 | 国产伦精品一区二区三区高清版禁 | 国产伦精品视频一区二区三区 | 日韩欧美中文在线 | 97国产精品 | www.99爱| 永久免费看片 | 一级艳片新婚之夜 | 亚洲精品电影 | 国产精品久久久久久亚洲色 | 国产无套在线观看 | 少妇高潮毛片色欲ava片 | 成年人网站黄 | 日韩精品一区二区三 | 91蜜桃在线 | 91青青操| 天天操夜夜操 | 尤物视频在线观看国产性感 | 久久久久久91亚洲精品中文字幕 | 97精品人妻麻豆一区二区 | 人人干人人模 | www一区| www.黄色国产 | 人妻熟妇又伦精品视频a | 久草福利免费 | 黑人精品欧美一区二区蜜桃 | 亚洲精品男人天堂 | 中文久久久久 |