Skip to content

Releases: donglua/JZOfficeAndroid

v0.3.0

Choose a tag to compare

@donglua donglua released this 22 Sep 03:23

升级说明

Maven groupId 从 io.github.donglua 改为 io.github.donglua.office。artifactId 和 Java 包名不变,升级时需同时更新 groupId 和版本号。

// 本地文档预览
implementation("io.github.donglua.office:viewer:0.3.0")

// 在线预览,包含同版本 viewer 的传递依赖
implementation("io.github.donglua.office:viewer-online:0.3.0")

直接引用 AAR 时,在线预览需同时引入两个附件。本地预览只需 viewer-0.3.0.aar。使用完整版本的 AAR,避免混用不同版本的 Java 类和原生库。

主要变化

  • PPTX 按可见页及相邻页准备排版,释放远处页面的绘制布局,保持页码、跳页和缩放行为。
  • 在原有 800 万像素预算内保留最近使用的图片,回看时复用缓存,减少重复解码;优先保证可见图片清晰度。
  • 保留 PPTX 小数字号,修复章节标题意外换行及显示不完整的问题。
  • 将 Office 容器校验和 PPTX 纯几何计算集中到 Rust,提取平台无关的 XLSX 行列布局。
  • 改善 Demo PPTX 文字对比度,补充设备回归与升级文档。

验证与已知问题

  • 本地双模块发布包、Debug/Release 构建、Release lint、Rust 检查、47 项下载器检查和缓存检查通过。
  • 新坐标的 Gradle 元数据和纯 POM 传递依赖验证通过。
  • 真机专项通过:容器限制、图片缓存与清晰度、PPTX、XLSX、排版、Demo 三种样例及在线模块生命周期;内置 PPTX 覆盖全部 16 页。
  • 完整设备套件仍有未通过项:曾出现输入分发 ANR;诊断发现约 26 万字符的 XLSX 单元格在主线程断行时持续阻塞。PPTX 屏幕背景色断言也有失败,截图中已绘出内容。两项均作为本版本已知问题保留。
  • 本库仍提供有限内容预览,不保证 Office 完整版式一致性;性能测试仅说明排版或图片请求阶段的收益。

Maven Central 签名发布及两个 AAR 附件由本次 Release 的 Actions 工作流生成。附件上传完成与 Maven Central 可解析是两个独立状态,实际可用性以对应仓库为准。

完整变更:CHANGELOG

v0.2.0

Choose a tag to compare

@donglua donglua released this 21 Sep 06:09

在线预览与缓存清理

  • 新增可选 viewer-online 模块:文件直链、签名 URL、自定义请求头、下载进度、取消及可替换下载器。
  • 新增 OfficeCache 缓存管理与清理接口,保留正在使用的文件,返回删除、跳过和失败统计。
  • Demo 增加在线打开、取消、重试、关闭文档及清理缓存入口。
  • 两个模块统一发布 AAR、sources、Javadoc、POM 和 Gradle Module Metadata。

接入

仅预览本地文档:

implementation("io.github.donglua:viewer:0.2.0")

需要在线预览:

implementation("io.github.donglua:viewer-online:0.2.0")

viewer-online 会传递依赖同版本 viewer。直接引用 Release AAR 时,在线预览需要同时引入两个附件。本地预览只需 viewer

最低 Android 6.0(API 23),原生库支持 arm64-v8aarmeabi-v7a

验证与限制

  • 本地构建、lint、Rust 检查、47 项网络检查、缓存检查及双模块依赖解析已通过;发布 CI 负责正式签名和上传。
  • Android Instrumentation APK 已编译,尚未完成设备验收。
  • 在线文档完整下载后才能预览,不支持边下载边看、断点续传或持久离线缓存。
  • 缓存使用状态仅在同一应用进程内共享;阻塞网络读取取消可能需要等待超时。
  • 仍为 DOCX、PPTX、XLSX 的有限内容预览,不保证 Microsoft Office 版式一致。

完整变更见 CHANGELOG。Maven Central 同步状态与附件生成进度见 发布工作流

v0.1.0

Choose a tag to compare

@donglua donglua released this 20 Sep 09:05

JZOfficeAndroid 首次公开发布:通过 Android Uri 离线、只读预览 DOCX、PPTX 和 XLSX,不依赖服务器、WebView 或 Office 应用。

主要能力

  • DOCX:基础文字样式、图片、表格、行距和缩进,采用连续滚动展示。
  • PPTX:幻灯片导航、组合变换、基础图形与自定义路径、缓存折线图,以及主题文字、渐变背景、表格填色和换行设置。
  • XLSX:多工作表、双向滚动、合并单元格、基础样式、常见数字格式和公式缓存结果。
  • 支持拖动、缩放、按可见区域加载图片;输入文件上限为 128 MiB,仍受文档结构和图片资源预算限制。
  • Demo 内置三个综合样例,各案例标明条件与预期效果。

接入

最低 Android 6.0(API 23),默认包含 ARM64 和 ARM32。已发布到 Maven Central,可使用:

implementation("io.github.donglua:viewer:0.1.0")

接口用法和完整支持范围见 README

限制与验证

本版本提供有限内容子集预览,不保证与 Microsoft Office 的版式一致。旧版 .doc/.ppt/.xls、加密文档、编辑和公式计算不在支持范围内。

231 项 Rust 测试通过,Rust 格式与 Clippy 检查通过,Demo Debug/Release 和标准测试 APK 构建通过。GitHub 自动构建、签名和 Maven Central 发布成功,已下载公开 AAR 核对校验和、ARM64/ARM32 原生库及入口类。最终样例的部分 PPTX/XLSX 真机画面与交互复核因设备离线尚未完成,不代表所有兼容场景均已验证。