representaciones
archivo PDF
Archivo de Word convertido
Herramientas y técnicas
Tecnología de gráficos GUI: PySimpleGUI Para obtener una descripción detallada, consulte el artículo anterior Python: escriba un generador de imágenes gif (un pequeño artefacto para luchar imágenes)
biblioteca pdf2docx
Esta es una biblioteca de terceros que existe en github . Puede ayudarnos a convertir archivos PDF a Word muy fácilmente. Generalmente es normal Todos se pueden convertir directamente, pero los complejos pueden tener algunos problemas de formato y puede que no sean fáciles de usar si son copias escaneadas. En general, basta con resolver los escenarios utilizados en la vida diaria ordinaria
Instalar
pip install pdf2docx
código
Dibuja una interfaz gráfica que cumpla con tus expectativas
def create_layout():
# 设置主题
sg.change_look_and_feel("GreenMono")
# 设置内容
layout = [
[sg.InputText(key="in_file"), sg.FileBrowse('选择PDF文件', button_color=sg.GREENS[0])],
[sg.InputText(key="out_file"), sg.FolderBrowse('选择输入目录')],
[sg.Button("开始生成", button_color=(sg.YELLOWS[0], sg.BLUES[0])), sg.Button("关闭")],
[sg.Output(size=(80, 20))]
]
return layout
Verificación simple de los directorios de entrada y salida ingresados en la interfaz.
# 校验参数
def check_file(in_file, out_file):
if in_file.endswith(".pdf")and out_file:
return True
if not out_file:
print("请选择输出目录!!!")
return False
print("文件不符合格式,请重新选择!!!")
return False
Método de PDF a Word
def pdf2doc(pdf_name, out_file):
# 转化pdf文件
cv = Converter(pdf_name)
try:
# file_name 要转换成word的文件名 start: 开始页 end 结束页 默认是0开始到最后一页
cv.convert(str(out_file)+"/result.docx", start=0, end=None)
except Exception as e:
print("转化出错:", e)
return False
cv.close()
return True
El código general es el siguiente.
import PySimpleGUI as sg
from pdf2docx import Converter
def create_layout():
# 设置主题
sg.change_look_and_feel("GreenMono")
# 设置内容
layout = [
[sg.InputText(key="in_file"), sg.FileBrowse('选择PDF文件', button_color=sg.GREENS[0])],
[sg.InputText(key="out_file"), sg.FolderBrowse('选择输入目录')],
[sg.Button("开始生成", button_color=(sg.YELLOWS[0], sg.BLUES[0])), sg.Button("关闭")],
[sg.Output(size=(80, 20))]
]
return layout
# 校验参数
def check_file(in_file, out_file):
if in_file.endswith(".pdf")and out_file:
return True
if not out_file:
print("请选择输出目录!!!")
return False
print("文件不符合格式,请重新选择!!!")
return False
def pdf2doc(pdf_name, out_file):
# 转化pdf文件
cv = Converter(pdf_name)
try:
# file_name 要转换成word的文件名 start: 开始页 end 结束页 默认是0开始到最后一页
cv.convert(str(out_file)+"/result.docx", start=0, end=None)
except Exception as e:
print("转化出错:", e)
return False
cv.close()
return True
if __name__ == '__main__':
layout = create_layout()
window = sg.Window("欢迎使用pdf转word神器1.0.0版本!!!", layout)
while True:
event, values = window.read()
if event in [None, "关闭", "exit"]:
break
if event == "开始生成":
in_file = values["in_file"]
out_file = values["out_file"]
is_success = check_file(in_file, out_file)
if is_success:
pdf2doc(in_file, out_file)
print("word文件生成成功!!!!")
print("生成目录为:",str(out_file)+"/result.docx")
window.close()
El código del programa se puede copiar y ejecutar directamente, ¡y las representaciones anteriores aparecerán después de la ejecución! ! !
El registro de programadores y vida de inversión ha pasado a llamarse Programador Zhiqiu, que es el mismo que la cuenta oficial de WX. ¡Bienvenido a prestar atención!