下載安裝包
鏈接:https://pan.baidu.com/s/1JbfC8LkC0cGEYR0iJ0Q_Tw
提取碼:9gri
LibreOffice_6.0.3_Linux_x86-64_rpm.tar.gz
LibreOffice_6.0.3_Linux_x86-64_rpm_sdk.tar.gz
LibreOffice_6.0.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
安裝
mkdir /opt/libreoffice
tar -zxvf LibreOffice_6.0.3_Linux_x86-64_rpm.tar.gz -C /opt/libreoffice/
tar -zxvf LibreOffice_6.0.3_Linux_x86-64_rpm_sdk.tar.gz -C /opt/libreoffice/
tar -zxvf LibreOffice_6.0.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz -C /opt/libreoffice/
分別進(jìn)入剛才三個(gè)文件解壓后的目錄的rpm文件夾 ,執(zhí)行入下命令
cd /opt/libreoffice/LibreOffice_6.0.3_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm
之后執(zhí)行下面一行代碼
yum -y install cairo
安裝字體
- 安裝fontconfig
yum -y install fontconfig
安裝完成后盗痒,/usr/share目錄就可以看到fonts和fontconfig兩個(gè)目錄。
- 安裝ttmkfdir
yum -y install ttmkfdir
- 檢查已有字體庫(kù)
fc-list
4.復(fù)制字體
#新建文件夾
mkdir /usr/share/fonts/chinese
把Windows系統(tǒng)的字體C:\Windows\Fonts復(fù)制進(jìn)去。
simsun.ttc 宋體
simhei.ttf 黑體
msyh.ttf 微軟雅黑
msyhbd.ttf 微軟雅黑
- 修改字體權(quán)限
chmod -R 644 /usr/share/fonts/chinese
- 匯總生成fonts.scale文件
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
- 修改字體配置文件
vim /etc/fonts/fonts.conf
修改內(nèi)容
<fontconfig>
....
<dir>....
<dir>/usr/share/fonts/chinese</dir>
....
</fontconfig>
- 更新字體緩存
fc-cache -fv
調(diào)用方法
- 命令調(diào)用:
# 源文件放在 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
- java調(diào)用
<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>
#application.properties
jodconverter:
local:
enabled: true
office-home: /opt/libreoffice6.1
port-numbers: 8100,8101,8102
max-tasks-per-process: 100
#調(diào)用:
@RestController
@RequestMapping("/doc")
public class LibreOfficeController {
@Autowired
private DocumentConverter documentConverter;
@RequestMapping("/toPdf")
public void toPdf() throws OfficeException {
File wfile = new File("/opt/aa.docx");
File pfile = new File("/opt/pfile.pdf");
documentConverter.convert(wfile).to(pfile).execute();
}
}
參考地址:https://blog.csdn.net/diyiday/article/details/79852923
https://segmentfault.com/a/1190000015129654#articleHeader6