环境搭建

使用语言 python3

安装imagemagick(pdf转jpg是内部需要调用到此工具)

apt-get install imagemagick

安装libreoffice(此工具用于将word文档转化成pdf文件)

apt-get install libreoffice

安装python wand,PIL库

pip install wand

pip install PIL

PDF转JPG

先转png,再转jpg是为了避免出现黑色,透明等背景,造成转换出来的图片与pdf文件显示不一样

from PIL import Image as Image2

from wand.image import Image

from wand.color import Color

def convert_pdf_to_jpg(filename):

end_length = len(filename.split('.')[-1]) + 1

title = filename[0:-end_length]

title = title.split('/')[-1]

#resolution为分辨率,background为背景颜色

with Image(filename=filename, resolution=150, background=Color('White')) as img :

#页数

length = len(img.sequence)

#如果页数超过1页,生成的文件名会依次加上页码数

with img.convert('png') as converted:

path = 'static/local_images/%s.png' % title

converted.save(filename=path)

image_list = []

if length == 1:

path = 'static/local_images/%s.png' % title

image_list.append(path)

else:

for i in range(0, length):

path = 'static/local_images/%s-%d.png' % (title, i)

image_list.append(path)

jpg_list = []

for img in image_list:

image = Image2.open(img)

x,y = image.size

background = Image2.new('RGBA', image.size, (255,255,255))

try:

background.paste(image, (0, 0, x, y), image)

image = background.convert('RGB')

except:

image = image.convert('RGBA')

background.paste(image, (0, 0, x, y), image)

image = background.convert('RGB')

title = img.split('.')[0]

name = title + '.jpg'

image.save(name)

os.remove(img)

name = "%s/%s" %(static_host, name)

jpg_list.append(name)

return jpg_list

word文档转PDF

python没有直接把word转换成pdf文档的库,只能先安装libreoffice工具,然后利用os库系统调用libreoffice工具

import os

def convert_doc_to_pdf(filename):

end_length = len(filename.split('.')[-1]) + 1

name = filename[0:-end_length]

cmd = 'libreoffice --convert-to pdf %s' % filename

os.system(cmd)

name = name.split('/')[-1] + '.pdf'

return name

linux ubuntu下怎样将pdf格式文件转换为doc格式文件,Ubuntu环境下把word文档转成pdf,把pdf文件转成jpg...相关推荐

  1. 【教程】微信推文怎么添加附件文档 (如word文档、excel表格、pdf文件)

    对于很多企业单位.中小学校公众号来说,有时在对外发布信息时,需要在公众号文章中插入各种文档附件,如:应聘报名表.健康承诺书.记录统计表.防疫登记表.申报评分.公告通知等,文件类型有:word文档.ex ...

  2. 【Python】批量导出word文档中的图片、嵌入式文件

    Python 批量导出word文档中的图片.嵌入式文件 需求 学生试卷中的题目有要提交截图的,也有要提交文件的,为了方便学生考试,允许单独交或者嵌入Word中提交,那么事后如何整理学生的答案?单独提交 ...

  3. freemarker生成word文档,通过libreoffice完美转为pdf文件排版不乱(包含调用浏览器打印pdf)

    了解libreoffice的朋友都知道,freemarker是用xml生成的word文档,libreoffice打开这些文档会不兼容,会直接显示xml代码或排版差别很大,尤其是文档中包含一些复杂表格的 ...

  4. 如何用java代码生成Word文档和签字以及导出pdf文件

    文章目录 前言 一.任务描述以及前期准备 1.任务描述 2.前期准备 二.编写java代码转成word文档 1.小服务代码 2.工具类代码 3.jsp页面代码 三.word签名和导出pdf 1.签名 ...

  5. linux右键没有创建新文件夹,ubuntu17.10右键菜单添加新建word文档选项的方法

    ubuntu是一款造作系统,近日这款软件发布了ubuntu17.10版本,在新版本中更改了很多的设置,从桌面到系统中的功能都有了很大的改进.很多用户在使用电脑办公的时候很喜欢使用右键来新建文件,这样操 ...

  6. azw3转换为pdf_干货:如何Java 将 Word 文档转换为 PDF

    在日常工作中,PDF格式良好的视觉阅读性和稳定性使其使用越来越广泛.因此我们常会遇到需要将成型的Word文档转换为PDF格式的情况.本文就将通过使用Java程序来演示如何将Word文档转换成PDF格式 ...

  7. word文档解密_加密的pdf如何打印?一键解密,我有好方法!

    加密的pdf如何打印?现在人们的版权意识都比较强烈,在创作文档之后不仅会把文档转换成PDF格式,还会给文档开启加密保护.PDF文件加密又分为两种情况,一种是在文件打开时需要密码,一种是权限密码,对我们 ...

  8. 多个Word文档,多张图片转PDF方式实现

    Word转PDF网上有很多实现方式.本文主要介绍一个多个Word或者多张图片转为同一个PDF的方法.希望对大家有所帮助. 此种实现方式需要下载个第三方DLL Aspose ,iTextSharp. 可 ...

  9. 台式计算机文件打不开怎么回事,电脑文件打不开是怎么回事 电脑Word文档打不开怎么处理...

    电脑在日常生活中使用频率还是挺高的,既然使用的频率高,那么在电脑发生一些故障的时候,也最好能自己解决,像是有时遇到电脑文件打不开一样,这样的小问题都是能自己解决,可以不用麻烦技术人员.那么电脑文件打不 ...

最新文章

  1. 0x00000000指令引用的内存不能为written_jvm的内存结构
  2. 好程序员web前端分享js剪切板Clipboard.js 使用
  3. 我的Android笔记--我对安卓系统的一些了解
  4. Android 中MVC实例之Activity,Window和View
  5. 统计 python_Python统计简介
  6. Python自动化面试常见的编程题及答案
  7. 表观遗传小白逆袭之道:从这 19 个视频开始吧!
  8. LinuxControlGroup(Cgroup)简介
  9. Python 数据结构与算法——二叉搜索树的实现
  10. fcntl函数的SET用法
  11. php怎么使用sendcloud,请教大牛们 PHPHub 使用 sendcloud 发送邮件需要怎么配置?
  12. 百度云同同步盘 mac版
  13. transformer股票步骤
  14. unity3D游戏开发十之粒子系统
  15. matlab中feval与eval的区别
  16. 软件实训之智慧停车需要解决什么痛点和难点
  17. c++读取obj文件的数据 其中f中只取面片定点数据
  18. 快手智能处理与编码算法产品化之路
  19. Analysis之Web Page Diagnostics
  20. Jquery 中 ajaxSubmit 、ajaxForm使用讲解

热门文章

  1. 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi
  2. 〖Android〗从Android Studio转为Eclipse开发项目运行程序闪退的解决方法
  3. 理清fineuploader无刷新上传的一些事
  4. 蓝桥杯 【基础练习】 特殊回文数
  5. python mysql 转义方法
  6. [MySQL FAQ]系列 -- MySQL支持绑定到多个ip上吗
  7. 如何更准确的理解面向对象编程中的对象
  8. MFC程序框架的剖析
  9. 第二章例题:DateAndTimeStatus
  10. JavaScript速记