打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PDF导出为图片并生成WORD

大家好,我消失了太久,不知道大家还记不记得我.前段时间有人提了个很奇怪的要求:他们要投标,投标方需要word形式的标书,标书内又要有公司内部几百号人的从业证书,现在标书写好了,每个人自己的从业证书各自扫描了PDF文件。现在需要把这些PDF文件合并,并且插入到word中。

1、pdf合并

大家直接参考之前的文档就可以了

2、导出图片并放入word

首先需要安装三个包

PyMuPDF
python_docx
pywin32

然后就是代码了

import fitz,os
from docx import Document
from docx.shared import Inches
def pyMuPDF_fitz(pdfPath):
  pdfDoc = fitz.open(pdfPath)
  name = str(pdfPath.split('/')[-1])[:-4]
  document = Document()
  for pg in range(pdfDoc.pageCount):
      page = pdfDoc[pg]
      rotate = int(0)
      zoom_x = 1.33333333
      zoom_y = 1.33333333
      mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
      pix = page.getPixmap(matrix=mat, alpha=False)
      pix.writePNG('0.png')#将图片写入
      document.add_picture('0.png', width=Inches(6))
  document.save('%s.docx'% name)

pyMuPDF_fitz('pdf地址')

为了使用更方便我优化了一下代码:主要就是做了个界面,实现用户可以直接选择pdf文件,在同目录下会直接生成word文档,然后打包成了一个exe文件,让用户可以不装python实现操作。

#-*- coding:utf-8 -*-
__author__ = 'zhangqi'

import fitz,os
from docx import Document
from tkinter import *
from tkinter import filedialog
import tkinter
from docx.shared import Inches
def openfile():
  global path
  path = filedialog.askopenfilename( filetypes=[('所有支持的类型', '*.pdf'), ('All Files', '*')])
  text2.set(path)
def pyMuPDF_fitz(pdfPath):
  pdfDoc = fitz.open(pdfPath)
  name = str(pdfPath.split('/')[-1])[:-4]
  document = Document()
  for pg in range(pdfDoc.pageCount):
      page = pdfDoc[pg]
      rotate = int(0)
      zoom_x = 1.33333333
      zoom_y = 1.33333333
      mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
      pix = page.getPixmap(matrix=mat, alpha=False)
      pix.writePNG('0.png')#将图片写入
      document.add_picture('0.png', width=Inches(6))
  document.save('%s.docx'% name)
def ok():
  p=str(path)
  yp = str('/'.join(p.split('/')[:-1]))
  os.chdir(yp)
  pyMuPDF_fitz(path)
  z = root.destroy()
root = tkinter.Tk()
root.title('内容选择')
root.geometry('300x100+500+300')
text2 = StringVar()
t2 = Entry(root, textvariable = text2)
text2.set(' ')
btn1 = tkinter.Button(root,text='选择需转换的PDF文件', command=openfile)
btn2 = tkinter.Button(root,text='确定', command=ok)
btn1.pack()
t2.pack()
btn2.pack()
root.mainloop()

使用效果:


今天内容就到这里了,大家随缘再见!~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何将Pdf文件转化成PNG图像?
PDF 的各种操作,我用 Python 来实现(附网站和操作指导)
PDF区域文本提取工具
PYTHONPyMuPDF库常见方法及使用
Python—PDF文本与图片抽取
Python 办公自动化之 PDF 最强操作手册
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服