NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

    • axios携带cookie
    • Echarts自定义提示框tooltip样式(包括提示框标题不固定)
    • gitee 仓库初始化
    • GitHub + jsDelivr + TinyPNG+ PicGo 打造稳定快速、高效免费图床
    • GitHub Actions 定时运行代码:每天定时百度链接推送
    • GitHub Actions 实现自动部署静态博客
    • GitHub加速下载项目的方法
    • GitHub高级搜索技巧
    • js以当前时间为基础,便捷获取时间(最近2天,最近1周,最近2周,最近1月,最近2月,最近半年,最近一年,本周,本月,本年)
    • JupyterLab二次开发环境配置以及踩的一些坑(笔记)
    • linux 虚拟机 ping 域名时,提示“未知的名称或服务原因分析“
    • Node.js中间件 - Multer详解
    • node.js使用supervisor或nodemon进行调试热更新
    • NodeJs的压缩文件之 - 模块 archiver 用法示例
    • Pdf数据解析
    • sh文件出现错误:Permission denied解决办法
    • vscode命令行以管理员身份运行
    • webpack 的简单使用
    • Web前端Vue离线存储之 - localForage.js使用方法
    • windows 多版本管理工具 nvm-windows
    • windows 如何配置 pip 镜像
    • WX小程序开发总结
    • Xshell 6 提示 “要继续使用此程序,您必须应用最新的更新或使用新版本”
    • yaml语言教程
    • 使用 SwitchHost 修改 host 文件为 GitHub 提速
    • 使用Gitalk实现静态博客无后台评论系统
    • 几款主流好用的富文本编辑器
    • 如何使用 babel 对es6语法进行转码
    • 如何使用 github pages 搭建你的个人站点
    • 如何使用openvscode-server搭建一个vscode代码编辑器
    • 如何配置 GitHub 页面的发布源
    • 如何配置GitHub登录账号密码,进行免密push仓库文件
    • 解决GitHub提交代码成功后并不显示绿格子问题
    • 解决百度无法收录搭建在GitHub上的个人博客的问题
    • VuePress 配置 MarkDown 文件目录.md
    • GitHub无法打开或加载慢的解决方法
    • win10 通过修改 hosts 提升github访问速度
    • Echarts实现自适应
    • gulp项目中ReferenceError_ primordials is not defined报错解决方法
    • 使用libreoffice将word转化成pdf
      • 前言
      • 下载和解压
      • 配置环境变量
      • 其他问题
    • onlyoffice+vue实现在线预览在线编辑
    • Stable-Diffusion-WebUI 搭建使用教程
    • wind10通过安装nvm切换node版本
    • 解决虚拟机中ip地址总是自动变化办法
    • Git配置之邮箱设置
    • Echarts重写tooltip(提示框)代码
    • 使用 frp 实现内网穿透
    • win10 开机自启动 frp 实现内网穿透
    • Express 与 vue3 使用 sse(event-stream)实现消息推送并使用 nginx 转发
    • Linux 中使用 rsync 同步文件目录教程
    • Gitea数据备份与还原
  • 其他文档

  • 前端开发
  • 技术文档
NoteZ
2024-02-20
目录

使用libreoffice将word转化成pdf

# 前言

有的时候我们会遇到将word转换为pdf的需求,当然,不仅仅是word转换为PDF,像图片转换为pdf等等这样的转换工作。

如果涉及到以上这些需求,那么使用LibreOffice不失为一个好的方式,从转换后的准确率、转换速度、转换格式的支持LibreOffice都是比较给力的。下面,让我们具体学习下如何安装和使用libreOffice。建议选择稳定版本,这里我选择了 LibreOffice 7.6.4。

官网地址:https://zh-cn.libreoffice.org/download/libreoffice/ (opens new window)

# 下载和解压

1、检查当前操作系统环境是否已经安装了LibreOffice。

libreoffice --version
1

如果已经安装,需要把自带的LibreOffice卸载。

yum remove libreoffice-*
1

2、进入LibreOffice官网下载你对应操作系统的包,访问地址:https://zh-cn.libreoffice.org/download/libreoffice/ (opens new window),Linux 可以使用如下命令:

wget https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.4.1/rpm/x86_64/LibreOffice_7.6.4_Linux_x86-64_rpm.tar.gz --no-check-certificate
1
wget https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.4.1/rpm/x86_64/LibreOffice_7.6.4_Linux_x86-64_rpm_langpack_zh-CN.tar.gz --no-check-certificate
1

3、将上述的包下载下来后上传到服务器上,解压并安装

tar -zxvf LibreOffice_7.6.4.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
tar -zxvf LibreOffice_7.6.4.1_Linux_x86-64_rpm.tar.gz
	
cd /LibreOffice_7.6.4.1_Linux_x86-64_rpm/RPMS/
yum localinstall *.rpm
cd /LibreOffice_7.6.4.1_Linux_x86-64_rpm_langpack_zh-CN/RPMS/
yum localinstall *.rpm
1
2
3
4
5
6
7

4、安装成功后,会在 /opt/目录下生成一个libreoffice7.6的目录

# 配置环境变量

vim /etc/profile
1

在文档底部添加如下内容

# libreoffice
export LibreOffice_PATH=/opt/libreoffice7.6/program
export PATH=$LibreOffice_PATH:$PATH
1
2
3

然后

source /etc/profile
1

使得配置生效。 正常服务器不缺少底层依赖的话,这个时候你已经成功了,可以尝试下输入:

libreoffice7.6 --help
1

若出现内容说明已经可以了,经过前面的步骤我们已经安装好了LibreOffice,现在试着转换个word为pdf吧。 上传个word到服务器上。然后输入以下命令:

libreoffice7.6 --headless --invisible --convert-to pdf /opt/xxx.docx --outdir /opt
1

转换成功!

# 其他问题

  • 报错 No such file or directory

Description

很明显,缺少依赖了。安装一下。

yum install cairo -y
yum install cups-libs -y
yum install libSM -y
1
2
3
  • 解决转换后的PDF中的中文乱码问题

一般在windows下安装我们的LibreOffice成功后,转换中文都是正常的,但在linux上基本上都会出现乱码的问题。 因为linux中缺少一些中文字体导致的。这个时候我们需要把windos中的字体文件夹上传到linux上,同步一下字体信息。

1、打开windows下C:\Windows\fonts目录

2、将fonts目录压缩为zip包,然后上传到服务器上。上传路径为 /usr/share/fonts

3、在linux上解压上传的压缩包,因为是zip包,需要unzip命令。 如果没有要安装

yum -y install unzip
1

4、输入fc-list 查看系统的字体,如果报错后,需要下载,下载完成后就可以看了

yum -y install cups-libs fontconfig
1

5、给解压后产生的文件夹Fonts权限

chmod -R 755 /usr/share/fonts/Fonts
1

6、安装ttmkfdir,然后执行对应命令

yum -y install ttmkfdir
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
1
2

7、用vi/vim打开/etc/fonts/fonts.conf,添加我们字体文件的位置

vim /etc/fonts/fonts.conf
<dir>/usr/share/fonts/Fonts</dir>
1
2

Description 8、刷新内存中的字体缓存,输入:fc-cache 9、fc-list查看一下linux系统中的字体, 有我们刚刚添加进去的 10、再试下转换,发现中文转换成功

#libreoffice
上次更新: 2024/02/20, 17:31:36
gulp项目中ReferenceError_ primordials is not defined报错解决方法
onlyoffice+vue实现在线预览在线编辑

← gulp项目中ReferenceError_ primordials is not defined报错解决方法 onlyoffice+vue实现在线预览在线编辑→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式