使用 LibreOffice 将 word 转化为 pdf 并解决中文乱码问题

文章介绍了如何在Ubuntu系统中安装LibreOffice来转换Word为PDF,并解决因缺少中文字体导致的乱码问题。步骤包括从腾讯镜像源下载并安装LibreOffice,检查和导入中文字体,以及验证转换后的PDF是否正常显示中文。
摘要由CSDN通过智能技术生成

目录

一、安装 LibreOffice

二、解决乱码问题

2.1 查看是否安装中文字体

2.2 准备字体

2.3 导入字体

2.4 验证


 

        项目中有一个在线上传 word 并预览 pdf 报告的需求,因为项目部署在 ubuntu 上面,所以借助libreoffice 实现 word 转 pdf,然后使用 pdf.js 在线预览 pdf 文档。

一、安装 LibreOffice

LibreOffice 腾讯镜像源下载地址:Index of /libreoffice/libreoffice/stable/

root@jt-test-web:~# wget https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/7.4.4/deb/x86_64/LibreOffice_7.4.4_Linux_x86-64_deb.tar.gz

root@jt-test-web:~# apt-get install -y libcairo.so* ibus

root@jt-test-web:~# tar -zxvf LibreOffice_7.4.4_Linux_x86-64_deb.tar.gz

root@jt-test-web:~# cd LibreOffice_7.4.4.2_Linux_x86-64_deb/DEBS/

root@jt-test-web:~/LibreOffice_7.4.4.2_Linux_x86-64_deb/DEBS# dpkg -i *.deb

root@jt-test-web:~/LibreOffice_7.4.4.2_Linux_x86-64_deb/DEBS# ln -s /opt/libreoffice7.4/program/soffice /usr/bin/soffice

二、解决乱码问题

        由于 linux 默认没有安装中文字体,所以导出有中文的文件会导致中文乱码。这里此次安装微软雅黑字体。

2.1 查看是否安装中文字体

# 显示为空表示没有安装中文字体
root@jt-test-web:~# fc-list :lang=zh

2.2 准备字体

        我们可以从本地 windows 电脑中拷贝出字体文件,拷贝的目录为 C:\Windows\Fonts,找到 Microsoft YaHei UI 文件:

2.3 导入字体

进入 ubuntu 的目录 /usr/share/fonts 下,将上面的字体文件放进去:

root@jt-test-web:~# cd /usr/share/fonts
root@jt-test-web:/usr/share/fonts# ls
MSYHL.TTC  MSYHBD.TTC  MSYH.TTC      

# 建立字体缓存信息
root@jt-test-web:/usr/share/fonts# apt install xfonts-utils -y
root@jt-test-web:/usr/share/fonts# mkfontscale
root@jt-test-web:/usr/share/fonts# mkfontdir
root@jt-test-web:/usr/share/fonts# fc-cache -fv

# 命令执行成功后终端最后一行会显示 fc-cache: succeeded

2.4 验证

root@jt-test-web:/usr/share/fonts# fc-list :lang=zh
/usr/share/fonts/truetype/dejavu/MSYHBD.TTC: Microsoft YaHei UI:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia
/usr/share/fonts/truetype/dejavu/MSYH.TTC: Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/truetype/dejavu/MSYHBD.TTC: Microsoft YaHei,微软雅黑:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia
/usr/share/fonts/truetype/dejavu/MSYH.TTC: Microsoft YaHei UI:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/truetype/dejavu/MSYHL.TTC: Microsoft YaHei UI,Microsoft YaHei UI Light:style=Light,Regular
/usr/share/fonts/truetype/dejavu/MSYHL.TTC: Microsoft YaHei,微软雅黑,Microsoft YaHei Light,微软雅黑 Light:style=Light,Regular

并在项目上查看 PDF 乱码问题是否解决。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
使用LibreOffice中将Word文档换为PDF时,可能会遇到页数不一致的情况。这可能是由于以下原因导致的: 1. 格式兼容性:LibreOffice和Microsoft Word使用不同的格式和布局方式,这可能会导致在换过程中某些元素的位置发生改变。例如,字体、行间距、标题等的大小和位置可能会有所不同,从而导致页数的变化。 2. 页面设置:LibreOffice和Microsoft Word的页面设置选项可能不完全相同,例如页面边距、纸张大小和方向等。这些设置的不同可能导致文档在换为PDF时出现内容溢出或缩小,从而导致页数不一致。 3. 图片和图表:由于LibreOffice和Microsoft Word使用不同的图像引擎和解析方式,图像和图表的布局可能会有差异。这可能导致在换为PDF后,图像和图表元素的大小和位置发生改变,从而导致页数不一致。 为解决这个问题,您可以尝试以下方法: 1. 重新审查页面设置:检查Word文档和LibreOffice中的页面设置选项,确保它们一致,并且与所需的PDF输出格式相匹配。 2. 更新字体和格式:在换过程中,尝试使用相同或最接近的字体和格式。这样可以减少在换后字体和格式发生变化的可能性。 3. 调整布局和图像:在换前,先调整文档中的布局和图像,以便在LibreOffice中更好地适应。可以尝试重新调整图像和图表的大小和位置,以使其更为紧凑。 请记住,由于LibreOffice和Microsoft Word之间存在差异,无法保证换后的PDF与原始Word文档完全一致。因此,在进行换之前,建议您仔细检查PDF文件以确保内容和格式与预期一致。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stars.Sky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值