LibreOffice
首先 Libreoffice 是一个强大的开源的办公软件,类似于微软的Office系列办公软件,但他默认使用 开放文档格式 (OpenDocument Format , ODF), 并且也支持 * .docx , * .xlsx , * .pptx 等其他格式。
它包含了 Writer , Calc , Impress , Draw , Base 以及 Math 等基本的办公组件,可用于处理 文本文档 、 电子表格 、 演示文稿 、 绘图 以及 公式编辑 。
总的来说是一个可以替换office系列的办公软件,来进行处理 * .docx , * .xlsx , * .pptx 等文件格式的软件。
在 Ubuntu 系统上安装使用如下命令:
sodu apt install libreoffice libreoffice-common
其他系统上的安装,参考官网指南: zh-cn.libreoffice.org/get-help/in… 以及源码编译安装: zh-cn.libreoffice.org/download/so…
libreoffice 命令
LibreOffice 软件是可以通过
libreoffice
是通过从命令行启动的,同时可以指定各种参数。利用这些参数,可以让开发者根据需求来使用LibreOffice的功能,这也是写这篇文章的目的,就是如何利用
libreoffice
命令来处理office系列文档。比如,将
*.wmf
、
*.emf
等在windows才好处理的图片,利用Linux上Libreoffice转换为更为通用的
*.svg
、
*.png
、
*.jpeg
、
*.pdf
等文件格式。
仅建议有经验的用户使用命令行参数。因为该命令要求用户具备较多的 LibreOffice 软件或Open Office XML 软件技术的背景知识。
官网帮助地址: help.libreoffice.org/7.6/zh-CN/t…
转换PPTX为PDF
命令格式:
librefoff --headless --convert-to pdf source.pptx
pptx
文件为
PDF
文件。
效果如下:
➜ / ✗ libreoffice --headless --convert-to pdf ppt20240110180530.pptx
Warning: failed to launch javaldx - java may not function correctly
convert /ppt20240110180530.pptx -> /ppt20240110180530.pdf using filter : impress_pdf_Export
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
转换指定页
在最新版的libreoffice中,还支持指定额外参数的方式,来控制导出PDF格式文件的幻灯片页数, 比如:
libreoffice --convert-to 'pdf:writer_pdf_Export:{"PageRange":{"type":"string","value":"2-3"}}' examples1.pptx
对于命令行中的 pdf:writer_pdf_Export:{"PageRange":{"type":"string","value":"2-3"}} 参数字段
pdf
: 表示转换的目标文件格式类型
writer_pdf_export
: 表示转换时使用的筛选器,这里表示使用Writer 模块的writer_pdf_Export 筛选器。更多其他类型的筛选器,参考官网筛选器列表: help.libreoffice.org/7.6/zh-CN/t…
{"PageRange":{"type":"string","value":"2-3"}}
: 传递给筛选器的参数, 类似于函数调用时的参数, 更多的参数类型,参考官网PDF文件参数: help.libreoffice.org/7.6/zh-CN/t…
转换PDF为PNG
在遇到通用的PDF格式文件时,我们可能想要将PDF文件转换为更为通用的图片格式,参考以下命令:
libreoffice --headless --convert-to png ppt20240110180530.pdf
注意, 这里转换的结果,可能只是第一页PDF的图片,如果想要批量将每页PDF转换为PNG图片,需要先将多页的PDF文件,分割成多个只含一页的PDF文件,再进行转换.
效果如下:
转换EMF为PNG
在特殊场景时(解析pptx文件),可能会遇到需要将emf格式的图片文件,转换为更为通用的其他格式的文件, 比如: PNG
、WEBP
、SVG
等等。
libreoffice
命令同样可以完成这项工作,示例如下:
libreoffice --headless --convert-to png image3.emf
libreoffice --headless --convert-to svg image3.emf
libreoffice --headless --convert-to webp image3.emf
效果如下:
注意,这里转换的结果文件大小可能为整个页面的大小,如果只要形状区域的大小,可使用inkscape
转换。
转换WMF为PNG
这里的转换示例,就留作作业吧,与将EMF转换为PNG差不多, 就不多此一举了。
今天要介绍的内容就这么多,欢迎留言与评论!以及给予更多的建议。