python ppt xlsx等文档转图片

文档转jpg 一般两步 先转成pdf 再由pdf转jpg

*-*本过程基于 ubuntu系统 python3.6 *-*

  1. 文档转pdf

文档转pdf,这里用到 libreoffice,通过命令去调libreoffice 执行转换。网上很多用到 openoffice,注意到 libreoffice是从openoffice 分出来的, 另外 openoffice 在13年就不更新了, 所以没有选openoffice。 另外网上有很多包装了libreoffice的包可以试试。

安装libreoffice

apt-get install -y libreoffice

安装好后 直接控制台输入命令就可以转换 了

libreoffice --headless --convert-to pdf --outdir . test.xlsx

--outdir 后面 . 指输出到当前文件夹下, test.xlsx是指要转换的文档(也在当前文件夹下),转换成功后会在当前文件夹下生产test.pdf文件。

用python代码的话, 通过

subprocess.run([])

运行命令即可。

     2. pdf 转jpg

这里用到 wand python 包。注意 除了wand 包要下载外 还需要安装另外两个软件,否则会报错。

apt-get install libmagickwand-dev
apt-get install ghostscript
pip install wand

wand功能比较强大, 这里只专注我们要做的事(转jpg),用python代码实现很简单

from wand.image import Image
img = Image(filename='/app/test.pdf')
c = img.convert('jpg')
c.save(filename='/app/test.jpg')

这样就转成jpg文件了。

两个转换过程有很多细节需要优化和处理,这里只是展示了主要的过程和实现

附:docker file (方便一步搭环境)

FROM python:3.6

RUN apt-get update
 && apt-get install -y python3-pip
 && apt-get install -y build-essential libssl-dev libffi-dev python-dev
 && apt-get install -y libreoffice
 && apt-get install libmagickwand-dev
 && DEBIAN_FRONTEND=noninteractive  apt-get install ghostscript

RUN pip install wand

 

你可能感兴趣的:(技术)