PDF报关单解析Web系统

PDF报关单解析Web系统

商城已上线,快去看看吧!

从海关出口货物报关单(预录单)PDF中批量提取表头和表体数据,导出为 Excel。

image.png

一、系统功能

1.1 前台功能(所有用户)

图片

1.2 后台功能(仅管理员)

图片

1.3 导出 Excel 说明

管理员每月 15 号进入系统,点击「导出 Excel」→「导出当月数据」,即可下载当月所有已解析的报关单数据。导出文件格式与 导出.xlsx 模板一致:

  •  报关单表头 sheet:32 列(订单号、报关单、提运单号、发货单位、运输方式、成交方式、合同协议号、毛重、净重、件数等)
  • 报关单表体 sheet:13 列(项号、商品编码、商品名称、规格型号、申报数量、法定数量、总价、币制、征免等)

1.4 角色权限

图片image.png

二、安装方法

系统提供两种安装方式,根据使用场景选择。

方式一:二进制安装(推荐普通用户)

无需安装 Python 环境,下载即用。

Windows

  1. 获取 pdf_web_app 文件夹(包含 pdf_web_app.exe 和依赖文件)
  2. 双击 pdf_web_app.exe
  3. 看到 访问: http://localhost:5000 提示后,打开浏览器访问
  4. 用默认账号登录:admin / admin123

Linux

1. 获取 pdf_web_app 文件夹,上传到服务器

2. 执行:

cd pdf_web_app.
chmod +x pdf_web_app
./pdf_web_app

3. 浏览器访问 http://服务器IP:5000

首次运行会自动在程序同目录下创建 data/ 文件夹(含 SQLite 数据库和 uploads 目录),无需手动配置。

方式二:Docker 安装(适合服务器部署)

适合有 Docker 环境的服务器,数据持久化到宿主机。

# 1. 构建镜像docker build -t pdf-web-app . 

# 2. 启动容器(数据持久化到当前目录的 data 文件夹)
docker run -d \
 --name pdf-web-app \
 -p 5000:5000 \
 -v $(pwd)/data:/app/data \
 --restart unless-stopped \ 
pdf-web-app

启动后浏览器访问 http://服务器IP:5000,用默认账号登录。

Docker 常用命令:

# 查看日志
docker logs -f pdf-web-app 

# 停止
docker stop pdf-web-app 

# 启动(已创建的容器)
docker start pdf-web-app 

# 删除容器(数据不丢失,存在宿主机 data 目录)
docker rm -f pdf-web-app

三、使用方法

3.1 首次登录

1. 浏览器访问系统地址

2. 输入默认管理员账号:admin / admin123

3. 登录后进入解析数据查看页面

3.2 管理员操作流程

日常使用(每月 15 号导出数据)

登录系统,进入「解析数据查看」

查看表头和表体数据,确认无误

点击「导出 Excel」→「当月全部(表头+表体)」

浏览器自动下载 xlsx 文件

管理用户

进入「用户管理」

点击「添加用户」逐个添加,或点击「批量导入」一次性导入多个

批量导入格式:每行一个用户,格式为 用户名,密码,角色,显示名

zhangsan,123456,user,张三
lisi,654321,user,李四
wangwu,888888,admin,王五

3.3 普通用户操作流程

  1. 登录系统,进入「PDF 数据管理」
  2. 点击「上传 PDF」,选择 PDF 文件(仅支持 .pdf 格式)
  3. 上传后系统自动解析,状态显示为「已解析」
  4. 如需修改数据,点击「编辑」按钮,可修改表头和表体
  5. 如解析有误,点击「重新解析」按钮重新提取
  6. 不需要的记录可点击「删除」按钮删除

3.4 数据存储位置

图片

备份只需复制 data/ 文件夹即可。

四、开发人员部署编译方法

4.1 环境要求

图片

4.2 开发环境搭建

# 1. 克隆代码
git clone https://gitee.com/ydxjyjkzh/pdf-to-excel.git
cd pdf-to-excel

 # 2. 创建虚拟环境(可选但推荐)
python -m venv venv 

# Windows 激活
venv\Scripts\activate
# Linux 激活
source venv/bin/activate

 # 3. 安装依赖
pip install -r requirements.txt

 # 4. 运行
python app.py

浏览器访问http://localhost:5000,默认账号admin / admin123。

开发模式下 Flask 开启 debug,代码修改后自动重启。

4.3 Docker 开发环境

# 构建并运行
docker build -t pdf-web-app .
docker run -d -p 5000:5000 -v $(pwd)/data:/app/data pdf-web-app

4.4 打包二进制文件

重要:PyInstaller 不支持交叉编译,必须在目标平台上打包。

  • 要生成 Windows exe → 在 Windows 机器上打包
  • 要生成 Linux 二进制 → 在 Linux 机器上打包
# 方法一:双击执行
build_win.bat

# 方法二:命令行执行
pip install -r requirements.txt
pip install pyinstaller
pyinstaller build.spec --noconfirm

打包结果:dist/pdf_web_app/pdf_web_app.exe

# 安装系统依赖
sudo apt install -y libglib2.0-0 libgl1-mesa-glx

 # Ubuntu/Debian
# 或
sudo yum install -y glib2 mesa-libGL 

# CentOS/RHEL 
# 执行打包
chmod +x build_linux.sh
./build_linux.sh

打包结果:dist/pdf_web_app/pdf_web_app

4.5 项目结构

pdf-to-excel/
├── app.py
 # Flask 主应用(路由 + API + 认证 + RBAC)
├── config.py 
# 配置(密钥 / 数据库路径 / 上传目录)
├── models.py
 # 数据库模型(User / PdfRecord / HeaderData / BodyData)
├── pdf_parser.py 
# PDF 解析模块(PyMuPDF + 正则,Web 版)
├── pdf_to_excel.py
 # PDF 批量提取脚本(独立命令行工具)
├── requirements.txt 
# Python 依赖
├── Dockerfile 
# Docker 构建配置
├── build.spec
 # PyInstaller 打包配置
├── build_win.bat 
# Windows 一键打包脚本
├── build_linux.sh
 # Linux 一键打包脚本
├── 导出.xlsx 
# Excel 导出模板(4 个 sheet)
├── templates/ 
# Jinja2 前端模板
│ ├── base.html 
# 基础模板(导航栏 + 侧边栏)
│ ├── login.html 
# 登录页
│ ├── pdf_list.html 
# PDF 数据管理页
│ ├── user_manage.html
 # 用户管理页(仅管理员)
│ └── data_view.html 
# 解析数据查看页(仅管理员)
├── static/
│ └── js/api.js 
# 全局 API 请求工具
└── data/ 
# 运行时自动创建(不入版本控制) 
├── app.db 
# SQLite 数据库 
└── uploads/ 
# 上传的 PDF 文件

4.6 数据库结构

图片

4.7 API 接口列表

所有接口均为 POST 方式(因加解密需求),返回统一 JSON 格式 {code, msg, data}。

图片

4.8 技术栈

图片[10]-PDF报关单解析Web系统-寻找资源网

 

看完不过瘾,那就自己发一篇吧!
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
相关推荐
评论 抢沙发

请登录后发表评论

    暂无评论内容