Python: escuché que es mejor que la versión paga (archivo PDF a Word)

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!

Supongo que te gusta

Origin blog.csdn.net/qq_25702235/article/details/130122943
Recomendado
Clasificación