PySimpleGUI界面读取PDF转换Excel

PySimpleGUI 是一个用于创建图形用户界面的 Python 库,而 PDF 文件和 Excel 文件是两种不同的数据格式。要将 PDF 文件转换为 Excel 文件,你需要使用额外的库,如 pdf2excel

下面是一个示例流程,展示了如何使用 PySimpleGUI 创建一个界面,以便用户选择 PDF 文件并读取其中的数据,然后将其导入 Excel 文件:

  1. 安装所需的库
复制代码

bash复制代码

|---|----------------------------------------------|
| | pip install PySimpleGUI pdf2excel openpyxl |

  1. 使用 PySimpleGUI 创建界面
复制代码

python复制代码

|---|-----------------------------------------------------------------------------------------------------------------|
| | import PySimpleGUI as sg |
| | |
| | # 定义列和行布局 |
| | layout = [[sg.Column([[sg.Text("选择 PDF 文件:")], [sg.In(key='-IN-')]], pad=(0,0))], |
| | [sg.Text("选择输出 Excel 文件:")], |
| | [sg.In(key='-OUT-')], |
| | [sg.Column([[sg.Text("开始转换")], [sg.FileBrowse(file_types=(("PDF files", "*.pdf"), ("All files", "*.*")))]])] |
| | |
| | # 创建窗口布局 |
| | window = sg.Window("PDF to Excel Converter", layout, margins=(0,0), finalize=True) |
| | |
| | # 事件循环 |
| | while True: |
| | event, values = window.read() |
| | if event == sg.WINDOW_CLOSED: |
| | break |
| | elif event == "-IN-": |
| | input_file = values['-IN-'] |
| | elif event == "-OUT-": |
| | output_file = values['-OUT-'] |
| | elif event == "FileSelected": |
| | # 使用 pdf2excel 进行转换 |
| | pdf2excel(input_file, output_file) |
| | sg.popup_error("转换完成!") |

  1. 使用 pdf2excel 进行转换 :请注意,pdf2excel 是一个独立的库,它负责实际的 PDF 到 Excel 的转换。你可能需要自己编写这部分逻辑,或者找到一个合适的库。如果 pdf2excel 不满足你的需求,你可能需要查找其他库或工具来完成这个任务。

  2. 保存 Excel 文件 :在上述代码中,我们使用了 openpyxl 来保存 Excel 文件。你可以使用以下代码作为参考:

复制代码

python复制代码

|---|-------------------------------------------------|
| | from openpyxl import Workbook |
| | from openpyxl.utils import get_column_letter |
| | |
| | def save_to_excel(data, filename): |
| | wb = Workbook() |
| | ws = wb.active |
| | for r in data: |
| | ws.append(r) |
| | wb.save(filename) |

在完整的程序中,你需要根据实际的 PDF 文件内容和格式来调整这个函数,使其能够正确地将数据保存到 Excel 文件中。

  1. 处理异常和错误 :在实际应用中,你应该添加异常处理逻辑,以便在转换过程中出现错误时给出清晰的错误消息。这可能涉及到捕获 pdf2excel 库可能抛出的任何异常。

  2. 关闭窗口 :在程序结束时,确保关闭 PySimpleGUI 窗口。你可以在 sg.Windowclose 方法中添加适当的逻辑来处理这一点。

  3. 测试和调试:在实际部署之前,确保对程序进行彻底的测试和调试,以确保其按预期工作。

相关推荐
E_ICEBLUE1 小时前
Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分
python·excel
SEO_juper1 小时前
2026_GEO_AI搜索技术实战_CSDN
人工智能·chrome·目标检测·seo·geo·谷歌优化
大白要努力!1 小时前
纯前端实现 PDF 加水印工具 —— 零后端、支持中文、实时预览
前端·pdf·html
Android洋芋1 小时前
PrintFriendly网页文章转PDF插件工具及技术分析
运维·服务器·pdf·网页转pdf
蓝创工坊Blue Foundry2 小时前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
Kari112 小时前
连锁门店开业网络验收怎么做:把 PDF 清单改造成可回放的 Skill
网络·人工智能·pdf·php
Yana.nice12 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
噢,我明白了18 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
REST_302720 小时前
告别Excel孤岛:一款任务链路可视化工具带来的真实改变
大数据·微服务·云计算·编辑器·excel·动态规划
~烈1 天前
Acrobat Pro DC 便携精简版 PDF 专业处理工具安装教程
pdf·acrobat pro dc·pdf 专业处理工具