# 兼容清单 随发行说明发布,每个版本一份。支持某格式不等于支持它的全部功能;下表只写已验证的内容、已知限制与保存行为。 版本:Ely Office 0.1.2(首版六个应用:ElyDoc、ElyTable、ElyShow、ElyPDF、ElyTree、ElyMark)。日期 2026-10-09。 内核:LibreOffice 26.2.6.3(8221e31,加 `patches/libreoffice` 0001–0041);MuPDF 1.28.5(8ad45e9,加 `patches/mupdf` 0001–0005);Git 2.56.0(a018953)与 git-lfs 3.8.0;CEF 154.0.32。 验证机:macOS 27.0 arm64。Windows 与 Linux 未验证。本机没有 Microsoft Office:与 Office 的交叉检查未做(待做)。 ## 往返验证 每份样本在 Ely 中打开、编辑、保存、关闭、再打开、再编辑、再保存,最后由不经 LibreOffice 的读取器检查(`tests/scripts/ooxml.py`:自己解 OOXML,预期值由它自己算;DOCX 另交 macOS 的 `textutil` 读)。用例在 `crates/ely-lok/src/client/tests/independent.rs`。 | 用例 | 检查 | 结果 | | --- | --- | --- | | DOCX 合同 | 两次会话键入的文字(含中文)、批注、修订记录的插入、修订开关保留;`textutil` 读得出文字 | 通过 | | XLSX 公式 | 公式文本与缓存结果:整数、日期序号、`#DIV/0!` 错误值、文本严格相等,浮点按用例声明的 1e-12 容差;第二次会话的公式 | 通过 | | PPTX 演示 | 三张幻灯片、隐藏的那张仍隐藏、备注文字(含中文) | 通过 | 字体:缺失字体由内核报出,ElyDoc 页面上方列出缺失的字体(`doc.fonts.missing`),分页可能与有字体时不同;字体一致与缺失两种环境的对照未做。产品不带微软字体。 ## ElyDoc | | 格式 | | --- | --- | | 编辑与保存 | DOCX、ODT(保存保留原格式;另存为默认 DOCX) | | 导入或受限 | DOC、RTF 按原格式保存;含宏的文件(docm、dotm、带 Basic 的 ODF/OLE)进风险模式,只能另存副本,宏不运行 | | 输出 | PDF(页码范围、批注、修订标记)、打印(macOS) | 已验证:文字与段落格式、样式、页面与分节、页眉页脚、表格、图片锚点与环绕、目录、脚注尾注、书签、交叉引用、题注、公式、批注与回复、修订、查找替换、拼写(英文)、比较、邮件合并。限制:交叉引用只指向书签;公式导出 DOCX 后在 Word 中是否可编辑未验证。 ## ElyTable | | 格式 | | --- | --- | | 编辑与保存 | XLSX、ODS(保存保留 xlsx、ods、xls、fods;另存为默认 XLSX) | | 导入或受限 | XLS;CSV、TSV、TXT 经导入对话框(编码、分隔符、引号、逐列类型)成为新工作簿,原文件不动;xlsm、xltm 进风险模式 | | 输出 | PDF(全部工作表,按页面设置)、CSV 与 TSV(当前工作表的显示值,UTF-8)、打印(macOS) | 公式语法为 Excel A1。XLSX 与非 LibreOffice 生成的 ODF 载入时总是重算。限制:不支持的函数显示 `#NAME?`,原公式保留,缓存值不保留;外部链接不刷新,显示保存时的值;1904 日期系统未专门验证。 ## ElyShow | | 格式 | | --- | --- | | 编辑与保存 | PPTX、ODP(另存为默认 PPTX) | | 导入或受限 | PPT;章节(`p14:sectionLst`)内核不保留;媒体默认嵌入 | | 输出 | PDF(幻灯片或讲义 1、2、3、4、6、9 张一页)、PNG(每张 1920 宽)、打印(macOS) | 限制:Ely 提供一组基础切换与动画,文件自带的其他效果照原样保留并显示内核名称;批注不做回复(Impress 无回复结构);Windows 与 Linux 的媒体播放未构建。 ## ElyPDF | | 范围 | | --- | --- | | 编辑与保存 | 页面增删移转裁剪、文字与图片改动、批注、表单字段(文本、复选、单选、选择框)、书签、链接、属性、附件、OCR 文字层、内容删除与清理、密码与权限、数字签名 | | 导入或受限 | XFA 表单不支持;已签名文件另存为未签名副本;修复过的文件只能另存;多选列表框按单选填写 | | 输出 | PDF、页面图片(PNG 72/150/300 dpi)、文本、优化的 PDF、打印(macOS) | 保存经 MuPDF 写快照后紧缩写出;签名经增量更新写出并重开核对摘要。独立阅读器 PDFKit 读回页序、改动的文字与字段值(`crates/ely-pdf-engine/tests/independent.rs`)。限制:证书吊销状态不核验;Windows 与 Linux 的证书信任未构建。 ## ElyTree 标准本地 Git 仓库,随包 Git 2.56.0。浅克隆、LFS(只显示状态,不下载对象)、子模块(显示状态与检出记录的提交)照 Git 的限制显示。Ely 写的一切都是 Git 原生提交与引用;不提供交互式变基与硬重置。 ## ElyMark | | 格式 | | --- | --- | | 编辑与保存 | MD、Markdown(UTF-8,带不带 BOM;保留换行风格;未改动的块逐字节照原文写回) | | 导入或受限 | UTF-16 与非 UTF-8 拒绝打开并指出字节位置;Milkdown 不支持的语法以原文块保留;超过 2 MiB 只以源码打开 | | 输出 | HTML(单文件或带资源文件夹)、PDF、纯文本、打印(macOS) | ## 第二批 ElyMail 与 ElyAgent 不在首版,验证随第二批补上。