Skip to content

Releases: TheGadflyAndMontalleni/pdfreader

0.5.0-preview.4 · EPUB 正文批注

Pre-release

Choose a tag to compare

0.5.0-preview.4:EPUB 正文批注

下载安装包 · 免安装版

退出旧版后覆盖安装,原有阅读记录、书签和插件继续保留。

打开 EPUB,拖动选中一个词或一段正文,点击选区旁的 + 批注,也可以右键选择
新建批注,或按 Ctrl+Alt+M。右侧卡片保留引文,可直接输入中文、多行笔记,
支持编辑、删除;点击卡片的章节按钮可返回原文,点击正文高亮可打开对应卡片。
顶部 批注 按钮可随时收起或展开侧栏。

  • 重排 EPUB 通过范围 CFI 记录正文位置,调整字号、窗口宽度、翻页模式和夜间配色后仍能定位。
  • 固定版式 EPUB 增加章节和高亮图层接口,图层随整页缩放;在放大的页面中,卡片可把原文滚动到可见区域。
  • 同一段文字可添加多条独立批注。跨章节笔记按书籍保存,关闭重开后恢复;删除也会自动保存。
  • 批注保存在本机用户配置中,不修改原 EPUB。源文件被替换或修改后,不自动套用旧位置。
  • 现有 PDF 批注、PDF 内嵌导出和翻译插件继续可用。

本版仍为 EPUB 预览版,暂不支持 DRM、EPUB 打印、批注导出或跨设备同步。
包含此前预览版的 EPUB 打开兼容性和页面尺寸修复。

验证:三个显示缩放配置下各 19 项 EPUB 集成检查通过,覆盖批注完整流程、固定页面
高亮几何、关闭重开和删除持久化;PDF 批注 38 项、PDF 阅读 47 项、真实翻译 DLL
集成及安装 / 升级 / 卸载 24 项检查通过。本机真实 EPUB 的 48 个内容分节也逐一加载通过。

0.5.0-preview.3 · 修复 EPUB 打开空白

Choose a tag to compare

0.5.0-preview.3:修复部分 EPUB 打开后空白的问题

下载安装包 · 免安装版

退出旧版后覆盖安装,重新打开 EPUB 即可。无需转换或修改原书,书签、阅读进度和插件继续保留。

  • 修复旧版 EPUB 引用 Adobe XPGT 等附属 XML 排版资源时打开空白的问题。
    这类资源以 Blob 传入内容处理器,现在会先根据编码解码,再清理和解析 XML,支持 UTF-8 / UTF-16。
  • 章节加载失败会显示错误,不再把没有正文的阅读区标记成加载成功。
    保存的阅读位置失效时,回退到首个正文章节。
  • 翻页失败后释放导航锁,避免后续跳转失效;在书籍首尾继续翻页会安全停止。
  • 包含 preview.2 的阅读区尺寸同步、固定版式适应页面 / 宽度和百分比缩放修复。

新增原创测试书覆盖 EPUB 2 的 XPGT 资源、UTF-16 资源和损坏 XML 的错误提示。
真实本机样本的 48 个章节逐一加载通过;该样本仅用于本机验证,不随源码或安装包分发。

EPUB 仍为预览功能,暂不支持 DRM、EPUB 批注、打印和导出。

EPUB 试用版 0.5.0-preview.2:修复页面尺寸与缩放

Choose a tag to compare

0.5.0-preview.2:修复 EPUB 阅读区缩在角落的问题

下载安装包 · 免安装版

覆盖安装后重新打开 EPUB。阅读记录、书签和现有翻译插件继续保留。

  • 修复嵌入浏览器仍使用初始小窗口尺寸的情况。首次显示、切换标签、调整窗口和 DPI
    变化后,浏览器会在 Qt 布局完成后同步到实际阅读区,并显式更新浏览器边界。
  • 重置浏览器自身的历史缩放;阅读器中的字号 / 页面缩放独立生效。
  • 修复固定版式的整书 viewport 字符串解析错误,避免落成浏览器默认的 300×150 小画布。
    同时处理 SVG viewBox 的逗号 / 多空格分隔及非法尺寸回退。
  • 固定版式默认适应页面,支持“适应宽度”“适应页面”、百分比和加减按钮;放大后的
    页面可从左上边缘滚动阅读。缩放方式和比例会随阅读记录保存。
  • 固定版式显示“缩放”,重排书籍显示“字号”,避免把字号调整误当成整页缩放。

新增回归用例先在旧实现上复现嵌入窗口尺寸不匹配及 300×150 画布错误,修复后验证
首次布局、窗口变化、隐藏 / 显示、标签切换、页面居中、整页缩放和恢复。
EPUB 仍为预览功能;DRM、EPUB 批注和打印尚不支持。

验证:三个 Qt 缩放配置下 EPUB 集成测试全部通过;原 PDF 阅读回归、真实翻译插件
集成以及安装 / 升级 / 卸载的 24 项检查通过。

EPUB 试用版 0.5.0-preview.1

Pre-release

Choose a tag to compare

0.5.0-preview.1:EPUB 阅读试用版

这一版让阅读器可以直接打开无 DRM 的 EPUB 2 / EPUB 3,并与 PDF 放在同一窗口中阅读。

下载安装

安装后按 Ctrl+O 选择 .epub,也可以在 Windows “打开方式”中选择 PDF Reader。
安装器会检测并在必要时联网补装微软 WebView2 Runtime;免安装版需要电脑已有该组件。
这是预览版本,GitHub 的稳定版 Latest 仍保持 0.4.1。

可以试什么

  • 目录、中文正文、图片、内部链接;UTF-8 / UTF-16 章节。
  • 字号调整时重新排版,连续滚动或翻页,夜间配色。
  • 章节跳转、全文查找及命中定位。
  • 按正文 CFI 记录阅读位置,改变字号或窗口大小后恢复;书签可添加、跳转、重命名和删除。
  • 使用现有翻译插件选词、按 Alt+T 查离线词典或理解上下文,浮窗避开选区。
  • 同时打开 PDF 和 EPUB,切换、关闭标签。

PDF 继续用 PDFium,EPUB 新增 WebView2 / Foliate JS 后端。ZIP 按范围读取,章节和资源
按需解压,打开 PDF 时不启动浏览器。详细方案、与 SumatraPDF 等路线的比较、依赖和
能力边界见 EPUB 技术方案。

试用范围

暂不支持 DRM、EPUB 批注、EPUB 打印和改写导出;不执行书内 JavaScript,不打开外部
网站。固定版式提供基础打开,复杂竖排、脚注、音视频及出版社特殊版式仍需更多书籍验证。
翻译插件仍独立安装,安装说明。

验证使用 Windows 11、Qt 6.8.3、MinGW 13.1 和 WebView2 155。集成测试运行真实浏览器,
覆盖 EPUB 2 / 3、固定版式、UTF-16、损坏文件、正文重排、CFI 恢复、书签、查找、
翻译 DLL 和混合标签,并检查本机来源限制及书内脚本清理。原有 PDF 阅读、插件生命周期、
批注及安装 / 升级 / 卸载回归同时执行。

本次三种 Qt 缩放配置(1 / 1.5 / 2)下 EPUB 检查均通过;原 PDF 阅读 47 项、
插件生命周期 35 项、批注 38 项、PDF 翻译集成及安装器 24 项检查均通过。
Runtime 缺失时的补装路径未在本机实际执行:本机已有 Runtime,隔离安装测试也刻意跳过系统组件安装。

PDF Reader 0.4.1 · 翻译浮窗定位支持

Choose a tag to compare

@TheGadflyAndMontalleni TheGadflyAndMontalleni released this 21 Oct 01:40

PDF Reader 0.4.1

为阅读翻译浮窗提供准确的选区坐标。新插件可以在选中文字右下方显示,并在滚动、缩放或移动窗口时重新定位,避免盖住选区。配合 阅读翻译插件 1.1.0,可在毛玻璃浮窗中查看完整离线词典释义或用 DeepSeek 理解长上下文。

安装面向 Windows 10 / 11 x64 当前用户;覆盖安装可保留阅读记录、书签、批注和插件设置。翻译插件单独安装,在插件管理中启用。

SDK 1.1 新增可选 SelectionGeometryV1 能力,通过插件上下文查询。原 HostV1、PluginV1 和 API 1 IID 保持不变,旧插件无需重新编译。坐标采用全局逻辑像素,并裁剪到当前可见 PDF 视口;选区不在视野中时返回空矩形。几何查询只访问可见页,不扫描整份文档。

沿用 0.4.0 的高清阅读、书签、Word 风格正文批注和标准 PDF 注释保存功能。插件 UI、定位、滚动和清理使用实际 DLL 与合成 PDF 验证,并覆盖多种屏幕缩放。

阅读翻译 1.1.0 · 毛玻璃浮窗与离线词典

Choose a tag to compare

阅读翻译插件 1.1.0:毛玻璃浮窗、离线词典与语境理解

选中文字后按 Alt+T。默认自动判断查询方式:单个英文词查内置离线词典;短语、句子和长上下文使用 DeepSeek 翻译并解释语境,也可以手动切换。

毛玻璃小窗优先显示在选区右下方,靠近屏幕边缘时换位避开选中文字;随滚动、缩放和窗口移动更新,选区滚出视野时隐藏。材质使用阅读器背景采样模糊,兼容 Windows 10 / 11。右上角 × 或 Esc 关闭。

内置 ECDICT 770,611 条词条,展示词库提供的音标、中英文完整释义和词形变化。离线查询不需要 Key;词典未收录时提示手动切换 AI,不自动产生付费请求。长上下文最多 8,000 字符,仅发送选区文字,Key 仍在本机加密保存。

安装:在阅读器中打开 插件 → 插件管理 → 安装插件…,选择解压的 DeepSeekTranslate.dll 并启用。DeepSeek 的 Key 在 插件 → DeepSeek 生词翻译 → 翻译与 DeepSeek 设置… 中填写。

从 1.0 升级:先禁用旧插件,退出并重启阅读器,移除旧插件后安装新版;保留原配置和 Key。为了准确定位,请同时升级阅读器到 0.4.1。旧 0.3 / 0.4 阅读器仍能加载,但只能估算鼠标附近位置。

词库、HTTPS 组件都嵌入同一 DLL,许可证与数据来源校验随 ZIP 提供。源码及更多说明见 插件使用和开发指南。自动化测试使用合成文本与虚构 Key;未用真实 Key 执行付费 AI 翻译。

本发布为独立插件,仓库 Latest 保留给阅读器安装包。

PDF Reader 0.4.0 · 正文批注

Choose a tag to compare

@TheGadflyAndMontalleni TheGadflyAndMontalleni released this 20 Oct 11:44

PDF Reader 0.4.0

加入类似 Word 的正文批注,在阅读时把想法写在原文旁边。

下载与升级

适用于 Windows 10 / 11 x64,安装包包含运行组件。

正文批注

拖动选中正文,点击选区旁的 + 批注 或按 Ctrl+Alt+M,在右侧卡片中输入笔记。顶部工具栏和右键菜单也提供新建批注入口。

选中文字保留淡黄色高亮,当前批注显示边框、连线和页边标记。点击正文标记会打开对应卡片,点击卡片上的页码可返回原文。支持多行、跨页选区,每张卡片均可直接编辑或删除。顶部 批注 按钮可收起侧栏,侧栏宽度可拖动调整。

批注自动保存在当前电脑,切换标签或关闭文档时保存尚未写入的修改,不会自动改写原 PDF。需要备份、分享或换电脑阅读时,使用 文件 → 另存为,批注的文字和选区位置会随标准 PDF 高亮注释写入文件;在本阅读器中重新打开后可继续编辑。导出 PDF 页范围也保留对应批注。

另存 PDF 支持中文文件名并采用原子替换,写入失败不会截断原文件。若原 PDF 被外部替换或修改,旧的本机批注不会自动套用到变化后的文件,避免选区位置错配。

兼容与验证

本阅读器管理自己创建的批注,其他软件已有的注释会保留。原有的普通高亮、下划线和删除线仍使用页面内容标记。Plugin SDK 继续使用 API 1,无需升级插件接口。

新增 38 项批注回归检查,覆盖选区浮动按钮、卡片编辑、跨进程自动保存、标签隔离、跨页批注、正文定位、删除与重开、中文路径、PDF 注释导出及原文件保护;在 100%、150%、200% 显示缩放下验证,并继续运行阅读、书签、目录、打印导出和插件回归。

DeepSeek 生词翻译插件 1.0.0

Choose a tag to compare

DeepSeek 生词翻译插件 1.0.0

为阅读时遇到的生词和短语提供简短中文释义。自动识别原文语言,默认翻译为中文。

下载

适用于 Windows x64,兼容 PDF Reader 0.3.0 / 0.4.0 的 Plugin API 1,无需升级或替换阅读器程序。

使用

  1. 解压插件,在阅读器的 插件 → 插件管理 中安装 DeepSeekTranslate.dll 并启用。
  2. 打开 插件 → DeepSeek 生词翻译 → DeepSeek API 设置…,填写自己的 API Key。
  3. 在 PDF 中拖动选中生词,按 Alt+T 查看中文释义。

需要自动翻译时,勾选小窗中的 自动划词翻译。默认模型为 deepseek-flash,可在设置中更改。

小窗仅保留词语、语言、释义、复制和设置。只发送当前选词,不上传整页、文件路径或批注。Key 在本机加密保存。支持成功结果的会话缓存、请求取消、超时、错误提示及自动划词防抖。

API 调用使用自己的 DeepSeek 账户,计费规则以官方为准。自动语言识别与词义判断由模型完成;少量歧义词需结合原文理解。插件首次启用会部署内嵌的 HTTPS 组件,无需另装运行库。

使用及独立构建详见 开发与使用说明。本插件使用合成文本和虚构 Key 验证请求、UI 和生命周期;未使用用户的真实 Key 进行付费翻译。

这是独立插件发布,阅读器主程序的最新版本和安装包下载入口保持独立。

PDF Reader 0.3.0 — 插件机制与 Plugin SDK 1.0

Choose a tag to compare

@TheGadflyAndMontalleni TheGadflyAndMontalleni released this 17 Oct 11:33

PDF Reader 0.3.0

加入插件机制和 Plugin SDK 1.0,后续功能可以通过独立 C++ / Qt DLL 扩展。

下载与升级

适用于 Windows 10 / 11 x64。安装包包含运行组件,尚未代码签名。

使用插件

打开 插件 → 插件管理,选择 安装插件… 后启用;也可以直接启用内置的“阅读工具示例”,体验复制当前页文字、添加书签和文档信息面板。新插件默认禁用,启用状态跨启动保存。

插件接口支持当前文档快照、页面和选中文字、打开文件、跳页、书签、插件菜单、停靠面板、独立配置和数据目录,以及文档、页码、选区变化回调。插件不需要链接阅读器内部源码或 PDFium。

禁用、初始化失败和退出时会清理宿主注册 UI 和上下文资源。错误 API、IID 和无效元数据会在执行前拒绝;受宿主管理的 C++ 回调异常会停用插件。新增 --no-plugins,可在第三方插件导致启动问题时跳过自动加载。

原生插件与阅读器处于同一进程,并非沙箱,请只启用可信插件。当前发布版使用 Qt 6.8.3 / MinGW 13.1.0 / x64 / Release;插件需要匹配工具链。API 1 保持冻结,不兼容的变更使用新 API/IID。已加载 DLL 的替换或移除需禁用并重启。

开发与验证

详见 插件开发指南。提供真实 DLL 生命周期回归、独立 SDK 构建,以及安装版和免安装版中的插件加载自检;继续验证高清渲染、书签、目录与阅读状态。

PDF Reader 0.2.1

Choose a tag to compare

@TheGadflyAndMontalleni TheGadflyAndMontalleni released this 17 Oct 11:11

PDF Reader 0.2.1

修复书签删除入口不可见的问题。

下载与升级

适用于 Windows 10 / 11 x64,包含所需运行组件,无需管理员权限。当前安装包尚未代码签名。

书签删除与重命名

  1. 打开左侧“书签”标签,选中书签。
  2. 点击上方“删除”;按钮现在在最窄侧栏中也保持可见。
  3. 也可以右键书签选择“删除所选书签”,或在书签列表内按 Delete;重命名支持 F2。

顶部“书签”菜单也补充了删除和重命名。删除会立即保存;右键操作针对点击的书签,删除后自动选中剩余书签。Delete 仅在书签列表获得焦点时生效。

验证

新增界面回归检查覆盖最小侧栏宽度、顶部菜单点击、按钮点击、Delete 键、右键选中正确条目、删除持久化和空列表禁用状态。继续验证多倍率渲染、目录、阅读状态,以及安装、升级和卸载。