docs: refactor Office splitter to separate format handlers with security#17
Merged
docs: refactor Office splitter to separate format handlers with security#17
Conversation
…urity Refactor the Office splitter design document with major architectural changes: - Split single OfficeSplitter into WordSplitter, PPTSplitter, ExcelSplitter - Remove legacy OLE format support (.doc, .ppt, .xls) - only OOXML supported - Add PathValidator for security against path traversal attacks - Add PageRangeParser for page/sheet range selection - Add RenderWindowPoolFactory for shared rendering resources - Add ChunkedRenderer for memory-optimized large document rendering - Update architecture diagrams to reflect new modular design - Add comprehensive test specifications for all components This design provides better maintainability through separation of concerns and improved security with explicit path validation. Co-Authored-By: Claude <noreply@anthropic.com>
Unify page range input format across all document types by removing name-based Sheet selection. Excel now uses the same numeric format as PDF, Word, and PowerPoint (e.g., "1-3,5" instead of "#1-2" or "Sheet1,数据表"). Changes: - Remove type and names fields from SheetRange interface - Simplify parseSheetRange to use parseNumeric directly - Update filterSheets to index-only filtering - Update documentation and examples Co-Authored-By: Claude <noreply@anthropic.com>
Keep the comprehensive design with: - Separate splitters (Word/PPT/Excel) - Security features (PathValidator) - Memory optimization (ChunkedRenderer) - Window pool management Discard master's simpler single OfficeSplitter approach. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code