Skip to content

Releases: developer0hye/office2pdf

v0.5.0

15 Mar 01:48
42445db

Choose a tag to compare

What's Changed

Features

  • PPTX: Add homePlate shape, fillRef/fontRef style fallback, and non-rectangular text box rendering

Bug Fixes

  • PPTX: Skip master/layout placeholders, render custGeom, fix wrap and list numbering
  • PPTX: Handle self-closing bodyPr in empty element handler for vertical alignment
  • PPTX: Preserve fixed textbox title and list layout
  • PPTX: Improve fixed textbox slide fidelity
  • PPTX: Restore slide 30 image and table fidelity
  • PPTX: Ignore hidden line extensions
  • PPTX: Preserve no-wrap text extraction
  • PPTX: Restore mixed-script no-wrap titles
  • PPTX: Preserve no-wrap auto-fit title spacing
  • Render: Use #set align() instead of #align()[] for reliable horizontal text alignment

Contributors

v0.4.0

14 Mar 00:45
1b64765

Choose a tag to compare

What's New

Features

  • PPTX table style support — Parse tableStyles.xml and apply theme-based fill, text color, and bold styling to table regions (firstRow, lastRow, firstCol, lastCol, band1H, band2H, wholeTbl)
  • Tint/Shade color transforms — Correctly blend theme colors toward white (tint) or black (shade) per OOXML spec
  • PPTX connector shapes — Parse and render cxnSp connector shapes with arrowheads and polyline segments
  • Embedded font extraction — Automatically extract and deobfuscate fonts embedded in PPTX/DOCX files
  • PPTX picture borders — Parse and render <a:ln> borders on images
  • macOS Office font auto-discovery — Automatically find PowerPoint/Word/Excel bundled fonts and Office cloud font caches
  • Text box fill/stroke — Preserve fill and stroke on PPTX text boxes
  • Ordered list marker fix — Do not split ordered lists when marker style has explicit defaults

Bug Fixes

  • Fix connector arrowheads and polyline segments rendering via #place() overlay
  • Fix font fallback failures for CJK localized names and inferred weights
  • Scale ImageData dimensions correctly in group shape transforms
  • Fix line flip positioning for connectors

Internal

  • Major codebase refactoring: split large modules into focused sub-modules, centralize defaults, extract shared helpers
  • Unified style merge logic, unit conversions, and XML utilities

Contributors

v0.3.0

27 Feb 23:42
b031571

Choose a tag to compare

What's New

WASM / WebAssembly Support

  • Conditional compilation guards for WASM target (#[cfg(target_arch = "wasm32")])
  • Resolved third-party dependency WASM compilation issues (getrandom, etc.)
  • wasm-bindgen JavaScript APIconvertToPdf(), convertDocxToPdf(), convertPptxToPdf(), convertXlsxToPdf()
  • WASM compilation check in CI pipeline
  • WASM integration tests with wasm-pack

Other

  • Updated README with WASM usage guide, updated feature descriptions
  • Relaxed perf test budget for CI stability

Full Changelog

v0.2.0...v0.3.0

Contributors

v0.2.0

27 Feb 16:07
717aedf

Choose a tag to compare

What's New

Features

  • PPTX gradient background support (#19, US-050)
  • PPTX shape shadow and reflection effects (#21, US-051)
  • XLSX DataBar and IconSet conditional formatting (#22, US-053)
  • Performance benchmarks and validation (#23, US-054) — 10-page/slide/sheet conversions validated under 2s budget

Testing

  • 121 diverse real-world Office test fixtures (#24) from 5 open-licensed sources (CC0, Apache 2.0, MIT)
    • 39 new PPTX: charts, SmartArt, embedded media, tables, themes, Japanese text, animations
    • 33 new DOCX: bookmarks, checkboxes, track changes, endnotes, field codes, nested tables, drawings
    • 48 new XLSX: pivot tables, formulas, inline strings, grouped rows, RTL, charts, booleans
    • Total fixtures: 27 → 147 (5.4x increase)

Other

  • README badges (#20)
  • Phase 5 user story setup

Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

27 Feb 10:38
5b3733d

Choose a tag to compare

office2pdf v0.1.0

First public release. Pure-Rust library and CLI for converting DOCX, XLSX, and PPTX files to PDF — no LibreOffice, Chromium, or Docker required.

Highlights

  • DOCX — text, inline formatting, paragraphs, tables, images, lists, headers/footers, page setup, hyperlinks, footnotes/endnotes, TOC, styles (Heading 1–6), text wrapping, OMML math equations, embedded charts
  • PPTX — slides, text boxes, shapes, images, slide masters/layouts, theme colors/fonts, backgrounds, tables, group shapes, SmartArt, embedded charts, shape styles (rotation, transparency)
  • XLSX — cells, formatting (font, color, borders), merged cells, number formats, column/row sizing, sheet headers/footers, print area, page breaks, conditional formatting, embedded charts
  • PDF/A-2b — archival-compliant output via --pdf-a flag
  • Batch conversion — convert multiple files at once with --outdir
  • ConvertOptions — paper size, landscape, font paths, sheet/slide selection

Install

# As a library
cargo add office2pdf

# As a CLI tool
cargo install office2pdf-cli

Crates