用Unoconv工具将DOC,PPT批量转为PDF
前言
最近需要在网页上做一个对于文档的预览功能,但是这个预览功能基本只能对pdf格式的文件进行处理,而不能对doc、ppt之类的格式进行处理(毕竟微软爸爸)。因此为了能够方便的显示所有的文档,并且统一管理,我需要找到一个能将doc、ppt这些文件方便快捷的转成pdf的工具。当然,word、ppt这些软件本省有到出成pdf的功能,网络上这类转换工具很多,但是用起来也是不太方便,而且这当中垃圾软件也不少。
仔细想想,实现这个功能无非有两个途径,一是利用微软自己的api。不过这显然有点麻烦,还要自己写代码。另外一个途径就是用仿ms的开源软件,比如libreoffice、openoffice、wps这些比较成熟的工具提供的支持。搜索一番后发现,还是开源软件的力量大,这类的转换工具还特别的多,最终我选择了一个叫unoconv
的文档格式转换工具。
安装使用
unoconv
本身就在apt软件包里,sudo apt install unoconv
就能安装。
unoconv不仅支持doc、ppt等格式转向pdf,他还能支持几乎所有libreoffice、openoffice支持的格式之间的互相转换,包括pdf、doc、docx、ppt、pptx、odt、csv、png、jpg、xsl、csv等等,用途很广。
基本用法如下:
unoconv -f pdf some-document.doc
这个命令会读取some-document.doc,转换成some-document.pdf文件。并且,输入文件支持通配符。比如:
unoconv -f pdf *.doc
这就能一次性转换所有的doc文件。
字体支持问题
在使用的过程中发现,在对文章进行转换的时候,经常会有乱码的现象。研究一下发现并不是字符集乱码,而是缺失字体文件,也就是windows里的很多字体在linux里面是没有的。因此我们只要将windows下的字体文件拷贝到linux下面就行了。具体步骤如下:
- 复制windows下的
C://WINDOWS/Fonts/
下的字体文件,拷贝到/usr/share/fonts
文件夹下。 - 删除一些不支持的文件(比如以.fon后缀的文件)。
- 执行
sudo mkfontscale
、sudo mkfontdir
、sudo fc-cache
,加载字体。
这样配置好基本就可以支持绝大部分的字体了。不过在使用的时候发现有一些特殊的符号还是不能正确加载,不过影响不大。
相关文章
- 批量导出pdf 和导出图片
- 批量打印 SAP CRM 系统所有包含 Error Message Log 的 订单
- ExcelVBA批量打印PDF文件
- Spring Boot + Elasticsearch 实现索引批量写入
- 效率工具丨Adobe Acrobat Pro DC 2020 (PDF阅读器)pdf编辑器全版本下载
- pdf文件用什么方式打开-电脑上的PDF怎么都变成Edge浏览器打开了?怎么更改PDF文件打开方式?
- 批量复制ssh密钥到Linux系统的主机
- 两款好用的PDF编辑工具 pdf编辑器全版本下载
- PDF Expert for mac(pdf编辑必备工具) 安装使用功能介绍
- 【源码】PDF.js批注注释插件库(纯JS). 创建和保存PDF批注(PDF 高亮/签名/插图/截屏/文本框/画笔/多边形)-pdf.js
- Word批量转PDF工具 便携版
- MySQL学习指南:一步一步掌握PDF格式教程(mysql学习pdf)
- Linux使用从入门到精通PDF指南(linux使用教程pdf)
- Linux操作:快速打开PDF文件的命令(linux打开pdf命令)
- Linux操作系统:掌握妙用的PDF指南(linux操作系统pdf)
- 批量执行Oracle脚本实现智能化管理(oracle批处理脚本)
- 利用Oracle循环生成批量日期(oracle循环日期)
- Linux网络编程:从基础到深入PDF指南(linux网络编程pdf)
- 在Linux中轻松打开PDF文件(linux打开pdf)
- 批量ping域名软件,适合空间商客服备案使用。
- Oracle数据库的PDF文档简介(oracle数据库pdf)
- MySQL手册PDF版下载及使用指南(mysql手册pdf)
- Linux快速移植PDF大全(linux移植pdf)
- 多个文件一键打印:Linux下批量打印文件的技巧(linux下打印)
- Oracle入门:从零开始学习PDF版(oracle入门到精通pdf)
- 如何使用MySQL优化技巧提高PDF文档处理效率(mysql优化pdf)
- Linux工具:使用PDF文件管理和编辑功能(linux工具pdf)
- php连接mssql服务,实现批量数据处理(php mssql 数量)
- Linux系统下极致体验的PDF阅读器(linux pdf阅读器)
- 批量导入数据MySQL实现一次性增加多行记录(mysql一次增加几行)
- 使用Redis集群实现大规模批量处理(redis集群下批量处理)