Skip to content

Releases: mini-software/MiniPdf

MiniPdf Java 0.4.0

Choose a tag to compare

@shps951023 shps951023 released this 21 Sep 06:02
31ec475

MiniPdf Java 0.4.0

This release publishes the Java Maven artifacts (io.github.mini-software:minipdf and minipdf-cli) at version 0.4.0 to Maven Central.

What's new since 0.3.0

  • Office cloud fonts: DOCX conversion now resolves the document's theme fonts from the Microsoft 365 cloud font cache (Source Sans Pro, Impact, Cochocib Script Latin Pro, ...) and real Windows font files, so letterhead templates render with Word's actual faces instead of CJK fallbacks.
  • Inline EMF pictures: vector signatures rasterize with script-font substitution and a:srcRect crop support.
  • behindDoc shapes: grouped freeforms, standalone wps:wsp frames (full-page letterhead borders), and header-part shapes render at absolute page positions.
  • Theme colors: a:alpha/a:lumMod handling plus clrMap aliases (tx1/bg1/tx2/bg2).
  • Word paragraph layout: theme major/minor fonts, per-paragraph cell fonts, basedOn spacing inheritance, font-metric line heights, and CJK/Latin layout routing by East Asian characters.
  • Tables and images: tables no longer add synthetic spacing; picture-only paragraphs align images with Word.
  • READMEs now link the Maven Central artifacts.
  • CI: the JDK 10 test suite retries once on transient fork startup crashes.

v0.43.0

Choose a tag to compare

@shps951023 shps951023 released this 19 Sep 07:08
85bbbdb

v0.43.0

Java DOCX renderer now aligns Latin document layout with Microsoft 365 Word: style heading colors, bullet markers, Word-calibrated wrap widths, contextual spacing, keepNext widow control, top-of-page baselines, and Word/LibreOffice-verified table geometry.

Highlights: Issue #187 - PR #188 - 14_Thesis_Chapter 0.9856 -> 0.9932 (text similarity 1.0, 2/2 pages).

What's Changed

  • 85bbbdb5 Merge pull request #188 from mini-software/fix/java-docx-visual-parity
  • d4859dd7 fix(java): align DOCX rendering with Word for Latin documents
  • 28cbae26 Merge pull request #186 from mini-software/fix/java-docx-vietnamese-layout
  • eb0719c9 chore(benchmarks): move visual reports to hosted dashboard
  • 721d386a chore(benchmarks): publish visual reports to hosted dashboard
  • 614e962c Remove images
  • 43e5459c fix(java): preserve DOCX footnotes, highlights, and form layout
  • d977d69c fix(java): embed Unicode fonts and isolate release dependencies
  • 7ad637f4 Merge pull request #185 from mini-software/fix/java-docx-vietnamese-layout
  • 4e58cb5a chore(java): prepare 0.2.1 release
  • c2cf17b6 fix(java): match DOCX Unicode layout and page footer
  • b9d53c9b Merge pull request #183 from mini-software/fix/java-pdfbox-3.0.8
  • 624f3cf7 fix(java): use Unicode TTF fallback on JDK 10
  • 9f2cb724 fix(java): use standalone CJK font on JDK 10
  • 4c404fe7 fix(java): preserve Unicode mappings on JDK 10
  • 744a5bb6 fix(java): update PDFBox to 3.0.8
  • 183a57d5 fix(java): extend Maven Central publish timeout (#182)
  • c24cee0e Fix Linux CJK font loading for Java release (#181)
  • 041e838a Prepare Java 0.2.0 Maven Central release (#180)
  • 683ac36e feat(java): support JDK 8 through JDK 25
  • cec055ed Merge pull request #179 from mini-software/fix/java-docx-pagination-orientation
  • 50d4eac5 fix(java): preserve DOCX table fonts and skip unsupported pictures
  • 309a5883 fix(java): preserve DOCX footers and mixed-script pagination
  • 7a4c0a97 fix(java): preserve multi-page DOCX form layout
  • 783a9784 Merge pull request #178 from mini-software/fix/java-docx-pagination-orientation
  • 8fe8afb7 fix(java): address DOCX review findings
  • bb5e889d Merge remote-tracking branch 'origin/main' into fix/java-docx-pagination-orientation
  • 59301e3f Improve Java DOCX pagination and form rendering
  • 0216edaa Merge pull request #177 from mini-software/fix/rust-font-fallback-cache
  • 51c4b052 fix(rust): cache font fallback selection
  • ae9671f8 Merge pull request #176 from mini-software/fix/go-xlsx-text-overflow-pagination
  • 725ecdeb docs(go): refresh styled XLSX benchmark
  • 9d45e73d fix(dotnet): restore chart metadata parsing
  • f17e62fd fix(go): render styled XLSX grids and charts
  • 6216961b Merge pull request #174 from mini-software/fix/go-xlsx-text-overflow-pagination
  • 414dd1df docs(go): publish full issue XLSX benchmark
  • 89382017 fix(go): format XLSX boolean cells
  • 94568915 fix(go): skip empty XLSX worksheets
  • 472fbba7 fix(go): preserve sparse XLSX layout
  • 80b32f60 fix(go): paginate overflowing XLSX text
  • 25af927b Align foundational Go conversion capabilities (#173)
  • 68c0f4c0 Prepare multi-language package releases (#172)
  • 62046ed4 Render page-anchored wrapTopAndBottom text boxes as floating boxes (#167)
  • 27845892 Add MiniPdf.ClearRegisteredFonts (#166)
  • 57f406ba Merge pull request #169 from mini-software/fix/rust-classic09-long-text-pagination
  • 17171f2d Merge remote-tracking branch 'origin/main' into fix/rust-classic09-long-text-pagination
  • 4376559d Merge pull request #171 from mini-software/fix/rust-skip-unsupported-font-outlines
  • 0d48c285 fix(rust): skip unsupported bitmap fonts
  • 2bd47c61 Merge pull request #170 from mini-software/docs/fix-agent-guidelines-heading
  • 09bfa550 docs: fix agent guideline heading level
  • 465e8ce9 fix(rust): paginate long single-column text
  • 8dd6252f Merge pull request #168 from mini-software/fix/issue-159-docx-layout-options
  • 8f75f90f feat(dotnet): add DOCX page layout options
  • 54f06487 Merge pull request #165 from Sen-CaPoo/fix/docx-behinddoc-group-textbox-fills
  • 1f4540e2 Handle multiple drawings in textbox host runs
  • c91b31d7 Keep docstring coverage on every function the diff touches
  • 53541f08 Add XML doc comments for functions touched by the group fill fix
  • fd35723d Render behindDoc wpg groups whose child shape carries a text box
  • 71c44aa6 Consolidate MiniPdf contribution guidance (#162)
  • 86b231a6 Fix DOCX employee directory rendering (#161)
  • 03832908 Merge pull request #157 from mini-software/fix/java-office-registered-fonts
  • 94a5391a docs(java): align font examples and support matrix
  • 314c25cd fix(java): close PDF content streams safely
  • 40fae470 fix(java): use registered fonts for Office text
  • aac1a463 Merge pull request #156 from mini-software/fix/xlsx-chart-legend-gap-width
  • 0f28f700 fix(xlsx): improve clustered chart visual parity
  • 22719bf1 Merge pull request #152 from wooly905/improve/dotnet-visual-parity-20260907-090732
  • 55f6b7df Merge remote-tracking branch 'origin/main' into fix/pr152-merge-readiness
  • 9dd7c271 Strengthen chart regression and fork CI handling
  • c4205cf7 Merge pull request #154 from mini-software/feat/cross-platform-emf-rendering
  • ccd82741 Merge remote-tracking branch 'origin/main' into feat/cross-platform-emf-rendering
  • 55c0a8c2 Merge pull request #153 from mini-software/chore/explicit-contribution-workflow
  • 226d57d6 fix(workflow): address contribution review feedback
  • f98bd4c0 fix(dotnet): avoid MiniPdf namespace collision
  • dd712a4d fix(pack): preserve vendored license filename
  • 11698008 feat(dotnet): render metafiles with managed fallback
  • 9f4c1526 feat(drawing): vendor managed drawing backend
  • 4a4339a7 chore(contrib): make workflow explicit and lightweight
  • 475213fc Fix DOCX inline image page-break clipping and XLSX bar chart axis scaling
  • 4a965563 Merge pull request #149 from mini-software/fix/release-workflow-dispatch-permission
  • b9784037 Merge pull request #150 from mini-software/release/java-0.1.5
  • 7cb8ab52 release(java): prepare 0.1.5
  • 8f26209f fix(release): allow artifact workflow dispatch

Diff Summary (code files, binaries excluded)

 src/MiniPdf/Drawing/Rendering/GraphicsState.cs     |    94 +
 src/MiniPdf/Drawing/Rendering/HatchRenderer.cs     |    56 +
 src/MiniPdf/Drawing/Rendering/ImageInterpolator.cs |   116 +
 src/MiniPdf/Drawing/Rendering/ImageRenderer.cs     |    61 +
 src/MiniPdf/Drawing/Rendering/ImageTransformer.cs  |    91 +
 src/MiniPdf/Drawing/Rendering/LineCapRenderer.cs   |    60 +
 src/MiniPdf/Drawing/Rendering/PixelCompositor.cs   |    53 +
 src/MiniPdf/Drawing/Rendering/Rasterizer.cs        |   253 +
 src/MiniPdf/Drawing/Rendering/ScanlineBuffer.cs    |    25 +
 src/MiniPdf/Drawing/Rendering/StrokeExpander.cs    |    90 +
 src/MiniPdf/Drawing/Rendering/TextureSampler.cs    |   119 +
 src/MiniPdf/Drawing/Rendering/WmfPlayer.cs         |   355 +
 src/MiniPdf/Drawing/Text/Bidi/BidiAlgorithm.cs     |   688 ++
 src/MiniPdf/Drawing/Text/Bidi/BidiBrackets.cs      |   183 +
 .../Drawing/Text/Bidi/BidiCharacterTable.cs        |   282 +
 src/MiniPdf/Drawing/Text/Bidi/BidiCharacterType.cs |    77 +
 src/MiniPdf/Drawing/Text/Bidi/BidiMirroring.cs     |   161 +
 .../Drawing/Text/Bidi/BidiParagraphDirection.cs    |    17 +
 src/MiniPdf/Drawing/Text/CharacterRange.cs         |    31 +
 src/MiniPdf/Drawing/Text/Font.cs                   |   255 +
 src/MiniPdf/Drawing/Text/FontCollection.cs         |   126 +
 src/MiniPdf/Drawing/Text/FontFallbackChain.cs      |   108 +
 src/MiniPdf/Drawing/Text/FontFallbackResolver.cs   |    98 +
 src/MiniPdf/Drawing/Text/FontFamily.cs             |   333 +
 src/MiniPdf/Drawing/Text/FontSettings.cs           |    80 +
 src/MiniPdf/Drawing/Text/GenericFontFamilies.cs    |    23 +
 src/MiniPdf/Drawing/Text/GlyphRasterizer.cs        |   100 +
 src/MiniPdf/Drawing/Text/HotkeyPrefix.cs           |    23 +
 .../Drawing/Text/InstalledFontCollection.cs        |   160 +
 .../Drawing/Text/Native/LinuxFontDiscovery.cs      |   153 +
 .../Drawing/Text/Native/MacFontDiscovery.cs        |   245 +
 .../Drawing/Text/Native/NativeFontDiscovery.cs     |    63 +
 src/MiniPdf/Drawing/Text/Native/NativeFontInfo.cs  |    24 +
 .../Drawing/Text/Native/WindowsFontDiscovery.cs    |   260 +
 src/MiniPdf/Drawing/Text/PathArcLength.cs          |   220 +
 src/MiniPdf/Drawing/Text/PrivateFontCollection.cs  |    44 +
 src/MiniPdf/Drawing/Text/ResolvedRun.cs            |    45 +
 src/MiniPdf/Drawing/Text/RichTextOptions.cs        |    51 +
 src/MiniPdf/Drawing/Text/RichTextRun.cs            |    55 +
 src/MiniPdf/Drawing/Text/RunSegmenter.cs           |   179 +
 src/MiniPdf/Drawing/Text/StringAlignment.cs        |    23 +
 src/MiniPdf/Drawing/Text/StringDigitSubstitute.cs  |    28 +
 src/MiniPdf/Drawing/Text/StringFormat.cs           |   133 +
 src/MiniPdf/Drawing/Text/StringFormatFlags.cs      |    56 +
 src/MiniPdf/Drawing/Text/StringTrimming.cs         |    38 +
 src/MiniPdf/Drawing/Text/SystemFontScanner.cs      |   119 +
 src/MiniPdf/Drawing/Text/TextLayoutEngine.cs       |   658 +
 src/MiniPdf/Drawing/Text/TextLine.cs               |    22 +
 src/MiniPdf/Drawing/Text/TextOnPathLayout.cs       |   147 +
 src/MiniPdf/Drawing/Text/TextOnPathOptions.cs      |    42 +
 src/MiniPdf/Drawing/Text/TextOnPathOverflow.cs     |    22 +
 src/MiniPdf/Drawing/Text/TextRenderingHint.cs      |    38 +
 src/MiniPdf/Drawing/Text/TextRun.cs                |    44 +
 .../Drawing/Vector/Commands/ClearCommand.cs        |    32 +
 .../Drawing/Vector/Commands/ClipCommands.cs        |    86 +
 .../Drawing/Vector/Commands/ImageCommand.cs        |...
Read more

python-v0.7.0

Choose a tag to compare

@shps951023 shps951023 released this 19 Sep 11:12
7b67020

The Python package now renders through the Rust MiniPdf engine (0.7.0) via a PyO3 extension built by the maturin backend.

  • PyO3 binding crate at minipdf-python/native exposing minipdf._native.
  • minipdf 0.7.0: version aligned with the Rust core.
  • Wheels for Linux, Windows, and macOS (x64 and arm64) plus an sdist.
  • Pure Python renderers remain as a fallback when the extension is not importable.

MiniPdf Java 0.3.0

Choose a tag to compare

@shps951023 shps951023 released this 19 Sep 07:48
3787e20

MiniPdf Java 0.3.0

This release publishes the Java Maven artifacts (io.github.mini-software:minipdf and minipdf-cli) at version 0.3.0 to Maven Central.

What's new since 0.2.1

  • DOCX Latin layout parity with Microsoft 365 Word (PR #188): style heading colors, bullet markers, Word-calibrated wrap widths, contextual spacing, keepNext widow control, top-of-page baselines, and Word/LibreOffice-verified table geometry. 14_Thesis_Chapter benchmark: 0.9856 -> 0.9932 with text similarity 1.0.

Changes in this release

  • Bump Maven version 0.2.1 -> 0.3.0 (parent + module POMs, CLI --version, README)

Coordinates

<dependency>
    <groupId>io.github.mini-software</groupId>
    <artifactId>minipdf</artifactId>
    <version>0.3.0</version>
</dependency>

CLI

mvn dependency:copy -Dartifact=io.github.mini-software:minipdf-cli:0.3.0 -DoutputDirectory=.
java -jar minipdf-cli-0.3.0.jar input.pptx -o output.pdf

Contributors

MiniPdf Java 0.2.1

Choose a tag to compare

@shps951023 shps951023 released this 17 Sep 00:24
7ad637f

MiniPdf Java 0.2.1 improves DOCX rendering parity and Java runtime compatibility.

  • Preserve Vietnamese Unicode text with document font selection and improved layout parity.
  • Honor OOXML line spacing, paragraph spacing, indentation, justification, and widow/orphan behavior.
  • Support nested PAGE fields in DOCX footers.
  • Include PDFBox 3.0.8 and JDK compatibility improvements inherited from #183.

v0.42.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 05:24

What's Changed

New Contributors

Full Changelog: v0.41.1...v0.42.0

v0.41.1

Choose a tag to compare

@shps951023 shps951023 released this 04 Sep 13:00
5cbc9c9

What's Changed

Full Changelog: v0.41.0...v0.41.1

v0.41.0

Choose a tag to compare

@shps951023 shps951023 released this 04 Sep 12:43
3d49e87

What's Changed

New Contributors

Full Changelog: v0.40.0...v0.41.0

MiniPdf Rust v0.6.0

Choose a tag to compare

@shps951023 shps951023 released this 04 Sep 19:21
a1c61be

Improves Rust XLSX rendering parity for legacy VML/EMF previews, vertical page centering, stacked text, custom date formats, and merged-cell continuations. Adds scoped KaiTi fallback support and updates both minipdf and minipdf-cli to 0.6.0.

MiniPdf for Python 0.1.0

Choose a tag to compare

@shps951023 shps951023 released this 03 Sep 05:51
010747c

Install:
pip install minipdf

This release provides basic DOCX paragraph conversion, with path/bytes APIs and a CLI. Output is PDF 1.4 with page geometry, margins, page breaks, and basic bold, italic, and font-size support. OOXML safety validation is included.

Limitations: tables, images, embedded fonts, CJK fonts, RTL fonts, XLSX, and PPTX are not supported yet.