将word 转换为图片(word to pdf ->pdf to image)

介绍:

将word文档转换为图片,先将word 文档转换为pdf 文件,再将pdf 转换为图片。

一:将word 文档转换为pdf 文件

要先安装win32com,使用以下命令行。

pip3 install win32com

直接上代码

from win32com import client

word = client.DispatchEx("kwps.Application")
word.Visible = 0 #0 不显示wps程序
in_file = " inputfile.docx"
new_file = 'outputfile.pdf'
doc = word.Documents.Open(in_file)
doc.PageSetup.PaperSize = 7     # 设置word纸张大小, A3=6, A4=7 
doc.PageSetup.Orientation = 1     # 设置word页面方向, 竖直=0, 水平=1
doc.SaveAs(in_file)  # 文档保存
doc.Close()
doc = word.Documents.Open(in_file)
doc.SaveAs(new_file, FileFormat = 17)
doc.Close()
word.Quit()
print("成功")

二:将pdf转换为图片

将pdf转换为图片比较复杂,需要借助两个库,fitz 和 PyQt5.QtGui

将pdf 的某一页转换为图片:

import fitz
from PyQt5 import QtGui


fname = 'inputfile.pdf'  
try:
    doc = fitz.open(fname)
    page = doc.loadPage(1)  #获取pdf 的第二页,可使用循环将所有转换为图片。
    pagePixmap = page.getPixmap()
    # 获取 image 格式
    imageFormat = QtGui.QImage.Format_RGB888 
    # 生成 QImage 对象
    pageQImage = QtGui.QImage(pagePixmap.samples,pagePixmap.width, pagePixmap.height, 
            pagePixmap.stride, imageFormat)
    pageQImage.save('outputfile.jpg')
    print("成功")
except:
    print("错误")

提醒:1.上面的代码可以将pdf的某一页转换为图片,再加个循环就可以将所有pdf都转换为图片。

2. 转换出来的图片的分辨率会有点差,大概在 850*600 左右,对于一些数据可能会造成很模糊,暂时未找到提高分辨率的方法。

    原文作者:zpeien
    原文地址: https://blog.csdn.net/qq_44920726/article/details/101284238
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞