Repository navigation
Releases: Zzuser/adouOFD
Release list
阿豆OFD 1.1.4
阿豆OFD 1.1.4
重点变化
- 设置页重新设计:文件关联状态按 .ofd / .pdf / .md 分组展示,操作按钮区分主次,移除关联与清除最近文件改为行内确认。
- 新增“版本与更新”卡片,可直接检查更新,并查看当前版本与更新来源。
- 新增最近文件记录清理;加载与操作过程增加骨架、进度和结果反馈。
- 更新源切换到 CNB Release:版本清单和安装包都从 CNB 下载,不再占用 MinIO 带宽。
升级说明
- 1.1.3 用户:设置 → 版本与更新(或关于)→ 检查更新 → 下载并校验 → 运行安装包。
- 若当前版本仍读取旧 MinIO 清单,请手动安装一次 1.1.4;之后会自动使用 CNB 更新源。
- 覆盖安装保留设置、最近文件与既有文件关联。
- 安装包未签名,Windows SmartScreen 可能提示“未知发布者”;请以发布页/应用内显示的 SHA256 为准。
验证
- 后端测试通过;前端 typecheck/build 通过。
- 设置页在真实 UI 中验证:检查更新、清除最近文件确认、移除文件关联确认。
- CNB Release 上传、匿名下载与 SHA256 校验通过。
阿豆OFD 1.1.3
阿豆OFD 1.1.3
重点变化
- 维护版本,界面与功能无变化。
- 更新下载链路兼容 CNB Release 镜像,为后续切换到国内下载源做准备;本版本仍从 MinIO 主源检查和下载更新。
- GitHub 构建的安装包现在会同步发布到 CNB Release,提供 GitHub 之外的下载镜像。
升级说明
- 1.1.2 及以后:关于 → 检查更新 → 下载并校验 → 运行安装包。
- 覆盖安装保留设置、最近文件与既有文件关联。
- 安装包未签名,Windows SmartScreen 可能提示“未知发布者”;请以发布页/应用内显示的 SHA256 为准。
验证
- 后端 68 项测试通过;前端 typecheck/build 通过。
- 安装包由 GitHub Actions 构建,发布后同步到 GitHub Release 与 CNB Release。
阿豆OFD 1.1.2
阿豆OFD 1.1.2
重点变化
- 安装器的“文件关联”和“创建桌面快捷方式”默认勾选,新安装和覆盖升级都生效;不再沿用上次安装时的任务选择。
- 更新包下载并通过 SHA256 校验后,关于页新增“运行安装包”按钮,可直接启动安装程序完成应用内升级;安装程序会关闭正在运行的应用并覆盖安装。
- 升级时文件关联与快捷方式默认勾选,仍可在安装向导中手动取消。
升级说明
- 1.1.1 用户:关于 → 检查更新 → 下载并校验 → 打开所在文件夹,手动运行下载的安装包完成首次升级(1.1.1 尚无“运行安装包”按钮)。
- 1.1.2 及以后:下载并校验完成后可直接点击“运行安装包”启动覆盖升级。
- 覆盖安装保留设置、最近文件与既有文件关联;安装任务默认勾选,可手动取消。
- 安装包未签名,Windows SmartScreen 可能提示“未知发布者”;请以发布页/应用内显示的 SHA256 为准。
验证
- 后端 68 项测试通过;前端 typecheck/build 通过。
- 安装器脚本任务默认值为勾选,且
UsePreviousTasks=no,升级不会复用上次的取消状态。 - 应用内检查更新、下载、SHA256 校验和“运行安装包”入口通过真实 UI 验证。
阿豆OFD 1.1.1
阿豆OFD 1.1.1
重点变化
- 修复 12306 铁路电子客票签章偏移:组合对象未声明 CTM 时按 Boundary 定位,查看、打印和导出 PDF 时签章恢复水平居中。
- 修复只读 OFD 合并失败:微信/WPS 缓存中的只读票据在合并、拆分/插页时不再因临时副本只读而中止;写入失败会提示“只读或被占用”。
- 修复非 ISO 附件日期导致 OFD→PDF 转换中止:例如
2026-5-11 11:50:30的附件会被跳过并告警,正文继续导出。 - 合并 PDF 新增三档:自动(默认,超大时转图像)、矢量(文字可选中)、图像(体积小、不可选中)。普通发票可选图像把约 92 MB 压到约 1 MB;27 张火车票约 1.18 MB。
- “关于”新增检查更新:手动读取 HTTPS 版本清单,应用内下载安装包、显示进度、校验 SHA256,并打开所在文件夹;不自动运行安装包。
验证
- 后端 68 项测试全部通过,覆盖只读合并、非 ISO 附件日期、签章定位、PDF 体积回退和三档 PDF 模式。
- 桌面 typecheck/build 通过;真实 UI 验证检查更新、下载与 SHA256 校验。
- 普通电子发票的探测、渲染、OFD/PDF 合并通过;WPS 打开源文件不阻塞处理,打开输出文件时覆盖会得到明确提示。
升级说明
- 直接覆盖安装 1.1.1;文件关联、设置与最近文件保留。
- 安装包未签名;下载后请以发布页的 SHA256 为准。
- 更新检查只在用户点击“关于 → 检查更新”时联网,不上传文档或个人信息。
- 安装包下载完成后由用户手动运行,当前不做自动安装。
阿豆OFD 1.1.0
阿豆OFD 1.1.0
重点变化
- 本地引擎由 Spring Boot 迁移到 Javalin 6.7.0(内嵌 Jetty 11),运行时不再包含 Spring。
- 打包版引擎热启动约 0.42 秒(1.0.0 约 1.25 秒),首次启动约 0.97 秒;后端 jar 从 48.8 MB 降到 36.2 MB。
- HTTP API、文档处理与界面功能保持不变;关于页显示“运行时 Javalin 6.7.0”。
- 后端 54 个测试、完整 UI 冒烟与打包版打开 PDF/OFD 验证通过。
升级说明
- 直接覆盖安装 1.1.0;文件关联与最近文件保留。
- 首次启动会在用户数据目录生成引擎缓存(约 22 MB),之后的启动更快;删除该缓存不影响文档。
- 安装包仍未签名(签名申请未获批准)。
阿豆OFD 1.0.0
阿豆OFD 1.0.0 发布说明
发布日期:2026-11-03
源码:https://github.com/Zzuser/adouOFD(镜像:https://gitcode.com/Zzuser/adouOFD)
下载
- 安装包(GitHub Release):
adou-ofd-1.0.0-x64-inno.exe - 大小:以 Release 附件为准
- SHA256:见发布附件
SHA256-1.0.0.txt - 平台:Windows 10 / 11 x64,按用户安装,无需管理员权限,自带精简 Java 运行时
- 代码签名:代码签名申请未获批准;1.0.0 安装包未签名,请使用 SHA256 校验。
- Code signing: the signing application was declined (not approved). The 1.0.0 installer is unsigned; verify it with the SHA256 asset.
1.0 主要更新
Markdown 与文本编辑
- 支持
.md/.markdown/.txt:打开、拖放、启动参数、第二实例与最近文件均接入;文本标签不依赖 Java 引擎。 - CodeMirror 6 编辑器 + GFM 实时预览:表格、任务列表、代码高亮、本地图片、相对链接、页内锚点。
- 分栏 / 编辑 / 预览三种模式;分栏分隔线可拖动(20%–80%,记忆比例,双击恢复 1:1)。
- 标题目录跳转;编辑区与预览区同步滚动(可关闭)。
Ctrl+S保存;编码 / 换行 / 行数 / 字数状态栏;标签页未保存黄点。- UTF-8/BOM、UTF-16 LE/BE、GB18030 自动识别并保持编码、BOM 与 CRLF/LF;16 MB 上限;原子写入。
- 文件被其他程序修改时提示覆盖保存或重新加载;关闭标签支持“保存并关闭 / 不保存关闭 / 取消”;退出应用前确认未保存内容。
- Markdown 预览可导出为 A4 PDF(只输出正文,包含本地图片、表格、代码高亮与分页控制)。
首页与入口
- 空状态改为“打开或新建文档”,提供“打开文档 / 新建 Markdown / 新建文本”。
- 移除 OFD/PDF 示例按钮;示例仍由后端接口供自动化测试使用。
- 顶部说明更新为阅读与编辑 OFD / PDF / Markdown / 文本文档。
阅读器与文档能力
- 页面旋转:当前页或全部页左右旋转、按页重置;视图级,不修改源文件;缩略图、文字层、搜索定位、打印预览同步。
- 最近文件:最多 20 条,去重、缺失清理,支持重新打开、定位、移除与清空。
- 文档属性:格式、页数、体积、页面尺寸、元数据与签名条目只读展示(明确不验签)。
- 加密 PDF 密码打开:密码仅用于本次打开,不保存、不写入日志。
Windows 集成
.md注册独立 ProgIDAdouOFD.MD与md-file.ico,加入“打开方式”和默认应用列表。- 安装向导关联任务扩展为
.ofd/.pdf/.md;卸载时同步清理,不覆盖已有默认应用。 - OFD / PDF / Markdown 文件图标统一为猫脸 + 折角 + 标签版式。
升级说明
- 可直接覆盖安装 0.9.0(同一 Inno AppId),安装目录、文件关联任务与设置保留。
- Windows 10/11 不允许程序静默修改默认应用;如
.ofd仍由其他程序打开,请在“设置 → 设为默认…”或系统默认应用中选择阿豆OFD。 .markdown仅在应用内支持,不注册系统关联;.md与 OFD/PDF 一样提供“打开方式”注册。
验证
- 后端测试 55/55 通过。
- 前端 typecheck 与生产构建通过。
npm run smoke:text:开发版与打包目录均通过,覆盖首页新建、GFM、本地图片、GB18030、分栏拖动、目录、同步滚动、导出 PDF、未保存关闭。- 完整
npm run smoke:ui通过,覆盖 OFD/PDF 阅读、文字选择、搜索、旋转、打印、转换、批量、合并、加密 PDF、最近文件与文件关联状态。 - 导出 PDF 实测:A4 3 页、白色页边距、可被本应用重新打开。
- 本地 1.0.0 Inno 安装包构建通过;发布附件以 CI 构建与
SHA256-1.0.0.txt为准。
已知限制
- Markdown / 文本编辑上限 16 MB;本地图片只展示已打开文档所在目录内的图片,网络图片不加载。
- Markdown 导出 PDF 固定 A4 与当前预览内容,不包含编辑器工具栏;超宽表格可能被裁切。
- 当前 代码签名申请未获批准,构建未签名,SmartScreen 可能提示“未知发布者”。
- PDF → OFD 的文字能否选中取决于源 PDF 字体;扫描件没有文字层,无法全文搜索。
- OFD → PDF 矢量导出可能嵌入完整中文字体,文件体积较大。
- 合并/拆分结果不保证保留各文件的目录/书签。
- Windows 默认应用切换需要用户在系统界面确认。
许可与隐私
应用代码以 MIT 许可发布。第三方组件、版权声明与完整许可文本见 THIRD-PARTY-NOTICES.md 与 licenses/;安装包内位于 resources/notices/。隐私政策见 PRIVACY.md,安全报告流程见 SECURITY.md。
阿豆OFD 0.9.0
阿豆OFD 0.9.0 发布说明
发布日期:2026-11-03
源码:https://github.com/Zzuser/adouOFD(镜像:https://gitcode.com/Zzuser/adouOFD)
下载
- 安装包(GitHub Release):
adou-ofd-0.9.0-x64-inno.exe - 大小:以 Release 附件为准
- SHA256:见发布附件
SHA256-0.9.0.txt - 平台:Windows 10 / 11 x64,按用户安装,无需管理员权限,自带精简 Java 运行时
- 代码签名:代码签名申请未获批准;0.9.0 安装包未签名,请使用 SHA256 校验。
- Code signing: the signing application was declined (not approved). The 0.9.0 installer is unsigned; verify it with the SHA256 asset.
主要更新
拆分与插页
- 新增独立“拆分与插页”标签页。
- 拆分支持每页一份、每 N 页一份、按自定义页码区间拆分;可设置文件名前缀和输出目录,同名结果自动加序号,不覆盖已有文件。
- 插页支持把另一个 OFD / PDF 的指定页插入主文档开头、指定页前或末尾。
- 插入文档与主文档格式不同时,先转换插入页,再按主文档格式输出。
- 拆分与插页共用转换/合并的重任务队列,支持进度、停止、页数校验和原子落盘。
页面预览
- 拆分预览显示全部页面缩略图;每 N 页和按区间模式用颜色序号标出输出分组。
- 按区间拆分时,未选中的页面自动淡化。
- 插页同时显示主文档和插入文档预览;主文档用虚线标出插入位置,插入文档高亮将插入的页面。
- 预览使用独立文档会话,不占用阅读器标签的会话,不会把已打开的文档挤掉。
交互
- 拆分/插页结果可直接查看、打印或在文件夹中定位。
- 拆分结果按文件列出页数,并可逐个操作。
- 预览区固定放在操作区下方,文件选择、参数设置和结果操作集中在页面上方。
升级说明
- 可直接覆盖安装 0.8.0(同一 Inno AppId),安装目录、文件关联任务与设置保留。
- Windows 10/11 不允许程序静默修改默认应用;如
.ofd仍由其他程序打开,请在“设置 → 设为默认…”或系统默认应用中选择阿豆OFD。
验证
- 后端测试 49/49 通过,新增:
- 8 项拆分/插页测试:PDF 按页、按 N 页、OFD 按区间、PDF 插 PDF、PDF 插 OFD、OFD 插 PDF、参数校验与源文件保护。
- 2 项预览会话测试:OFD/PDF 预览渲染、关闭预览不影响阅读器会话、越界页拒绝。
- 前端 typecheck 与生产构建通过。
- 真实 Electron UI 校验通过(7 页 OFD):
- 每 2 页拆分生成 4 个文件;
- 区间
1-3,5拆分生成 2 个文件,预览正确淡化 3 页并显示 2 个分组; - 默认插页输出 9 页;
- 插入文档第 2 页到主文档第 3 页前,输出 8 页;
- 预览缩略图、拆分组标记、选中页淡化和插入位置虚线均正确。
- 原有完整 UI 冒烟通过,无渲染进程运行时错误。
已知限制
- 拆分/插页结果不保证保留原文档的目录/书签。
- “每页一份”会生成多个文件;单次最多生成 300 个拆分文件,超出时请改用每 N 页或按区间拆分。
- OFD 拆分/插页会先复制并修复样式/资源再处理;大文档的耗时随页数增长。
- 混合格式插页的文字可选中性取决于源文件的转换能力边界。
- 当前 代码签名申请未获批准,构建未签名。
- PDF → OFD 的文字能否选中取决于源 PDF 字体;扫描件没有文字层,无法全文搜索。
- OFD → PDF 矢量导出可能嵌入完整中文字体,文件体积较大。
- 合并结果不保证保留各文件的目录/书签。
- Windows 默认应用切换需要用户在系统界面确认。
许可与隐私
应用代码以 MIT 许可发布。第三方组件、版权声明与完整许可文本见 THIRD-PARTY-NOTICES.md 与 licenses/;安装包内位于 resources/notices/。隐私政策见 PRIVACY.md,安全报告流程见 SECURITY.md。
阿豆OFD 0.8.0
阿豆OFD 0.8.0 发布说明
发布日期:2026-11-02
源码:https://github.com/Zzuser/adouOFD(镜像:https://gitcode.com/Zzuser/adouOFD)
下载
- 安装包(GitHub Release):
adou-ofd-0.8.0-x64-inno.exe - 大小:以 Release 附件为准
- SHA256:见发布附件
SHA256-0.8.0.txt - 平台:Windows 10 / 11 x64,按用户安装,无需管理员权限,自带精简 Java 运行时
- 代码签名:代码签名申请未获批准;0.8.0 安装包未签名,请使用 SHA256 校验。
- Code signing: the signing application was declined (not approved). The 0.8.0 installer is unsigned; verify it with the SHA256 asset.
主要更新
应用内打印
- 阅读器“打印”或
Ctrl+P打开打印面板:左侧设置、右侧实时预览与分张导航。 - 打印机:系统默认打印机或指定打印机;打印任务直接发送到所选打印机。
- 常用选项:份数 1–99、灰度、全部/当前页/自定义页码范围、奇偶页、逆序。
- 纸张:A3 / A4 / A5 / A6 / B5 / Letter / Legal / Tabloid,纵向/横向,默认 10mm / 无边距 / 自定义四边页距。
- 一张多页:每张 2 / 4 / 6 / 8 / 9 页;8 页为 2 列 × 4 行;支持按行 Z / 按列 N 排列与打印边框。
- 双面:单面、长边翻页、短边翻页(取决于打印机驱动支持)。
- 页面按所选页数自适应 300 / 200 / 150 DPI 渲染;预览与打印使用同一套排版计算。
结果快捷打印
- 单文件转换结果、批量转换结果行与合并结果都新增“打印”按钮,不需要先把结果打开到阅读器。
- 结果已在标签中打开时复用现有会话;否则临时打开并在关闭打印面板后释放,不新增标签。
- 打印面板支持在转换结果弹层、批量页与合并页上直接覆盖显示。
其他
- 打印失败在面板内提示;打开大结果时显示“正在准备打印…”。
- README、PRD、CHANGELOG 与界面截图同步更新。
- 后端测试与 UI 冒烟覆盖打印面板、N-up、纸张、灰度与结果入口。
升级说明
- 可直接覆盖安装 0.7.1(同一 Inno AppId),安装目录、文件关联任务与设置保留。
- Windows 10/11 不允许程序静默修改默认应用;如
.ofd仍由其他程序打开,请在“设置 → 设为默认…”或系统默认应用中选择阿豆OFD。
验证
- 后端测试 39/39 通过。
- 前端 typecheck/build 通过。
- 完整 UI 冒烟通过,新增打印用例:
- 默认 OFD 示例 4 页/4 张;2-up 输出 2 页、每页 2 张页面图;按列排列预览
[1,3,2,4]。 - 每张 8 页(2 列 × 4 行)输出 1 页 A4、4 张页面图。
- 范围 2-4 + 逆序 + A5 横向 + 无边距 + 灰度输出 3 页 209.9×148.2mm,首页为第 4 页。
- PDF 示例灰度输出 3 页 A4;无效页码范围禁用打印。
- 转换结果(3 页)、批量结果(4 页)、合并结果(7 页)的打印入口均直接打开面板且不新增标签。
- 默认 OFD 示例 4 页/4 张;2-up 输出 2 页、每页 2 张页面图;按列排列预览
- 系统静默发送到真实打印机需结合实际打印机与驱动验证。
已知限制
- 当前打印是页面图像(300/200/150 DPI),超大文档的准备时间与内存随页数增长。
- 纸张、双面、颜色能力取决于打印机驱动;暂不提供驱动属性(纸盒、打印质量)面板。
- 小册子、拆分/裁切、仅打印文档不含标注、水印/页码/页眉页脚属于后续版本。
- 当前 代码签名申请未获批准,构建未签名。
- PDF → OFD 的文字能否选中取决于源 PDF 字体;扫描件没有文字层,无法全文搜索。
- OFD → PDF 矢量导出可能嵌入完整中文字体,文件体积较大。
- 合并结果不保证保留各文件的目录/书签。
- Windows 默认应用切换需要用户在系统界面确认。
许可与隐私
应用代码以 MIT 许可发布。第三方组件、版权声明与完整许可文本见 THIRD-PARTY-NOTICES.md 与 licenses/;安装包内位于 resources/notices/。隐私政策见 PRIVACY.md,安全报告流程见 SECURITY.md。
阿豆OFD 0.7.1
阿豆OFD 0.7.1 发布说明
发布日期:2026-11-02
源码:https://github.com/Zzuser/adouOFD(镜像:https://gitcode.com/Zzuser/adouOFD)
下载
- 安装包(GitHub Release):
adou-ofd-0.7.1-x64-inno.exe - 本地构建/Release pack:
阿豆OFD-0.7.1-x64-inno.exe - 大小:180.8 MB
- SHA256:见发布附件
SHA256-0.7.1.txt(由构建流程生成,校验安装包完整性) - 平台:Windows 10 / 11 x64,按用户安装,无需管理员权限,自带精简 Java 运行时
- 代码签名:未做代码签名,请用 SHA256 校验。
- Code signing: this release is unsigned; verify the installer with the SHA256 asset.
主要更新
- 统一所有标签页页头为 50px 单行布局:
- 查看器:文档标签栏 + 单行文档工具栏。
- 批量转换、合并文档、设置、空状态:标题与说明同行。
- 压缩查看器顶部区域,1279×820 窗口下页面起始位置由约 y=330 提前到约 y=155。
- 文档工具栏在窄窗口自动收为图标按钮,保留 tooltip 与 aria-label。
- 移除装饰性/情感化文案,界面与文档改为功能描述:
- 空状态改为“打开 OFD / PDF 文档”。
- 关于页移除品牌语,仅保留版本、环境、开源与隐私、仓库入口。
- 侧栏移除英文装饰副标题。
- 关于页新增隐私政策入口;
PRIVACY.md随安装包复制到resources/notices/。 - 新增安全政策、贡献指南、行为准则、支持说明与变更记录。
- 新增 GitHub CI / Release 工作流和开源代码签名申请材料。
- 更新 README、PRD、截图与发布说明;截图中的本地路径已脱敏。
升级说明
- 可直接覆盖安装 0.7.0(同一 Inno AppId),安装目录、文件关联任务与设置保留。
- Windows 10/11 不允许程序静默修改默认应用;如
.ofd仍由其他程序打开,请在“设置 → 设为默认…”或系统默认应用中选择阿豆OFD。
验证
- 后端测试 39/39 通过。
- 前端 typecheck/build 通过。
- 完整 UI 冒烟通过:阅读、搜索、设置、关于许可、转换、批量、合并、多标签、第二实例打开。
- 页头高度回归检查:设置页 50px;查看器顶栏 51px,文档栏 50px。
已知限制
- 未做代码签名,请用 SHA256 校验完整性。
- PDF → OFD 的文字能否选中取决于源 PDF 字体;扫描件没有文字层,无法全文搜索。
- OFD → PDF 矢量导出可能嵌入完整中文字体,文件体积较大。
- 合并结果不保证保留各文件的目录/书签。
- Windows 默认应用切换需要用户在系统界面确认。
许可与隐私
应用代码以 MIT 许可发布。第三方组件、版权声明与完整许可文本见 THIRD-PARTY-NOTICES.md 与 licenses/;安装包内位于 resources/notices/。隐私政策见 PRIVACY.md,安全报告流程见 SECURITY.md。