Python PDF转Word,以及提取Word中图片里的文字

这篇博客介绍了如何使用Python进行PDF文件转换为Word,并详细阐述了从Word中的图片中提取文字的方法。内容来源于网络学习,包含软件操作的截图。
摘要由CSDN通过智能技术生成

PDF转Word,以及提取Word中图片里的文字

PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除

软件截图:
在这里插入图片描述

#!/usr/bin/python
# -*- coding: gbk -*-

import six
from pdf2docx import Converter
import zipfile  # 压缩包
import os  # 文件库
import pytesseract
from tkinter import *
import tkinter.filedialog
from PIL import Image
import shutil

root = Tk()
root.title('PDF转换WORD,TXT')
root.geometry('580x300')

PDF_FilePath = ''#用来保存PDF文件路径
DOCX_FilePath = ''#用来保存Word文件路径
TEXT_FilePth = ''#用来保存Text文件路径
Image_BaseForder = 'C:\\Temp'#临时用来存放WORD中的图片,方便后续分析识别图片中的文字

def Button1Anwser():
    global PDF_FilePath
    Path = Label(root, text='')
    PDF_FilePath = tkinter.filedialog.askopenfilename()
    Path.config(text = PDF_FilePath)
    Path.grid(row=2, column=0, sticky=W)

def Button4Anwser():
    global DOCX_FilePath
    Path = Label(root, text='')
    DOCX_FilePath = tkinter.filedialog.askopenfilename()
    Path.config(text = DOCX_FilePath)
    Path.grid(row=6, column=0, sticky=W)

def Button2Anwser():
    global PDF_FilePath
    global DOCX_FilePath

    if(PDF_FilePath == ""):
        Text = Label(root, text='')
        Text.config(text='请先选择PDF文件')
        Text.grid(row=3, column=1)
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现PDF图片文字图片提取换为word,可以使用Python的第三方库PyPDF2和python-docx。 步骤如下: 1. 使用PyPDF2打开PDF文件,并获取其的所有页面 ``` import PyPDF2 pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) num_pages = pdf_reader.getNumPages() pages = [] for i in range(num_pages): pages.append(pdf_reader.getPage(i)) ``` 2. 从每个页面获取图片和文本,并将它们添加到word文档。 ``` import io from docx import Document from docx.shared import Inches document = Document() for page in pages: # 获取页面的图像 for image in page.images: img_data = io.BytesIO(image) document.add_picture(img_data, width=Inches(1)) # 获取页面的文本 text = page.extract_text() document.add_paragraph(text) document.save('example.docx') ``` 注意,对于文本提取,有可能会丢失一些格式。此外,对于图像提取,需要确保在文档正确地定位它们。 完整的代码如下: ``` import io import PyPDF2 from docx import Document from docx.shared import Inches pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) num_pages = pdf_reader.getNumPages() pages = [] for i in range(num_pages): pages.append(pdf_reader.getPage(i)) document = Document() for page in pages: # 获取页面的图像 for image in page.images: img_data = io.BytesIO(image) document.add_picture(img_data, width=Inches(1)) # 获取页面的文本 text = page.extract_text() document.add_paragraph(text) document.save('example.docx') ``` 需要注意的是,换的结果可能与原来的PDF文件有一些差异。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值