Repository navigation
Release Java 0.1.5 with improved XLSX rendering parity - #150
Conversation
|
Warning Review limit reachedNext included review available in 5 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (287)
📒 Files selected for processing (18)
Comment |
There was a problem hiding this comment.
🟡 Changes recommended
XLSX custom-geometry alpha is not clamped before applying it to PDFBox graphics state, which can throw and abort conversions on malformed/out-of-range inputs.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR prepares the Java engine for release 0.1.5 by improving XLSX rendering parity (hidden rows, pagination scaling/fit semantics, DrawingML groups/custom geometry transparency, theme-aware table banding, and additional font resolution), refreshing the Java issue XLSX benchmark artifacts, and synchronizing version/documentation updates.
Changes:
- Improve Java XLSX rendering (table-style banding, grouped artwork/custom geometry with transparency, hidden row handling, and fit/scale pagination behavior).
- Add/extend Java smoke tests covering new rendering behaviors.
- Bump Java/library/CLI/docs to
0.1.5and refresh Java issue XLSX benchmark report outputs.
File summaries
| File | Description |
|---|---|
| README.md | Bump Maven dependency example to 0.1.5. |
| minipdf-java/README.md | Update Java library/CLI install + usage examples to 0.1.5. |
| minipdf-java/pom.xml | Bump Java parent version to 0.1.5. |
| minipdf-java/minipdf/pom.xml | Bump minipdf module parent version to 0.1.5. |
| minipdf-java/minipdf-cli/pom.xml | Bump CLI module parent version to 0.1.5. |
| minipdf-java/minipdf-cli/src/main/java/io/github/minisoftware/minipdf/cli/MiniPdfCommand.java | Update CLI --version string to 0.1.5. |
| minipdf-java/minipdf/src/main/java/io/github/minisoftware/minipdf/internal/xlsx/PoiXlsxRenderer.java | Implement XLSX rendering improvements (table banding, grouped shapes, transparency, pagination, fonts, hidden row height). |
| minipdf-java/minipdf/src/test/java/io/github/minisoftware/minipdf/ClassicFixtureSmokeTest.java | Add smoke tests for scaled tables/grouped artwork and fit-to-width semantics. |
| documents/README.zh-TW.md | Sync dependency version to 0.1.5. |
| documents/README.zh-CN.md | Sync dependency version to 0.1.5. |
| documents/README.ko.md | Sync dependency version to 0.1.5. |
| documents/README.ja.md | Sync dependency version to 0.1.5. |
| documents/README.it.md | Sync dependency version to 0.1.5. |
| documents/README.fr.md | Sync dependency version to 0.1.5. |
| artifacts/java-benchmark/issue/xlsx/report/comparison_report.md | Refresh Java issue XLSX benchmark comparison report. |
| artifacts/java-benchmark/issue/xlsx/report/comparison_manifest.json | Refresh selected-case manifest for the Java issue XLSX benchmark run. |
| artifacts/java-benchmark/issue/xlsx/report/benchmark_coverage.json | Refresh benchmark coverage + aggregate metrics for the Java issue XLSX run. |
Review details
- Files reviewed: 14/305 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| float alpha = rgb.sizeOfAlphaArray() == 0 | ||
| ? 1.0f | ||
| : coordinate(rgb.getAlphaArray(0).getVal()) / 100_000.0f; |
| private static Color tableFill(XSSFSheet sheet, int rowIndex, int columnIndex) { | ||
| CellReference cell = new CellReference(sheet.getSheetName(), rowIndex, columnIndex, true, true); | ||
| Color fill = null; | ||
| for (var table : sheet.getTables()) { | ||
| if (!table.contains(cell)) { | ||
| continue; | ||
| } |
Summary
0.1.5Validation
mvn -B -ntp -f minipdf-java/pom.xml test— 39 tests passedmvn -B -ntp -f minipdf-java/pom.xml -Prelease '-Dgpg.skip=true' clean verify— passedjava -jar minipdf-java/minipdf-cli/target/minipdf-cli-0.1.5.jar --version—minipdf-java 0.1.50.8068Business expenses budget2— pages4/4, visual0.8064, overall0.8594git diff --check— passedRelease
After this PR is merged, publish Java
0.1.5from a cleanmaincheckout with the signed Maven Centralreleaseprofile.