docx_creator 1.0.6
docx_creator: ^1.0.6 copied to clipboard
A developer-first Dart package for creating professional DOCX documents with fluent API, Markdown/HTML parsing, and comprehensive formatting.
1.0.6 #
Fixed #
- Table Style Fidelity: Fixed critical issue where table cell borders defined in Named Table Styles (via
w:tblStylePr) were ignored.- Updated
DocxStyleparser to correctly extractw:tcBordersfrom table style conditionals. - Fixed logic to properly prioritize table style borders when paragraph borders are absent.
- Updated
1.0.5 #
Fixed #
- Font Fidelity: Fixed critical issue where embedded fonts were lost during the read-export cycle due to mismatched relationship IDs and filenames.
- Preserved exact filenames and relationship IDs from the original document.
- Updated
fontTable.xml.relshandling to ensure valid links to embedded font files.
- Line Spacing Fidelity: Fixed issue where specific line spacing rules (e.g., 'Exactly' vs 'At Least') were ignored.
- Added support for parsing and exporting
w:lineRuleattribute in paragraphs and styles. - Ensures visual vertical spacing matches the original document precisely.
- Added support for parsing and exporting
- Style Inheritance: Fixed issue where paragraph styles (like 'Heading 1') were lost on export.
- Added parsing for
w:pStyleproperty inDocxStyleandDocxParagraph.
- Added parsing for
- Inline Font Merging: Fixed logic where direct font formatting (e.g., hints) completely overwrote character style fonts.
- Implemented proper merging of direct font properties with underlying character style fonts.
- Theme Support: Added parsing for theme-related font attributes (
w:asciiTheme,w:eastAsiaTheme, etc.) to preserve theme-based font selection.
1.0.4 #
Added #
- Table Style Resolver: Added full support for Named Table Styles (
w:tblStylePr) and Conditional Formatting (w:tblLook).- Supports 'First Row', 'Last Row', 'First Column', 'Last Column', and 'Banded Rows/Columns' formatting.
- Automatically resolves and "bakes" effective styles (shading, borders, fonts) into table cells for visual fidelity.
- Floating Images: Added parser support for floating images with precise positioning.
- Supports
wp:anchorparsing. - Handles
relativeFrom(margin, page, column) and alignment attributes.
- Supports
- Drop Caps: Added support for Drop Caps (
w:dropCap) in paragraphs. - Footnotes & Endnotes: Added comprehensive support for parsing and exporting Footnotes and Endnotes.
- Text Borders: Added support for parsing text borders (
w:bdr).
Fixed #
- Table Styles: Fixed issue where table styles were not correctly applied to cells during parsing.
- Attribute Export: Fixed invalid hex color format (removed
#prefix) inw:fillattribute generation to ensure compatibility with Microsoft Word. - Cell Copying: Fixed
DocxTableCell.copyWithbug that caused style properties to be lost when modifying table cells.
1.0.3 #
Improved #
- Modular DocxReader Architecture: Refactored 1797-line monolithic
docx_reader.dartinto 11 focused modules:reader_context.dart- Shared state managerparsers/style_parser.dart- Style resolutionparsers/block_parser.dart- Paragraph/list parsingparsers/inline_parser.dart- Text/image/shape parsingparsers/table_parser.dart- Table/rowspan handlingparsers/section_parser.dart- Headers/footers/sectionshandlers/relationship_manager.dart- OOXML relationshipshandlers/font_reader.dart- Embedded font extraction
- Modular HTML Parser Architecture: Refactored 1259-line
html_parser.dartinto 8 modules:html/parser_context.dart- CSS class map & shared statehtml/style_context.dart- Style inheritance contexthtml/color_utils.dart- 141 CSS named colorshtml/block_parser.dart- Block elementshtml/inline_parser.dart- Inline elementshtml/table_parser.dart- Tables with nested supporthtml/list_parser.dart- Ordered/unordered listshtml/image_parser.dart- Image elements
Fixed #
- UTF-8 Encoding: Fixed XML content parsing to use proper UTF-8 decoding in DocxReader
- Shape Parsing: Restored full shape dimension/color/preset parsing in refactored reader
- Nested Table Support: HTML parser now correctly handles tables inside table cells
- Background Inheritance: Fixed
resetBackground()to properly clear nullableshadingFillvalues
1.0.2 #
Added #
- DrawingML Shapes: Full support for 70+ preset shapes (rectangles, ellipses, stars, arrows, flowchart symbols, etc.)
- Block-level shapes (
DocxShapeBlock) and inline shapes (DocxShape) - Fill colors, outline colors, and outline widths
- Text content inside shapes
- Rotation support
- Floating and inline positioning
- Block-level shapes (
- Shape Reader Support: Shapes are now preserved when reading existing DOCX files
- 141 CSS Named Colors: Full W3C CSS3 Extended Color Keywords support in HTML parser
- All grey/gray spelling variations supported
- Includes colors like
dodgerblue,mediumvioletred,papayawhip, etc.
- Comprehensive Examples: Added four complete example files:
manual_builder_example.dart- All builder API featureshtml_parser_example.dart- All HTML/CSS featuresmarkdown_parser_example.dart- All Markdown featuresreader_editor_example.dart- Full read-edit-write workflow
Improved #
- Documentation: Complete rewrite of README.md and new DOCUMENTATION.md with:
- Full API reference tables
- All supported HTML tags and CSS properties
- Step-by-step DOCX Reader/Editor guide
- OpenXML internals explanation
- Troubleshooting section
- Color Handling: Improved color class with automatic hex normalization (strips
#and0xprefixes) - List Rendering: Enhanced 9-level nested list support with proper abstract numbering
Fixed #
- Background Color Inheritance: Fixed CSS
background-colorincorrectly inheriting to inline children - Code Block Visibility: Fixed text visibility in code blocks when used with background colors
1.0.1 #
Fixed #
- List Rendering: Fixed numbered and bullet lists not displaying markers in Word when multiple lists appear in the same document.
- Color Parsing: Fixed
HtmlParsercolor parsing for font colors and background highlights. Now supports:- Hex codes (3-digit and 6-digit)
- RGB/RGBA formats
- Extended CSS named colors (including
grey,lime,maroon, etc.)
- Highlight Mapping: Fixed incorrect default highlight color (no longer defaults to yellow for unknown colors).
Improved #
- OOXML Compliance: Updated
numbering.xmlgeneration to match python-docx patterns for better Word compatibility (w:nsid,w:tmpl,w:tabs).
1.0.0 #
- Initial version.