Releases: developer0hye/office2pdf
Releases · developer0hye/office2pdf
v0.5.0
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
What's New
Features
- PPTX table style support — Parse
tableStyles.xmland 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
cxnSpconnector 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
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 API —
convertToPdf(),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
Contributors
v0.2.0
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
- @developer0hye — all changes in this release
Full Changelog: v0.1.0...v0.2.0
v0.1.0
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-aflag - 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-cliCrates
- office2pdf — library
- office2pdf-cli — CLI binary