-
Notifications
You must be signed in to change notification settings - Fork 45
en Feature Overview
zero edited this page Jun 19, 2025
·
4 revisions
This document provides a detailed overview of all features in the WordZero project, including implemented functionality and planned features.
- Create new Word documents: Support for standard DOCX format creation
- Read and parse existing documents ✨ Major Enhancement
- Dynamic element parsing: Support for paragraphs, tables, section properties, and other element types
- Structured parsing: Maintain original order and hierarchy of document elements
- Complete XML parsing: Stream-based parsing supporting complex nested structures
- Error recovery: Intelligently skip unknown elements ensuring parsing stability
- Performance optimization: Memory-friendly incremental parsing suitable for large documents
- Document saving and compression: Efficient OOXML packaging
- ZIP file handling and OOXML structure parsing: Complete Office format support
- Add and modify text content: Flexible text manipulation API
- Paragraph creation and management: Complete paragraph lifecycle management
- Text formatting: Complete support for font, size, color, bold, italic
- Paragraph alignment: Left, center, right, and justify alignment
- Line spacing and paragraph spacing: Precise spacing control
- First line indent and left/right indent: Complete indentation settings
- Mixed format text: Support for multiple formats within a single paragraph
- Predefined style library: 18 built-in Word styles
- Heading styles (Heading1-Heading9) - Support for navigation pane recognition
- Body text style (Normal)
- Document title and subtitle (Title, Subtitle)
- Quote style (Quote)
- List paragraph style (ListParagraph)
- Code-related styles (CodeBlock, CodeChar)
- Character styles (Emphasis, Strong)
- Style inheritance mechanism: Complete style inheritance and property merging
- Custom styles: Quick creation and application of custom styles
- Style query API: Query by type, style validation, batch operations
- Quick application API: Convenient style operation interface
- Page size settings: A4, Letter, Legal, A3, A5, and other standard sizes
- Custom page dimensions: Millimeter units, support for arbitrary dimensions
- Page orientation: Portrait/landscape
- Page margin settings: Top, bottom, left, right margins in millimeters
- Header/footer distance settings: Precise distance control
- Gutter width settings: Professional layout support
- Complete page settings API: Unified configuration interface
- Page settings validation and error handling: Robust parameter validation
- Page settings save and load support: Persistent configuration
- Table creation and initialization
- Create tables with specified rows and columns
- Set initial table data
- Insert tables at specified document positions
- Default table styling (following Word standards)
- Default single-line borders (single border style)
- Standard border thickness (4 * 1/8 points)
- Auto-adjust layout (autofit)
- Standard cell margins (108 dxa)
- Support for style override and customization
- Table structure management
- Insert rows (at specified position, end, beginning)
- Delete rows (single row, multiple rows, specified range)
- ✨ Fix: Cell merge misalignment after dynamic row insertion
- Deep copy cell properties to avoid shared property pointers
- Ensure cell independence for newly added rows
- Maintain complete table structure consistency
- Table copy and cut: Complete table operation support
- Table delete and clear: Flexible cleanup operations
- Cell content management
- Set and get cell text
- Rich text format support for cells
- Clear and reset cell content
- Cell merging functionality
- Horizontal merge (merge columns)
- Vertical merge (merge rows)
- Area merge (multiple rows and columns)
- Unmerge operations
- Merge status queries
- Cell formatting
- Cell text formatting (font, size, color)
- Cell alignment (horizontal, vertical alignment)
- Cell text direction and rotation
- Cell padding settings
- Table size control
- Table total width settings (fixed width, relative width, auto width)
- Column width settings (fixed width, relative width, auto adjust)
- Row height settings (fixed height, minimum height, auto adjust)
- Precise cell dimension control
- Table alignment and positioning
- Table page alignment (left, center, right)
- Table text wrapping settings
- Table relative positioning
- Table pagination control
- Table cross-page handling
- Header row repeat display
- Table page break control
- Avoid page break row settings
- Data import/export
- Two-dimensional array data binding
- Extract table data as arrays
- Batch data filling
- Table search and positioning
- Get tables by index
- Get table position information
- Cell access interface
- Access by row and column index
- Cell traversal iterator ✨ New Implementation
- Cell iterator (CellIterator)
- Sequential traversal of all cells
- Iterator reset and position tracking
- Iteration progress calculation
- Cell information structure (CellInfo)
- ForEach batch processing method
- Traverse by row (ForEachInRow)
- Traverse by column (ForEachInColumn)
- Get cell range (GetCellRange)
- Conditional cell search (FindCells)
- Search cells by text (FindCellsByText)
- Exact match and fuzzy match support
- Table overall styling
- Predefined table style templates
- Custom table style creation
- Table theme color application
- Table style inheritance and override
- Table border settings
- Outer border styles (line type, color, thickness)
- Inner border styles (grid line settings)
- Independent cell border settings
- Partial border application (top, bottom, left, right)
- Borderless table support
- Table background and filling
- Table background color settings
- Cell background color settings
- Alternating row colors
- Gradient background support (basic gradients)
- Pattern fill support
- Image insertion: Support for multiple insertion methods
- Image size adjustment: Precise dimension control
- Image positioning: Flexible positioning options
- Multiple image format support: JPG, PNG, GIF, and other mainstream formats
- Headers and Footers ✨ New Implementation
- Default header and footer settings
- Different headers/footers for first page
- Different headers/footers for odd/even pages
- Page numbers in headers/footers
- Header/footer formatting support
- Header/footer text content settings
- Header/footer reference and relationship management
- Document Properties ✨ New Implementation
- Title, author, subject settings
- Keywords, description, category settings
- Creation time, modification time management
- Document statistics (word count, paragraph count, etc.)
- Auto-update statistics information
- Lists and Numbering ✨ New Implementation
- Unordered lists (multiple bullet types: dots, hollow circles, squares, dashes, arrows)
- Ordered lists (numbers, letters, Roman numerals)
- Multi-level list support (up to 9 levels)
- Custom list styles
- List numbering restart
- Multi-level list batch creation
- List indentation level control
- Table of Contents Generation ✨ New Implementation
- Auto-generate table of contents
- TOC entries based on heading styles
- TOC level control (1-9 levels)
- Page number display and hyperlink support
- TOC update functionality
- Heading support with bookmarks
- Custom TOC styling
- Heading statistics and list functionality
- Footnotes and Endnotes ✨ New Implementation
- Add and manage footnotes
- Add and manage endnotes
- Multiple numbering format support (numbers, letters, Roman numerals, symbols)
- Delete and update footnotes/endnotes
- Custom footnote configuration
- Footnote position settings (page bottom, below text, section end, document end)
- Footnote restart rules (continuous, restart each section, restart each page)
- Footnote count statistics
- Structured Document Tags (SDT) ✨ New Implementation
- Create TOC SDT structure
- SDT properties and content management
- SDT placeholder and document part support
- TOC entry SDT nesting
- Template Creation and Management
- Template definition structure
- Variable placeholder system
- Template validation and error handling
- Template metadata management
- Template Processing Engine
- Variable replacement and rendering
- Conditional logic support (if/else)
- Loop iteration support (range/for)
- Nested template support
- Function and filter system
- Template inheritance mechanism
- Dynamic Content Generation
- Data binding and injection
- Dynamic table generation
- Dynamic list creation
- Conditional content display
- Multi-level data structure support
- Template Operations
- Load templates from files
- Save processed templates
- Template format conversion
- Template optimization and caching
- Image Placeholder Templates ✨ Latest Implementation
- Image placeholder syntax:
{{#image imageName}}support - Image data binding (file paths, binary data)
- Complete style configuration support (size, alignment, text wrapping, etc.)
- Full compatibility with existing image operations
- Alt text and title support
- String template and document template dual support
- Image configuration inherits existing ImageConfig system
- Mixed content template support (images with conditionals and loops)
- Image data management API (SetImage, SetImageFromData, etc.)
- Automatic image placeholder recognition and processing
- Image placeholder syntax:
- Markdown to Word Conversion
- Complete Markdown syntax support
- Heading conversion (H1-H6 to Heading1-Heading6)
- Text formatting (bold, italic, strikethrough, code)
- List conversion (ordered and unordered)
- Table conversion with styling
- Code block conversion
- Quote block conversion
- Link and image processing
- Line break and paragraph handling
- Word to Markdown Export
- Style-based conversion
- Table structure preservation
- List hierarchy maintenance
- Format retention
- Image extraction and linking
- Advanced Conversion Features
- Custom style mapping
- Conversion options and configuration
- Format validation
- Error handling and recovery
- Track Changes: Document revision tracking
- Comments: Add and manage document comments
- Document Protection: Password protection and editing restrictions
- Digital Signatures: Document signing support
- Find and Replace: Text search and replacement functionality
- Spelling Check: Spell checking integration
- Text Boxes: Floating text box support
- Drop Caps: Decorative first letter support
- Table Formulas: Calculation support in tables
- Table Sorting: Sort table data
- Table Charts: Convert table data to charts
- Advanced Table Styles: More predefined table styles
- Chart Support: Insert and manage charts
- Shape Drawing: Basic shape insertion
- SmartArt: Diagram and flowchart support
- Watermarks: Text and image watermarks
- Columns: Multi-column text layout
- Text Frames: Advanced text positioning
- Form Fields: Interactive form elements
- Mail Merge: Data source integration
- Macros: VBA macro support
- Custom XML: Custom XML data integration
- Content Controls: Rich content control elements
- Document Automation: Batch processing capabilities
- Cloud Storage: Integration with cloud services
- Export Formats: PDF, HTML, RTF export
- Database Integration: Direct database connectivity
- Web Services: REST API integration
- Document operations
- Text and paragraph handling
- Style management
- Page settings
- Basic table operations
- Advanced cell manipulation
- Table styling and formatting
- Table iterators and queries
- Headers and footers
- Lists and numbering
- Table of contents
- Footnotes and endnotes
- Document properties
- Template system
- Markdown conversion
- Track changes and collaboration
- Enhanced media support
- Advanced layout features
- Integration capabilities
WordZero focuses on Word document processing. For Excel document operations, we recommend the most popular Go library in the industry:
Excelize ⭐ 19.2k+ GitHub Stars
- 📊 Complete Excel Support: All modern Excel formats including XLAM/XLSM/XLSX/XLTM/XLTX
- 🎯 Feature Rich: Charts, pivot tables, images, formulas, styles, and complete functionality
- 🚀 High Performance: Streaming read/write APIs optimized for large datasets
- 💼 Enterprise Grade: Stable and reliable, widely used in production environments
- 🔧 Easy Integration: Perfect complement to WordZero
// Create comprehensive reports - Word + Excel
import (
"github.com/ZeroHawkeye/wordZero/pkg/document"
"github.com/xuri/excelize/v2"
)
// Generate Word report cover and summary
doc := document.New()
doc.AddParagraph("Quarterly Data Analysis Report").SetStyle(style.StyleHeading1)
doc.AddParagraph("Please refer to the attached Excel sheet for detailed data")
// Generate detailed Excel data sheet
xlsx := excelize.NewFile()
xlsx.SetCellValue("Sheet1", "A1", "Quarter")
xlsx.SetCellValue("Sheet1", "B1", "Sales")
xlsx.SetCellValue("Sheet1", "C1", "Growth Rate")
// Save files
doc.Save("report.docx")
xlsx.SaveAs("data.xlsx")| Feature Area | WordZero | Excelize |
|---|---|---|
| Document Type | Word documents (.docx) | Excel spreadsheets (.xlsx, etc.) |
| Core Strengths | Text formatting, layout, templates | Data processing, charts, calculations |
| Use Cases | Reports, documents, templates | Data analysis, spreadsheets, charts |
| Combined Value | Complete Office document processing solution |
- WordZero: Word document creation, editing, template processing
- Excelize: Excel spreadsheets, data analysis, charts
- Combined Use: Build complete enterprise-level document automation solutions
This feature overview is regularly updated as new features are implemented. For the latest information, please check the Changelog and GitHub Issues.