Skip to content

Tom-wc/fpzs

Repository files navigation

📄 发票打印助手

🚀 专业的电子发票处理工具

Version License Node Platform

智能合并 · 批量处理 · 自动统计 · 一键打印 · 文件复制

🎉 V3.5.8 新功能:支持文件一键复制,轻松实现同一发票多份打印!

快速开始 · 功能特点 · 使用指南 · 常见问题


📖 项目概述

发票打印助手是一款专为中小企业、财务人员和会计师设计的现代化Web应用,基于 Next.js 框架开发。

💡 为什么选择发票打印助手?

  • 🔒 数据安全:所有数据在浏览器本地处理,无需上传服务器
  • 💰 节省成本:智能合并为A4双联格式,节省50%纸张成本
  • 高效处理:支持批量上传,自动识别提取发票关键信息
  • 🌐 局域网部署:支持内网环境运行,无需数据库
  • 📱 响应式设计:完美适配桌面端和移动端设备

✨ 核心功能

📥 批量上传

  • 支持PDF格式电子发票文件
  • 拖拽上传,操作简便
  • 批量处理多张发票

🔄 智能合并

  • 自动合并为A4双联格式
  • 节省50%纸张成本
  • 保持高清打印质量

🤖 自动识别

  • 智能提取发票代码、号码
  • 自动统计金额信息
  • 支持各类电子发票

🖨️ 一键打印

  • 生成可打印的合并PDF
  • 导出CSV统计表格
  • 批量打印支持

📋 文件复制 🆕

  • 一键复制文件创建副本
  • 自动绕过 MD5 去重验证
  • 支持同一发票多份打印

🎨 智能识别

  • 原始文件显示复制按钮
  • 副本文件自动标记后缀
  • 清晰区分文件来源

📋 支持的发票类型

  • ✅ 增值税专用发票
  • ✅ 增值税普通发票
  • ✅ 电子发票(全电发票)
  • ✅ 其他各类电子发票

🎉 V3.5.8 新功能亮点

📋 文件复制功能

解决了长期以来的痛点:同一发票需要打印多份的问题

🎯 功能说明

  • 每个原始文件旁显示蓝色"复制"按钮
  • 点击即可创建文件副本
  • 副本自动添加唯一标识改变 MD5 值
  • 所有文件(原件+副本)自动合并打印

✨ 使用场景

  • 📄 同一发票需要打印 2-3 份
  • 📊 报销时需要多份凭证
  • 🗂️ 归档时需要多份备份
  • 💼 不同部门各需一份

💡 操作流程

1. 上传发票.pdf
   ↓
2. 点击蓝色"复制"按钮
   ↓
3. 自动生成"发票_副本1.pdf"(MD5已改变)
   ↓
4. 继续点击可生成更多副本
   ↓
5. 下载合并文件 → 所有文件合并为一个 PDF

📁 项目结构

3.5.8/
├── 📄 index.html              # 应用首页
├── 📄 main.html               # 功能主页面
├── ⚙️ server.js               # Node.js HTTP服务器
├── 🚀 启动服务器.bat           # Windows服务器启动脚本
├── 🌐 打开浏览器.bat           # 浏览器自动打开脚本
├── 📋 manifest.json           # PWA应用配置
└── 📂 static/                 # 静态资源目录
    ├── 🎨 css/                # 样式文件
    ├── 💻 js/                 # JavaScript文件
    ├── 🔤 font/               # 字体文件
    └── 🖼️ picture/            # 图片资源

🎯 技术特点

🚀 Next.js静态导出
无需数据库,纯前端应用
⚛️ React生态
完整的React应用,支持客户端渲染
🏠 本地化部署
支持局域网访问,数据不出本地
📦 资源本地化
字体资源已本地化,不依赖CDN
📱 响应式设计
适配各种设备,移动端友好

🚀 快速启动

方法一:使用批处理文件(⭐ 推荐)

# 1️⃣ 启动服务器
双击运行 "启动服务器.bat"

# 2️⃣ 打开应用
双击运行 "打开浏览器.bat"

方法二:命令行启动

# 1️⃣ 确保已安装Node.js环境

# 2️⃣ 启动服务器
node server.js

# 3️⃣ 浏览器访问
http://localhost:8000

🌐 访问地址

页面 地址 说明
🏠 首页 http://localhost:8000/index.html 应用欢迎页面
⚙️ 功能页 http://localhost:8000/main.html 主要功能界面

💻 系统要求

操作系统 Windows 7 / 10 / 11
浏览器 Chrome / Firefox / Edge(现代浏览器)
运行环境 Node.js 12.0+
磁盘空间 ≥ 50MB

💡 使用技巧

📋 同一发票需要打印多份?

✨ 新功能(V3.5.8):现在支持文件复制功能,轻松实现同一发票多份打印!

🎯 使用方法:

  1. 上传发票文件

    • 上传 PDF 格式的发票文件到系统
  2. 点击复制按钮

    • 在文件列表中,每个原始文件旁边都有一个蓝色的"复制"按钮
    • 点击即可创建该文件的副本
  3. 自动合并打印

    • 副本文件会自动添加到文件列表
    • 所有文件(包括原始文件和副本)会一起合并
    • 实现在 A4 纸上同时打印多份的效果

💡 功能特点:

一键复制 - 点击蓝色"复制"按钮即可创建副本
智能去重 - 通过修改文件内容绕过 MD5 验证
自动合并 - 副本自动参与合并和打印流程
清晰区分 - 副本文件名带"_副本X"后缀,且不显示复制按钮
无限复制 - 可以创建多个副本,实现多份打印

📝 示例:

上传: 发票.pdf
  ↓
点击复制
  ↓
生成: 发票.pdf(原件,有复制按钮)
      发票_副本1.pdf(副本,无复制按钮)
  ↓
再次点击复制
  ↓
生成: 发票.pdf
      发票_副本1.pdf
      发票_副本2.pdf
  ↓
下载合并文件 → 3个文件合并为1个PDF

💡 提示:副本文件会在文件末尾添加约 40-50 字节的唯一标识,不影响 PDF 显示效果。


🔧 故障排除

❓ 页面显示异常

点击展开解决方案 👉
  1. 检查浏览器控制台

    • F12 打开开发者工具
    • 查看 Console 标签是否有错误信息
  2. 确认资源文件

    • 检查 static/ 目录下的文件是否完整
    • 确保 CSS、JS、字体文件都存在
  3. 检查端口占用

    • 确保端口 8000 未被其他程序占用
    • 可使用 netstat -ano | findstr 8000 查看

❓ 服务器启动失败

点击展开解决方案 👉
  1. 检查Node.js安装

    node -v  # 查看Node.js版本
  2. 检查防火墙设置

    • 确认防火墙未阻止端口 8000
    • 必要时添加防火墙例外规则
  3. 更换端口号

    • 打开 server.js 文件
    • 修改 PORT 变量为其他端口(如 30008080

❓ 发票识别不准确

点击展开解决方案 👉
  1. 检查PDF质量

    • 确保PDF文件清晰、未加密
    • 避免扫描件或低分辨率文件
  2. 检查发票格式

    • 仅支持标准电子发票格式
    • 手工发票或特殊格式可能无法识别

⚠️ 注意事项

重要提示

  • 🔐 这是一个静态Web应用,数据存储在浏览器本地
  • 📝 HTML文件压缩在一行是Next.js的正常导出格式
  • ⏳ 页面需要完整加载JavaScript才能正常显示功能
  • 🌐 建议在局域网内使用固定IP地址访问
  • 💾 定期清理浏览器缓存,避免数据累积过多

📊 版本信息

项目 信息
版本号 V3.5.8
构建类型 网络发布版
更新日期 2025年10月
框架版本 Next.js 13+

demo地址:https://fpzs.lc.mba/


🆕 版本更新日志

V3.5.8 (2025-10)

✨ 新增功能

  • 📋 文件复制功能

    • 为每个原始文件添加蓝色"复制"按钮
    • 一键创建文件副本,绕过 MD5 去重限制
    • 支持同一发票打印多份,自动参与合并流程
    • 副本文件名自动添加"_副本X"后缀便于区分
  • 🖨️ 打印反馈增强

    • 点击打印/下载按钮显示处理中动画提示
    • 自动尝试触发浏览器打印对话框
    • 操作完成后显示成功提示

🔧 优化改进

  • 智能识别原始文件和副本文件
  • 副本文件不显示复制按钮(避免混淆)
  • 自动排除设置区域,避免误添加按钮
  • 通过修改文件内容实现 MD5 值变化
  • 添加详细的调试日志便于问题排查

🐛 问题修复

  • 解决同文件无法重复上传的问题
  • 优化按钮插入位置,更加精确
  • 改善用户操作反馈体验

🆘 技术支持

如遇技术问题,请依次检查:

  1. 网络连接是否正常

    • 确保本地网络畅通
    • 局域网环境配置正确
  2. 浏览器兼容性

    • 使用最新版本的现代浏览器
    • 启用JavaScript支持
  3. 资源文件完整性

    • 检查所有静态资源文件是否完整
    • 确认文件未被杀毒软件误删
  4. 系统环境

    • Node.js版本符合要求
    • 操作系统权限正常

📜 许可证

本项目采用 MIT 许可证。


🙏 致谢

感谢使用发票打印助手!如果这个项目对您有帮助,欢迎⭐Star支持!


Made with ❤️ by 发票打印助手团队

⬆ 回到顶部

About

非常推荐使用的一个纯前端的网页应用,支持批量上传发票,复制需要重复打印的发票,整合下载所有操作一目了然,好不好用过就知道了!

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors