Skip to content

Conversation

@jorben
Copy link
Collaborator

@jorben jorben commented Jan 26, 2026

概述

本 PR 添加 Office 文件分割器的设计文档,描述如何扩展 MarkPDFdown Desktop 以支持 Word、PowerPoint 和 Excel 文件的转换。

支持的文件类型

类型 扩展名
Word .doc, .docx, .dot, .dotx
PowerPoint .ppt, .pptx, .pot, .potx
Excel .xls, .xlsx, .xlt, .xltx, .csv

技术方案

  • Word: 使用 mammoth.js 转 HTML
  • PowerPoint: 使用 jszip 解析 XML
  • Excel: 使用 xlsx (SheetJS) 解析工作表
  • 渲染: 复用 Electron BrowserWindow + capturePage() 截图

分页策略

  • Word: 按内容高度分页(A4 比例)
  • PowerPoint: 每张幻灯片一页
  • Excel: 按 Sheet 分页 + 智能尺寸计算

包大小影响

  • mammoth: ~1.5MB
  • xlsx: ~2MB
  • 总计: ~3.5MB

设计原则

  • 统一使用 docType 进行分支判断,而非文件扩展名
  • 遵循现有清洁架构(ISplitter 接口 → SplitterFactory)
  • 复用 Electron 渲染能力,无需额外浏览器进程

@jorben jorben merged commit 90ae70c into master Jan 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants