From 0f28f700e5f63f96a592198c3452b1b1bc905f2c Mon Sep 17 00:00:00 2001 From: Wei Lin Date: Tue, 8 Sep 2026 10:18:32 +0800 Subject: [PATCH] fix(xlsx): improve clustered chart visual parity --- src/MiniPdf/ExcelReader.cs | 22 +- src/MiniPdf/ExcelToPdfConverter.cs | 63 ++++- .../XlsxIssue152_ClusteredNonZeroBarChart.pdf | Bin 0 -> 51953 bytes .../reports_xlsx/comparison_manifest.json | 241 +++++++++--------- .../reports_xlsx/comparison_report.json | 48 ++++ .../reports_xlsx/comparison_report.md | 173 ++++++++----- ...52_ClusteredNonZeroBarChart_p1_heatmap.png | Bin 0 -> 72615 bytes ...52_ClusteredNonZeroBarChart_p1_minipdf.png | Bin 0 -> 44967 bytes ..._ClusteredNonZeroBarChart_p1_reference.png | Bin 0 -> 43874 bytes ...XlsxIssue152_ClusteredNonZeroBarChart.xlsx | Bin 0 -> 6726 bytes .../MiniPdf.Tests/ExcelToPdfConverterTests.cs | 15 +- 11 files changed, 366 insertions(+), 196 deletions(-) create mode 100644 tests/Issue_Files/reference_xlsx/XlsxIssue152_ClusteredNonZeroBarChart.pdf create mode 100644 tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png create mode 100644 tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png create mode 100644 tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_reference.png create mode 100644 tests/Issue_Files/xlsx/XlsxIssue152_ClusteredNonZeroBarChart.xlsx diff --git a/src/MiniPdf/ExcelReader.cs b/src/MiniPdf/ExcelReader.cs index bb4e1ea8..fc28e32c 100644 --- a/src/MiniPdf/ExcelReader.cs +++ b/src/MiniPdf/ExcelReader.cs @@ -4214,6 +4214,9 @@ private static List ReadSheetCharts(ZipArchive archive, string w XElement? overlayChartTypeEl = null; var overlayChartType = ""; var overlaySeries = new List(); + var legendPosition = ""; + var chartStyle = 0; + int? gapWidthPercent = null; if (chartEntry != null) { @@ -4221,6 +4224,10 @@ private static List ReadSheetCharts(ZipArchive archive, string w var cDoc = XDocument.Load(cStream); var cns = XNamespace.Get("http://schemas.openxmlformats.org/drawingml/2006/chart"); + int.TryParse(cDoc.Root?.Element(cns + "style")?.Attribute("val")?.Value, out chartStyle); + var legend = cDoc.Descendants(cns + "legend").FirstOrDefault(); + legendPosition = legend?.Element(cns + "legendPos")?.Attribute("val")?.Value ?? ""; + // Extract chart title from var titleEl = cDoc.Descendants(cns + "title").FirstOrDefault(); if (titleEl != null) @@ -4261,6 +4268,10 @@ private static List ReadSheetCharts(ZipArchive archive, string w chartType = groupingVal.Contains("percent", StringComparison.OrdinalIgnoreCase) ? "percentStacked_" + chartType : "stacked_" + chartType; + + if (int.TryParse(chartTypeEl.Element(cns + "gapWidth")?.Attribute("val")?.Value, + out var parsedGapWidth)) + gapWidthPercent = Math.Max(0, parsedGapWidth); } // Extract axis titles @@ -4456,7 +4467,10 @@ private static List ReadSheetCharts(ZipArchive archive, string w showDataLabelVal, dataLabelFmtCode, valAxisFmtCode, isTwoCellAnchor) { OverlaySeries = overlaySeries, - OverlayChartType = overlayChartType + OverlayChartType = overlayChartType, + LegendPosition = legendPosition, + ChartStyle = chartStyle, + GapWidthPercent = gapWidthPercent }; charts.Add(chartInfo); } @@ -4716,6 +4730,12 @@ internal sealed record ExcelChartInfo( public List OverlaySeries { get; init; } = new(); /// Chart type for overlay series (e.g., "lineChart" when primary is "barChart"). public string OverlayChartType { get; init; } = ""; + /// Legend position from chart XML (r, l, t, b, tr); empty when hidden. + public string LegendPosition { get; init; } = ""; + /// Built-in chart style identifier; zero when unspecified. + public int ChartStyle { get; init; } + /// Gap between bar clusters as a percentage of one bar width. + public int? GapWidthPercent { get; init; } }; /// diff --git a/src/MiniPdf/ExcelToPdfConverter.cs b/src/MiniPdf/ExcelToPdfConverter.cs index 4a1f033c..1cb1b142 100644 --- a/src/MiniPdf/ExcelToPdfConverter.cs +++ b/src/MiniPdf/ExcelToPdfConverter.cs @@ -2765,6 +2765,8 @@ float RenderPrintTitleRows() private static void RenderChart(PdfPage page, ExcelChartInfo chart, float x, float top, float width, float height, float baseFontSize) { + var chartFitsPage = x >= 0 && x + width <= page.Width; + var useStyle10Layout = chart.ChartStyle == 10 && chartFitsPage; var titleFontSize = baseFontSize + 2; var labelFontSize = baseFontSize - 1; var axisFontSize = baseFontSize - 2; @@ -2772,8 +2774,17 @@ private static void RenderChart(PdfPage page, ExcelChartInfo chart, var chartColor = chart.ChartTextColor; var chartFont = chart.ChartFontName; + if (useStyle10Layout) + { + var borderColor = new PdfColor(0.82f, 0.82f, 0.82f); + page.AddLine(x, top, x + width, top, borderColor, 0.5f); + page.AddLine(x + width, top, x + width, top - height, borderColor, 0.5f); + page.AddLine(x + width, top - height, x, top - height, borderColor, 0.5f); + page.AddLine(x, top - height, x, top, borderColor, 0.5f); + } + // Draw chart title (clipped to chart width) - var titleY = top; + var titleY = top - (useStyle10Layout ? 12f : 0f); if (!string.IsNullOrEmpty(chart.Title)) { var titleAvailWidth = width - padding * 2; // use nearly full chart width @@ -2782,15 +2793,19 @@ private static void RenderChart(PdfPage page, ExcelChartInfo chart, // Center the title horizontally var titleTextWidth = (float)MeasureHelveticaWidth(clippedTitle, titleFontSize); var titleX = x + (width - titleTextWidth) / 2f; - page.AddText(clippedTitle, titleX, titleY - titleFontSize, titleFontSize, chartColor, preferredFontName: chartFont); + page.AddText(clippedTitle, titleX, titleY - titleFontSize, titleFontSize, chartColor, bold: useStyle10Layout, preferredFontName: chartFont); titleY -= titleFontSize * 2.2f; } // Plot area bounds - var plotLeft = x + padding + 40f; // leave room for Y-axis labels - var plotRight = x + width - padding - 10f; + var showRightLegend = chart.LegendPosition is "r" or "tr" + && chart.Series.Any(series => !string.IsNullOrEmpty(series.Name)) + && chartFitsPage; + var legendWidth = showRightLegend ? Math.Min(32f, width * 0.1f) : 0f; + var plotLeft = x + padding + (useStyle10Layout ? 47f : 40f); + var plotRight = x + width - padding - 10f - legendWidth; var plotTop = titleY - padding; - var plotBottom = top - height + padding + 30f; // leave room for X-axis labels + var plotBottom = top - height + padding + (useStyle10Layout ? 37f : 30f); var plotWidth = plotRight - plotLeft; var plotHeight = plotTop - plotBottom; @@ -2866,6 +2881,20 @@ private static void RenderChart(PdfPage page, ExcelChartInfo chart, { page.AddText(chart.CategoryAxisTitle, plotLeft + plotWidth * 0.35f, plotBottom - 22f, axisFontSize, chartColor, preferredFontName: chartFont); } + + if (showRightLegend) + { + var legendX = plotRight + 10f; + var legendY = plotBottom + plotHeight * 0.5f; + for (var index = 0; index < chart.Series.Count; index++) + { + var seriesName = chart.Series[index].Name; + if (string.IsNullOrEmpty(seriesName)) continue; + var entryY = legendY - index * (labelFontSize + 6f); + page.AddRectangle(legendX, entryY, 7f, 7f, ChartColors[index % ChartColors.Length]); + page.AddText(seriesName, legendX + 11f, entryY - 1f, labelFontSize, chartColor, preferredFontName: chartFont); + } + } } /// Renders a bar/column chart. @@ -2917,11 +2946,11 @@ private static void RenderBarChart(PdfPage page, ExcelChartInfo chart, dataMax = allValues.Max(); var rawMin = allValues.Min(); // Zero-base the axis for typical positive data, but when values are - // tightly clustered far above zero (e.g. stock prices around 150), - // LibreOffice's auto-scale keeps the range close to the data instead - // of compressing it against a distant zero baseline. - dataMin = rawMin > 0 && (dataMax - rawMin) < rawMin * 0.5 - ? rawMin + // tightly clustered far above zero, LibreOffice expands the lower + // bound by half the data range before rounding to a nice interval. + var dataRange = dataMax - rawMin; + dataMin = rawMin > 0 && rawMin / dataMax > 5.0 / 6.0 + ? rawMin - dataRange / 2.0 : Math.Min(0, rawMin); } @@ -2934,8 +2963,11 @@ private static void RenderBarChart(PdfPage page, ExcelChartInfo chart, var numSeries = series.Count; var groupWidth = plotWidth / numCats; - var barWidth = isStacked ? groupWidth * 0.7f : groupWidth * 0.7f / numSeries; - var groupPadding = groupWidth * 0.15f; + var barsPerGroup = isStacked ? 1 : numSeries; + var barWidth = chart.GapWidthPercent.HasValue + ? groupWidth / (barsPerGroup + chart.GapWidthPercent.Value / 100f) + : groupWidth * 0.7f / barsPerGroup; + var groupPadding = (groupWidth - barWidth * barsPerGroup) / 2f; // Y-axis baseline: where value=0 sits, clamped into the visible axis // range. When the axis is auto-scaled away from zero (data clustered @@ -3120,8 +3152,11 @@ private static void RenderHorizontalBarChart(PdfPage page, ExcelChartInfo chart, if (range <= 0) range = 1; var groupHeight = plotHeight / numCats; - var barHeight = isStacked ? groupHeight * 0.7f : groupHeight * 0.7f / numSeries; - var groupPadding = groupHeight * 0.15f; + var barsPerGroup = isStacked ? 1 : numSeries; + var barHeight = chart.GapWidthPercent.HasValue + ? groupHeight / (barsPerGroup + chart.GapWidthPercent.Value / 100f) + : groupHeight * 0.7f / barsPerGroup; + var groupPadding = (groupHeight - barHeight * barsPerGroup) / 2f; var baselineX = plotLeft + (float)((0 - niceMin) / range) * plotWidth; diff --git a/tests/Issue_Files/reference_xlsx/XlsxIssue152_ClusteredNonZeroBarChart.pdf b/tests/Issue_Files/reference_xlsx/XlsxIssue152_ClusteredNonZeroBarChart.pdf new file mode 100644 index 0000000000000000000000000000000000000000..10ccbc74d5eab3da04f470b0704ca0c4eba8d3a0 GIT binary patch literal 51953 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 IS{d>GKl5W=NdN!< literal 0 HcmV?d00001 diff --git a/tests/Issue_Files/reports_xlsx/comparison_manifest.json b/tests/Issue_Files/reports_xlsx/comparison_manifest.json index 931d8bec..2cf2223f 100644 --- a/tests/Issue_Files/reports_xlsx/comparison_manifest.json +++ b/tests/Issue_Files/reports_xlsx/comparison_manifest.json @@ -1,119 +1,124 @@ -{ - "cases": [ - { - "name": "Academic Achievement Summary Table", - "case_id": "Academic Achievement Summary Table", - "format": "xlsx" - }, - { - "name": "AcademicAchievement_temp", - "case_id": "AcademicAchievement_temp", - "format": "xlsx" - }, - { - "name": "Business expense budget1", - "case_id": "Business expense budget1", - "format": "xlsx" - }, - { - "name": "Business expenses budget2", - "case_id": "Business expenses budget2", - "format": "xlsx" - }, - { - "name": "Business plan checklist with SWOT analysis1", - "case_id": "Business plan checklist with SWOT analysis1", - "format": "xlsx" - }, - { - "name": "Event budget1", - "case_id": "Event budget1", - "format": "xlsx" - }, - { - "name": "Expense report basic1", - "case_id": "Expense report basic1", - "format": "xlsx" - }, - { - "name": "Grocery list1", - "case_id": "Grocery list1", - "format": "xlsx" - }, - { - "name": "Issue202609031340", - "case_id": "Issue202609031340", - "format": "xlsx" - }, - { - "name": "payroll-calculator_f", - "case_id": "payroll-calculator_f", - "format": "xlsx" - }, - { - "name": "PO_anonymized", - "case_id": "PO_anonymized", - "format": "xlsx" - }, - { - "name": "Simple invoice1", - "case_id": "Simple invoice1", - "format": "xlsx" - }, - { - "name": "Small business cash flow forecast1", - "case_id": "Small business cash flow forecast1", - "format": "xlsx" - }, - { - "name": "Wedding_timeline_planner1_copy", - "case_id": "Wedding_timeline_planner1_copy", - "format": "xlsx" - }, - { - "name": "Weekly schedule planner1", - "case_id": "Weekly schedule planner1", - "format": "xlsx" - }, - { - "name": "XlsxIssue75", - "case_id": "XlsxIssue75", - "format": "xlsx" - }, - { - "name": "XlsxIssue77_MergedCellAlignment", - "case_id": "XlsxIssue77_MergedCellAlignment", - "format": "xlsx" - }, - { - "name": "XlsxIssue77_Template1", - "case_id": "XlsxIssue77_Template1", - "format": "xlsx" - }, - { - "name": "XlsxIssue77_Template2_Workaround", - "case_id": "XlsxIssue77_Template2_Workaround", - "format": "xlsx" - }, - { - "name": "XlsxIssue81_LayoutOptions", - "case_id": "XlsxIssue81_LayoutOptions", - "format": "xlsx" - }, - { - "name": "XlsxIssue82_5mb", - "case_id": "XlsxIssue82_5mb", - "format": "xlsx" - }, - { - "name": "XlsxIssue82_SampleTestData5mb", - "case_id": "XlsxIssue82_SampleTestData5mb", - "format": "xlsx" - }, - { - "name": "XlsxIssue82_WideTable", - "case_id": "XlsxIssue82_WideTable", - "format": "xlsx" - } - ] +{ + "cases": [ + { + "name": "Academic Achievement Summary Table", + "case_id": "Academic Achievement Summary Table", + "format": "xlsx" + }, + { + "name": "AcademicAchievement_temp", + "case_id": "AcademicAchievement_temp", + "format": "xlsx" + }, + { + "name": "Business expense budget1", + "case_id": "Business expense budget1", + "format": "xlsx" + }, + { + "name": "Business expenses budget2", + "case_id": "Business expenses budget2", + "format": "xlsx" + }, + { + "name": "Business plan checklist with SWOT analysis1", + "case_id": "Business plan checklist with SWOT analysis1", + "format": "xlsx" + }, + { + "name": "Event budget1", + "case_id": "Event budget1", + "format": "xlsx" + }, + { + "name": "Expense report basic1", + "case_id": "Expense report basic1", + "format": "xlsx" + }, + { + "name": "Grocery list1", + "case_id": "Grocery list1", + "format": "xlsx" + }, + { + "name": "Issue202609031340", + "case_id": "Issue202609031340", + "format": "xlsx" + }, + { + "name": "payroll-calculator_f", + "case_id": "payroll-calculator_f", + "format": "xlsx" + }, + { + "name": "PO_anonymized", + "case_id": "PO_anonymized", + "format": "xlsx" + }, + { + "name": "Simple invoice1", + "case_id": "Simple invoice1", + "format": "xlsx" + }, + { + "name": "Small business cash flow forecast1", + "case_id": "Small business cash flow forecast1", + "format": "xlsx" + }, + { + "name": "Wedding_timeline_planner1_copy", + "case_id": "Wedding_timeline_planner1_copy", + "format": "xlsx" + }, + { + "name": "Weekly schedule planner1", + "case_id": "Weekly schedule planner1", + "format": "xlsx" + }, + { + "name": "XlsxIssue152_ClusteredNonZeroBarChart", + "case_id": "XlsxIssue152_ClusteredNonZeroBarChart", + "format": "xlsx" + }, + { + "name": "XlsxIssue75", + "case_id": "XlsxIssue75", + "format": "xlsx" + }, + { + "name": "XlsxIssue77_MergedCellAlignment", + "case_id": "XlsxIssue77_MergedCellAlignment", + "format": "xlsx" + }, + { + "name": "XlsxIssue77_Template1", + "case_id": "XlsxIssue77_Template1", + "format": "xlsx" + }, + { + "name": "XlsxIssue77_Template2_Workaround", + "case_id": "XlsxIssue77_Template2_Workaround", + "format": "xlsx" + }, + { + "name": "XlsxIssue81_LayoutOptions", + "case_id": "XlsxIssue81_LayoutOptions", + "format": "xlsx" + }, + { + "name": "XlsxIssue82_5mb", + "case_id": "XlsxIssue82_5mb", + "format": "xlsx" + }, + { + "name": "XlsxIssue82_SampleTestData5mb", + "case_id": "XlsxIssue82_SampleTestData5mb", + "format": "xlsx" + }, + { + "name": "XlsxIssue82_WideTable", + "case_id": "XlsxIssue82_WideTable", + "format": "xlsx" + } + ] } diff --git a/tests/Issue_Files/reports_xlsx/comparison_report.json b/tests/Issue_Files/reports_xlsx/comparison_report.json index c6b415ea..dfb1fba6 100644 --- a/tests/Issue_Files/reports_xlsx/comparison_report.json +++ b/tests/Issue_Files/reports_xlsx/comparison_report.json @@ -972,5 +972,53 @@ } ], "overall_score": 0.9341 + }, + { + "name": "XlsxIssue152_ClusteredNonZeroBarChart", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "issue-xlsx", + "case_id": "XlsxIssue152_ClusteredNonZeroBarChart", + "format": "xlsx", + "minipdf_size": 4416, + "reference_size": 51953, + "pdf_valid": true, + "minipdf_pages": 1, + "reference_pages": 1, + "text_similarity": 0.9771, + "flat_text_similarity": 0.9771, + "word_text_similarity": 0.9762, + "text_diff": "--- minipdf/XlsxIssue152_ClusteredNonZeroBarChart.pdf\n+++ reference/XlsxIssue152_ClusteredNonZeroBarChart.pdf\n@@ -8,8 +8,7 @@\n 160\n\n 155\n\n 150\n\n-Price\n\n-145\n\n+145 Price\n\n Price\n\n 140\n\n 135\n", + "visual_scores": [ + 0.9652 + ], + "visual_avg": 0.9652, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png", + "reference_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_reference.png", + "heatmap_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 109, + 141, + 881, + 782 + ], + "changed_pixels": 82552, + "changed_fraction": 0.040315, + "mean_abs_rgb": 4.6913, + "rmse_rgb": 27.7385, + "threshold": 12, + "gain": 5.0 + } + } + ], + "overall_score": 0.9769 } ] \ No newline at end of file diff --git a/tests/Issue_Files/reports_xlsx/comparison_report.md b/tests/Issue_Files/reports_xlsx/comparison_report.md index 4b56da7d..3d7587c0 100644 --- a/tests/Issue_Files/reports_xlsx/comparison_report.md +++ b/tests/Issue_Files/reports_xlsx/comparison_report.md @@ -1,6 +1,6 @@ -# MiniPdf vs Microsoft 365 Reference PDF Comparison Report +# MiniPdf vs LibreOffice Reference PDF Comparison Report -Generated: 2026-09-04T20:39:22.365558 +Generated: 2026-09-08T10:15:48.738138 ## Summary @@ -29,8 +29,9 @@ Generated: 2026-09-04T20:39:22.365558 | 21 | 🔴 XlsxIssue82_SampleTestData5mb | ✅ | 0.4255 | 0.9146 | 834/1668 | **0.636** | | 22 | 🟢 XlsxIssue82_WideTable | ✅ | 1.0 | 0.8648 | 13/13 | **0.9459** | | 23 | 🟢 Issue202609031340 | ✅ | 0.8828 | 0.9524 | 4/4 | **0.9341** | +| 24 | 🟢 XlsxIssue152_ClusteredNonZeroBarChart | ✅ | 0.9771 | 0.9652 | 1/1 | **0.9769** | -**Average Overall Score: 0.8401** +**Average Overall Score: 0.8458** ## Difference Heatmaps @@ -58,23 +59,28 @@ Blue areas are below the configured difference threshold; red areas have stronge Issue202609031340 page 4 difference heatmap changed: 18149 px (0.83%)
bbox: [42, 743, 1196, 1009]
mean abs RGB: 1.166
RMSE RGB: 14.6026
threshold: 12, gain: 5.0 + + XlsxIssue152_ClusteredNonZeroBarChart
Page 1 + XlsxIssue152_ClusteredNonZeroBarChart page 1 difference heatmap + changed: 82552 px (4.03%)
bbox: [109, 141, 881, 782]
mean abs RGB: 4.6913
RMSE RGB: 27.7385
threshold: 12, gain: 5.0 + ## Visual Comparison - + - + - + @@ -82,11 +88,11 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + @@ -94,15 +100,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -110,19 +116,19 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + - + @@ -130,7 +136,7 @@ Blue areas are below the configured difference threshold; red areas have stronge - + @@ -138,15 +144,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -154,7 +160,7 @@ Blue areas are below the configured difference threshold; red areas have stronge - + @@ -162,7 +168,7 @@ Blue areas are below the configured difference threshold; red areas have stronge - + @@ -170,15 +176,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -186,15 +192,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -202,7 +208,7 @@ Blue areas are below the configured difference threshold; red areas have stronge - + @@ -210,15 +216,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -226,15 +232,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -242,7 +248,7 @@ Blue areas are below the configured difference threshold; red areas have stronge - + @@ -250,15 +256,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -266,11 +272,11 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + @@ -278,15 +284,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -294,15 +300,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -310,15 +316,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -326,15 +332,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -342,15 +348,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -358,15 +364,15 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + @@ -374,19 +380,27 @@ Blue areas are below the configured difference threshold; red areas have stronge - + - + - + - + + + + + + + + +
MiniPdfMicrosoft 365 Reference
MiniPdfLibreOffice Reference
Academic Achievement Summary Table
format: xlsx | case: Academic Achievement Summary Table | scope: issue-xlsx
Academic Achievement Summary Table ⬤ 97.4%
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
AcademicAchievement_temp
format: xlsx | case: AcademicAchievement_temp | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Business expense budget1
format: xlsx | case: Business expense budget1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Business expenses budget2
format: xlsx | case: Business expenses budget2 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Business plan checklist with SWOT analysis1
format: xlsx | case: Business plan checklist with SWOT analysis1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Event budget1
format: xlsx | case: Event budget1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Expense report basic1
format: xlsx | case: Expense report basic1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Grocery list1
format: xlsx | case: Grocery list1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
payroll-calculator_f
format: xlsx | case: payroll-calculator_f | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
PO_anonymized
format: xlsx | case: PO_anonymized | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Simple invoice1
format: xlsx | case: Simple invoice1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Small business cash flow forecast1
format: xlsx | case: Small business cash flow forecast1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
missingMicrosoft 365 ReferenceLibreOffice Reference
Wedding_timeline_planner1_copy
format: xlsx | case: Wedding_timeline_planner1_copy | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Weekly schedule planner1
format: xlsx | case: Weekly schedule planner1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue75
format: xlsx | case: XlsxIssue75 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue77_MergedCellAlignment
format: xlsx | case: XlsxIssue77_MergedCellAlignment | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue77_Template1
format: xlsx | case: XlsxIssue77_Template1 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue77_Template2_Workaround
format: xlsx | case: XlsxIssue77_Template2_Workaround | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue81_LayoutOptions
format: xlsx | case: XlsxIssue81_LayoutOptions | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue82_5mb
format: xlsx | case: XlsxIssue82_5mb | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue82_SampleTestData5mb
format: xlsx | case: XlsxIssue82_SampleTestData5mb | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue82_WideTable
format: xlsx | case: XlsxIssue82_WideTable | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
Issue202609031340
format: xlsx | case: Issue202609031340 | scope: issue-xlsx
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
MiniPdfMicrosoft 365 ReferenceLibreOffice Reference
XlsxIssue152_ClusteredNonZeroBarChart
format: xlsx | case: XlsxIssue152_ClusteredNonZeroBarChart | scope: issue-xlsx
XlsxIssue152_ClusteredNonZeroBarChart ⬤ 97.7%
MiniPdfLibreOffice Reference
@@ -2642,6 +2656,41 @@ Text content: ✅ Identical ``` +### XlsxIssue152_ClusteredNonZeroBarChart + +- **Case Metadata:** format: xlsx | case: XlsxIssue152_ClusteredNonZeroBarChart | scope: issue-xlsx +- **Text Similarity:** 0.9771 +- **Visual Average:** 0.9652 +- **Overall Score:** 0.9769 +- **Pages:** MiniPdf=1, Reference=1 +- **File Size:** MiniPdf=4416 bytes, Reference=51953 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue152_ClusteredNonZeroBarChart.pdf ++++ reference/XlsxIssue152_ClusteredNonZeroBarChart.pdf +@@ -8,8 +8,7 @@ + 160 + + 155 + + 150 + +-Price + +-145 + ++145 Price + + Price + + 140 + + 135 +``` +
+ ## Improvement Suggestions ### ⚠ Low-Score Test Cases (below 0.8) diff --git a/tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png b/tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png new file mode 100644 index 0000000000000000000000000000000000000000..32e8a51f90934275fd36582065e08755b54e55e1 GIT binary patch literal 72615 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

?{? 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 G@_zt6Ep>|k literal 0 HcmV?d00001 diff --git a/tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png b/tests/Issue_Files/reports_xlsx/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8e8b706414edb9da8e694fa9b03bccdb85f4c1 GIT binary patch literal 44967 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 PN&tXj008~uKkohu{sw`@ literal 0 HcmV?d00001 diff --git a/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs b/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs index f7fdc5e5..728ce9c0 100644 --- a/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs +++ b/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs @@ -81,7 +81,9 @@ public void Convert_BarChartWithClusteredNonZeroData_KeepsBarsAndAxisWithinPlot( Math.Abs(line.X1 - line.X2) < 0.01f && line.Color == PdfColor.Black); var plotBottom = Math.Min(yAxis.Y1, yAxis.Y2); var plotTop = Math.Max(yAxis.Y1, yAxis.Y2); - var bars = page.RectBlocks.ToArray(); + var bars = page.RectBlocks.Where(rectangle => rectangle.Height > 7f) + .OrderBy(rectangle => rectangle.X) + .ToArray(); Assert.Equal(5, bars.Length); Assert.All(bars, bar => @@ -89,9 +91,15 @@ public void Convert_BarChartWithClusteredNonZeroData_KeepsBarsAndAxisWithinPlot( Assert.Equal(plotBottom, bar.Y, 3); Assert.InRange(bar.Y + bar.Height, plotBottom, plotTop + 0.01f); }); + var firstGap = bars[1].X - bars[0].X - bars[0].Width; + Assert.True(firstGap > bars[0].Width, "A 150% gapWidth should leave more gap than bar width."); var axisLabels = page.TextBlocks.Select(block => block.Text); Assert.DoesNotContain("0", axisLabels); + Assert.Contains("130", axisLabels); + Assert.Contains("160", axisLabels); + Assert.Contains("Price", axisLabels); + Assert.Contains(page.TextBlocks, block => block.Text == "Clustered Non-Zero Prices" && block.Bold); } [Fact] @@ -1299,7 +1307,9 @@ private static MemoryStream CreateExcelWithBarChart(string[] categories, double[ + + Clustered Non-Zero Prices @@ -1307,6 +1317,7 @@ private static MemoryStream CreateExcelWithBarChart(string[] categories, double[ + Price Sheet1!$A$2:$A${{categories.Length + 1}} @@ -1320,8 +1331,10 @@ private static MemoryStream CreateExcelWithBarChart(string[] categories, double[ + + """);