前言:

在我以前的博客中有这么两篇博客,一篇是:将word 转换为图片(word to pdf ->pdf to image),另一篇是:python将ppt文件转换为jpg图片. 这两篇博客都是讲如何将word,ppt转换为图片,但是这些方法都是在win系统中实现的,而在ubuntu下根本无法运行代码.原因时转换过程中借用的时win的接口库win32com. 这个库bantu压根不存在.所以以前的方法在ubuntu系统就不能实现了,只能另寻出路所幸,皇天不服有心人,在经过多日查找,终于找到解决方法.

ppt转换为pdf:

准备工作:安装 subprocess 这个库

打开终端,执行以下语句:

sudo pip3 install subprocess

安装库以后就好办了,执行一下代码便可以实现转换.

import subprocess

from subprocess import Popen, PIPE

def ppt_to_pdf(self, outfile, infile, timeout=None):

"""将ppt 转换为pdf

函数说明:将路径为infile的ppt文件转换为pdf,保存进路径为outfile的pdf文件.

参数: outfile(str):保存文件pdf 的路径.

参数: infile(str):ppt文件的路径.

参数: timeout:转换文件时的时间延迟.

"""

args = ['libreoffice', '--headless', '--convert-to', 'pdf', '--outdir',outfile, infile]

process = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout)

re.search('-> (.*?) using filter', process.stdout.decode())

同理,将word转换为pdf

import subprocess

from subprocess import Popen, PIPE

def word_to_pdf(self,outfile, infile, timeout=None):

"""将word 转换为pdf

函数说明:将路径为infile的word文件转换为pdf,保存进路径为outfile的pdf文件.

参数: outfile(str):保存文件pdf 的路径.

参数: infile(str):word文件的路径.

参数: timeout:转换文件时的时间延迟.

"""

args = ['libreoffice', '--headless', '--convert-to', 'pdf', '--outdir', outfile, infile]

process = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout)

re.search('-> (.*?) using filter', process.stdout.decode())

将word,ppt转换为pdf 的方法是一样的,只不过是输入文件不一样罢了.

下面顺便也提一下将pdf转换为图片吧

首先要先安装 fitz 这个库,打开终端使用以下代码.

sudo pip3 install fitx

转换的代码:

from PyQt5 import QtGui

import fitz

pdf = fitz.open(file)

for pg in range(pdf.pageCount):

page = pdf.loadPage(pg) # 使用循环将所有转换为图片。

pagePixmap = page.getPixmap()

# 获取 image 格式

imageFormat = QtGui.QImage.Format_RGB888

# 生成 QImage 对象

pageQImage = QtGui.QImage(pagePixmap.samples, pagePixmap.width,pagePixmap.height, pagePixmap.stride, imageFormat)

pageQImage.save(file1 + '/image' + '%s.jpg' % (pg + 1))

pdf.close()

python ubuntu word txt 转pdf_ubuntu 下 python 将ppt,word 转换为pdf.相关推荐

  1. ubuntu python版本切换_ubuntu 16.04下python版本切换的方法

    本文主要是记录ubuntu 16.04下python环境配置,具体内容如下 对于ubuntu 16.04,由于本身是自带python,这样就减少了在windows下的下载和环境变量配置,非常不错.但是 ...

  2. python详细安装教程linux-Linux环境下Python的安装方法

    本文主要介绍linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: 将python- ...

  3. python编程培训多少钱-线下python培训要多少钱?

    Python语言相对简单,对于初学者非常友好,可以让初学者专注于编程逻辑,而不会被晦涩的语法细节困扰.相较于其他编程语言来说,学习python拥有更多岗位发展选择.那么,线下python培训要多少钱? ...

  4. 【Python学习系列一】Windows下Python及其IDE(eclipse+pydev)安装

    为了爬虫和数据分析工作,python无可避免要学习. 1.Python语言的特点:    1)Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言.   ...

  5. win7下python的安装与配置_Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程...

    以此文记录Python与Tensorflow及其开发环境的安装与配置过程,以备以后参考. 1 硬件与系统条件 Win7 64位系统,显卡为NVIDIA GeforeGT 635M 2 安装策略 a.由 ...

  6. python下载opencv库_Window系统下Python如何安装OpenCV库

    关于OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C ...

  7. python脚本自动运行失败_Linux下Python脚本自启动和定时启动的详细步骤

    一.Python开机自动运行 假如Python自启动脚本为 auto.py .那么用root权限编辑以下文件: sudo vim /etc/rc.local 如果没有 rc.local 请看 这篇文章 ...

  8. python网站设计理念_简单介绍下python Django框架的历史,设计理念及优势_Django讲解2...

    简单介绍下python Django框架的历史,设计理念及优势 Django是一个高层次的 Python Web 框架,它是一个鼓励快速开发和干净,实用的框架设计.Django可以更容易地快速构建更好 ...

  9. python用pip安装numpy mac_Mac下python安装numpy,pandas,matplotlib

    numpy是数据分析的库,我的目的是分析股票的数据,Pandas 有两种自己独有的基本数据结构Series (一维)和 DataFrame(二维),它们让数据操作更简单了.它也是 Python 的一个 ...

最新文章

  1. NLP未来,路在何方?12位巨佬联名指路!
  2. 04封装 里氏转换 多态
  3. Android 有些机型hint不显示
  4. AIDL 客户端与服务端的双向通信
  5. 无法打开输入文件mysql_错误LNK1181,pip安装“无法打开输入文件”mysqlclient.lib'...
  6. 微信小程序引入npm
  7. word文档中页眉页脚的设置问题
  8. 【运动学】基于matlab GUI最小半径泊车方法仿真【含Matlab源码 690期】
  9. java静态方法没有this,super与this无法用在static方法中
  10. Spine 骨骼动画
  11. 裁员潮下,工程师该何去何从?
  12. c11语言编译器,GNU C编译器的gnu11和c11
  13. JAVA菜鸟入门(8) Java的Final关键字
  14. 实战一个项目后,谈谈 Rust 语言的优点和缺点
  15. 计算机专业实训指导老师评语,计算机教师指导评语
  16. VirtualBox虚拟机下载
  17. Docker使用阿里云镜像
  18. python if else语句例子,python 中if else 语句的作用及示例代码
  19. 有苦有乐的算法 --- 一个数组中,有两种数出现了奇数次,其余数都出现了偶数次,找到这两种数
  20. 双DSP6657+FPGA K7架构电路方案

热门文章

  1. 如何在表格中使用计算机语言,易语言表格使用教程.doc
  2. 乐视云视频 接口开发 结合百度编辑器
  3. TezSession has already shutdown.Application XXX failed 2 times due to AM Container
  4. Windows Server 2022 Install Veeam ONE 12
  5. 电脑快速关机的快捷键
  6. r语言中,为什么用as.matrix将dataframe转化为matrix后,里面的数字都变成字符串了...
  7. 以楼聚产、以商招商 刘亦锦推进华锦铭盛大厦楼宇经济
  8. Directx11学习笔记【三】 第一个D3D11程序
  9. macbook卸载软件时,显示软件已锁定解决办法
  10. ansible 笔记