PackageTrack
Sign in Get early access

docs_gee

Pure Dart library for generating and reading DOCX and PDF documents with rich formatting, tables, lists. Cross-platform with no native dependencies.

1.4.2 19K downloads/mo #2228 most downloaded on pub.dev erykkruk/docs_gee

What this package is like to depend on

Last release 1 months ago

10 Jul 2026

Ships fairly regularly

a new release about every 4 weeks

Nearly every release is documented

notes for 15 of 15 stable releases

Nothing withdrawn

no release was ever pulled

8 months old

15 releases · first in 2025

15 releases in the last 12 months

see the full history below

Release timeline

15 releases · Dec 2025 to Jul 2026
2026
Release Pre-release

Releases

latest 15
  1. 1.4.2 10 Jul 2026
    Release notes

    Changed

    • Set the pubspec documentation: field so the pub.dev "Documentation" link points to the hosted docs at codigee.com/open-source/docs-gee.
    Open source →
  2. 1.4.1 10 Jul 2026
    Release notes

    Changed

    • Added a Documentation section to the README linking the hosted docs at codigee.com/open-source/docs-gee: overview, document-building guide, and the DocxReader & API reference.
    Open source →
  3. 1.4.0 10 Jul 2026
    Release notes

    Add a DocxScript enum (Script alias) and a script field on DocxRun to
    raise or lower text off the baseline — for exponents (x2), chemical
    formulas (H2O), ordinals and footnote markers.

    • DOCX: renders as the <w:vertAlign> run property
    • PDF: smaller glyphs with a baseline shift (text-rise operator)
    • Reader: <w:vertAlign> parsed back for full read/modify/write round-trip
    • README + example + CHANGELOG; bump to 1.4.0
    • format pre-existing files to satisfy the new CI format gate
    Open source →
    Release notes

    Added

    • Superscript & subscript text runs via the new DocxScript enum (Script alias). Set script: DocxScript.superscript or DocxScript.subscript on a DocxRun for exponents (x²), chemical formulas (H₂O), ordinals and footnote markers.
      • DOCX: renders as the <w:vertAlign> run property.
      • PDF: rendered smaller with a baseline shift (text-rise operator).
      • Reader: <w:vertAlign> is parsed back, so scripts survive a full read → modify → write round-trip.
    Open source →
  4. 1.3.4 07 Jun 2026
    Release notes

    feat: add DocxParagraph.empty() factory; bump to 1.3.4

    Open source →
    Release notes

    Added

    • DocxParagraph.empty() factory for inserting blank spacer paragraphs between content blocks.
    Open source →
  5. 1.3.3 13 May 2026
    Release notes
    • Replace deprecated 'library docs_gee;' directive with modern unnamed 'library;'.

    • Apply 'dart fix --apply' across test/example files (47 auto-fixable lint info). No production code changes.

    • README install version bump to ^1.3.3.

    Open source →
    Release notes

    Changed

    • Replaced the deprecated library docs_gee; directive with the modern unnamed library; declaration in the barrel file.
    • Test suite cleanup via dart fix --apply — 47 auto-fixable lint info resolved across 9 test/example files (prefer_const_constructors, no_leading_underscores_for_local_identifiers, dangling_library_doc_comments). No production code affected.
    Open source →
  6. 1.3.2 07 Apr 2026
    Release notes

    docs: bump to 1.3.2 with corrected README versions

    Open source →
    Release notes

    Changed

    • Updated installation docs to ^1.3.2
    Open source →
  7. 1.3.1 07 Apr 2026
    Release notes

    chore: bump version to 1.3.1

    Open source →
    Release notes

    Changed

    • Dart SDK constraint: >=3.2.0 <4.0.0
    • Flutter constraint: >=3.16.0
    Open source →
  8. 1.3.0 27 Mar 2026
    Release notes

    Add DocxReader class that parses existing DOCX files back into
    DocxDocument objects, enabling round-trip: read → modify → write.

    Supports all paragraph styles, text formatting, lists with nesting,
    tables with borders/colspan/rowspan, hyperlinks, bookmarks, page
    breaks, and line breaks. Includes typed exceptions and graceful
    degradation for unknown styles and missing optional parts.

    New dependency: xml ^6.0.0 (pure Dart XML parser).
    124 tests covering round-trip, unit parsers, edge cases.
    Bumps version to 1.3.0.

    Open source →
    Release notes

    Added

    DOCX Reader

    • DocxReader class - Parse existing DOCX files into DocxDocument objects
      • DocxReader().read(Uint8List bytes) → DocxDocument
      • Full round-trip support: read → modify → write
      • DocumentReader type alias for format-agnostic code
    • Supported features:
      • All paragraph styles (headings 1-4, subtitle, caption, quote, code block, footnote)
      • Text formatting (bold, italic, underline, strikethrough, color, background color)
      • Text alignment (left, center, right, justify)
      • Lists (bullet, dash, numbered, alpha, roman) with indent levels
      • Tables with borders, colspan, rowspan, cell properties
      • External hyperlinks and internal bookmark references
      • Page breaks and line breaks
      • Mixed content order (paragraphs and tables)
      • Document metadata (title, author) from docProps/core.xml
    • Typed exceptions:
      • InvalidDocxArchiveException - invalid ZIP archive
      • MissingDocxPartException - missing required DOCX part
      • InvalidDocxXmlException - malformed XML content
    • Graceful degradation:
      • Missing styles.xml / numbering.xml → default mappings
      • Unknown styles → fallback to normal
      • Images, charts, embedded objects → silently skipped
    • New dependency: xml: ^6.0.0 (pure Dart XML parser)
    • 124 tests covering round-trip, unit parsers, edge cases, and error handling
    Open source →
  9. 1.2.2 28 Feb 2026
    Release notes

    Fixed

    PDF Generator

    • Accurate text width estimation - Replaced rough character-width approximation (0.5 * fontSize) with Adobe Helvetica AFM glyph-width table for precise text layout
      • Helvetica variants use per-character widths from the standard Adobe Font Metrics
      • Courier (monospace) uses correct 0.6 * fontSize per glyph
      • Includes width data for Latin-1 supplement and Polish characters
    • Underline & strikethrough in table cells - Table cell text segments now render underline and strikethrough decorations correctly (previously only worked outside tables)
    • Per-segment width calculation - Line width is now computed per text segment (respecting each segment's font) instead of joining all text and measuring as one
    Open source →
  10. 1.2.1 23 Feb 2026
    Release notes

    Replace <w:pageBreakBefore/> paragraph property with explicit
    <w:br w:type="page"/> run element for cross-platform compatibility.
    Bump version to 1.2.1.

    Co-Authored-By: Claude Opus 4.6 [email protected]

    Open source →
    Release notes

    Fixed

    Page Breaks

    • Windows Word compatibility - Page breaks now work correctly in Microsoft Word on Windows
      • Replaced <w:pageBreakBefore/> paragraph property with explicit <w:br w:type="page"/> run element
      • Applies to regular paragraphs, table cell paragraphs, and TOC page breaks
      • No API changes - pageBreakBefore: true works exactly the same way
    • Unit tests - Added test/page_break_test.dart with 11 tests covering page break XML generation, DOCX and PDF output
    Open source →
  11. 1.2.0 19 Feb 2026
    Release notes

    Added

    Per-Cell Border Control

    • Cell-level borders - Override table-level borders on individual cells
      • DocxCellBorders class with top, bottom, left, right borders
      • CellBorders type alias for format-agnostic code
      • Convenience constructors: .all(), .none(), .bottom()
      • Custom border per side with color, size, and style
      • Cell borders override table-level borders when set
      • Works in both DOCX (<w:tcBorders>) and PDF output
    • borders parameter on DocxTableCell - Both constructor and .text() factory accept DocxCellBorders?
    • Unit tests - Added test/cell_borders_test.dart with 26 tests covering model, XML generation, and PDF/DOCX output
    Open source →
  12. 1.1.2 23 Jan 2026
    Release notes

    Fixed

    PDF Generator

    • Bullet points display correctly - Fixed encoding issue where bullet character (•) was displaying as "•"
      • Rewrote _escapePdfString to properly convert Unicode characters to WinAnsi octal escapes
    • Extended character support - Added proper encoding for:
      • Typography: bullet (•), en-dash (–), em-dash (—), smart quotes (' ' " "), ellipsis (…), euro (€), trademark (™), copyright (©), registered (®)
      • German: Ä, Ö, Ü, ä, ö, ü, ß
      • French: À, Â, Ç, È, É, Ê, Ë, Î, Ï, Ô, Ù, Û, à, â, ç, è, é, ê, ë, î, ï, ô, ù, û
      • Polish: Ó, ó (native support), other Polish characters (ą, ę, ć, ź, ż, ń, ł, ś) fall back to base ASCII equivalents due to WinAnsi limitations

    DOCX Generator

    • List detection fix - Fixed issue where listDash, listNumberAlpha, and listNumberRoman styles didn't trigger inclusion of numbering.xml, causing lists to display incorrectly
    • List level specification - Added explicit <w:ilvl w:val="0"/> to all list styles in styles.xml for consistent formatting
    Open source →
  13. 1.1.0 21 Jan 2026
    Release notes

    Added

    Line Breaks (Soft Return) - DOCX only

    • Automatic \n conversion - Newline characters in text are now converted to <w:br/> line breaks
      • DocxParagraph.text('Line 1\nLine 2\nLine 3')
    • Explicit line break runs - New DocxRun.lineBreak() constructor for manual line breaks
      • Allows different formatting before and after line break
      • DocxParagraph(runs: [DocxRun('Bold', bold: true), DocxRun.lineBreak(), DocxRun('Normal')])
    • Line breaks create soft returns within a paragraph (like Shift+Enter in Word)
    Open source →
  14. 1.0.1 21 Dec 2025
    Release notes

    Added

    Hyperlinks

    • External links - Link text to external URLs
      • DocxRun('text', hyperlink: 'https://example.com')
      • Automatic blue color and underline styling

    Internal Links (Bookmarks)

    • Bookmarks - Create named anchors in document
      • DocxParagraph.heading('Title', level: 1, bookmarkName: 'section1')
    • Bookmark references - Link to internal bookmarks
      • DocxRun('Go to section', bookmarkRef: 'section1')

    Table of Contents

    • Automatic TOC generation
      • DocxDocument(includeTableOfContents: true)
      • Configurable title (tocTitle)
      • Configurable heading depth (tocMaxLevel: 1-4)
      • Word auto-updates TOC on document open

    Fixed

    • Repository URL in pubspec.yaml
    Open source →
  15. 1.0.0 19 Dec 2025
    Release notes

    Added

    Document Generation

    • DocxGenerator - Generates Microsoft Word DOCX files
      • Pure Dart implementation using OOXML standard
      • Configurable default font name and size
      • Compatible with Word 2007+, Google Docs, LibreOffice
    • PdfGenerator - Generates PDF documents
      • Pure Dart implementation (PDF 1.4 standard)
      • No native dependencies
      • Cross-platform support including Web

    Document Model

    • Document - Container for document content
      • Title and author metadata
      • Mixed content support (paragraphs and tables)
      • Creation and modification timestamps

    Text Formatting

    • TextRun - Rich text formatting
      • Bold, italic, underline, strikethrough
      • Text color (hex format)
      • Background/highlight color
    • Text alignment - Left, center, right, justify

    Paragraph Styles

    • Headings (H1-H4)
    • Subtitle
    • Caption
    • Block quote
    • Code block (monospace)
    • Footnote

    Lists

    • Bullet lists (•)
    • Dash lists (–)
    • Numbered lists (1, 2, 3)
    • Alphabetic lists (a, b, c)
    • Roman numeral lists (I, II, III)
    • Nested lists up to 9 levels deep

    Tables

    • Basic table support with rows and cells
    • Cell background colors
    • Cell text alignment
    • Table borders (all, none, outside only)
    • Border styles (single, double, dashed, dotted)

    Other Features

    • Page breaks
    • Emoji support (DOCX only - Word handles natively)
    • Cross-platform: iOS, Android, Web, macOS, Windows, Linux

    Documentation

    • Complete API reference
    • Usage examples for all features
    • Platform-specific guides (Web, Mobile)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive