Skip to content

Repository files navigation

PDF2OFD 桌面应用

将 PDF 发票批量转换为 OFD(符合 GB/T 33190-2016),提升报账系统识别率。

功能

  • 批量添加任务,支持拖拽与多选
  • 并发处理(可调节并发数),充分利用多核
  • 单文件大小校验(≤ 100MB)
  • 转换结果输出到指定目录
  • 任务状态与错误提示,支持取消未开始任务

安装与运行

方式一:打包安装(macOS)

  1. 需要 JDK 17+(包含 jpackage)。
  2. 在项目根目录执行:
    • mvn -q -DskipTests package
    • mvn -q org.panteleyev:jpackage-maven-plugin:jpackage
  3. target/installer 目录下获得 PDF2OFD.dmg

方式二:直接运行 JAR

  1. mvn -q -DskipTests package
  2. java -Xmx1024m -jar target/pdf2ofd-0.1.0.jar

建议为大文件配置 JVM 内存:-Xmx1024m

Windows 安装包构建

在 Windows 环境(JDK 17+)执行:

  1. 构建 Windows 依赖:
    • mvn -q -DskipTests -P windows package
  2. 生成安装包(exe):
    • powershell -ExecutionPolicy Bypass -File ./scripts/jpackage-win.ps1
  3. 产物位置:target/installer/ 下生成安装包。

说明:jpackage 需在 Windows 上运行才能生成 Windows 安装包;如需 MSI,可将脚本中的 --type exe 改为 msi

使用说明

  • 打开应用后,点击“选择PDF文件”或直接拖拽 PDF 到表格
  • 选择“输出目录”
  • 设置“并发任务”数量(默认为 CPU 核心数)
  • 点击“开始转换”,任务将并行执行,完成后显示输出路径

技术实现

  • UI:JavaFX
  • 转换:使用开源库 ofdrw-converterPDFConverter(Apache-2.0)
  • 打包:jpackage 生成可安装包,maven-shade-plugin 生成可运行 JAR

常见问题

  • 某些复杂 PDF 特性可能在转换过程中丢失或显示不一致(来源于上游转换器说明)。
  • 如需更高稳定性,可单独提高 JVM 内存并减少并发数。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages