diff --git a/.gitignore b/.gitignore index ea5b6903..f728f372 100644 --- a/.gitignore +++ b/.gitignore @@ -60,6 +60,14 @@ MiniPdf.Web/MiniPdf.Web.Client/wwwroot/fonts/ /tests/Issue_Files/minipdf_xlsx /tests/Issue_Files/minipdf_pptx /artifacts/* +!/artifacts/go-benchmark/ +/artifacts/go-benchmark/* +!/artifacts/go-benchmark/issue/ +/artifacts/go-benchmark/issue/* +!/artifacts/go-benchmark/issue/xlsx/ +/artifacts/go-benchmark/issue/xlsx/* +!/artifacts/go-benchmark/issue/xlsx/report/ +!/artifacts/go-benchmark/issue/xlsx/report/** !/artifacts/rust-benchmark/ /artifacts/rust-benchmark/* !/artifacts/rust-benchmark/benchmark_matrix.json diff --git a/FEATURE_PARITY.md b/FEATURE_PARITY.md index 754fad07..ac7ee7cb 100644 --- a/FEATURE_PARITY.md +++ b/FEATURE_PARITY.md @@ -241,7 +241,7 @@ All six implementations have language-specific visual benchmark runners under | Malformed/security fixtures | P | P | I | P | I | B/P | | Classic XLSX report | I | I | M | M | M | M | | Classic DOCX report | I | I | M | M | M | M | -| Issue XLSX report | I | I | I | M | M | M | +| Issue XLSX report | I | I | I | I | M | M | | Issue DOCX report | I | M | M | M | M | M | | Issue PPTX report | I | M | M | M | M | M | | Classic PPTX corpus/report | M | M | M | M | M | M | @@ -273,6 +273,33 @@ present. Require a focused unit test plus a reproducible visual benchmark case. overrides raised the five-case classic DOCX average from `0.9872` to `0.9889`; all cases improved or held. See the local [`report`](artifacts/go-parity-docx-margins/report/comparison_report.md). +- 2026-09-14: horizontally paginating overflowing single-column XLSX text + raised `classic09_long_text` from `0.1840` with `1/12` pages to `0.8942` + with `12/12` pages. The complete 191-case classic XLSX average increased + from `0.8436` to `0.8473`, with all unrelated case scores unchanged. See the + local [`report`](artifacts/go-benchmark/classic/xlsx/report/comparison_report.md). +- 2026-09-14: preserving explicit XLSX row and cell references raised + `classic11_sparse_rows` from `0.6990` to `0.9996` and + `classic12_sparse_columns` from `0.6993` to `0.9995`, with both candidates + reaching `2/2` reference pages. The complete 191-case average increased from + `0.8473` to `0.8503`, with no case regression. +- 2026-09-14: skipping worksheets with no physical rows while retaining a + fallback page for an entirely empty workbook raised + `classic30_mixed_empty_and_filled_sheets` from `0.6834` with `4/2` pages to + `0.9993` with `2/2` pages. The complete average reached `0.8519`; SHA-256 + comparison against the preceding stage showed this was the only changed + candidate among all 191 cases. +- 2026-09-14: mapping OOXML boolean cells from `1` and `0` to Excel-compatible + `TRUE` and `FALSE` raised `classic42_boolean_values` from `0.9264` to + `0.9869`. The complete average reached `0.8522`; SHA-256 comparison against + the preceding stage showed this was the only changed candidate among all 191 + cases. +- 2026-09-14: the complete Go issue XLSX benchmark covers all 24 tracked issue + fixtures with 24 successful conversions and no missing Microsoft 365 or + LibreOffice references. The report averages `0.4929` and compares up to three + pages per case because two stress fixtures produce 3,781 and 2,860 candidate + pages. See the tracked + [`report`](artifacts/go-benchmark/issue/xlsx/report/comparison_report.md). ## Alignment Backlog diff --git a/artifacts/go-benchmark/issue/xlsx/report/benchmark_coverage.json b/artifacts/go-benchmark/issue/xlsx/report/benchmark_coverage.json index ef365220..35f4301a 100644 --- a/artifacts/go-benchmark/issue/xlsx/report/benchmark_coverage.json +++ b/artifacts/go-benchmark/issue/xlsx/report/benchmark_coverage.json @@ -8,16 +8,112 @@ "auxiliary_reference_label": "LibreOffice (auxiliary)", "fixture_scope": "shared-on-disk-fixtures", "executes_dotnet_xunit": false, - "max_compare_pages": 0, - "selected_cases": 1, - "passed_conversions": 1, + "max_compare_pages": 3, + "selected_cases": 24, + "passed_conversions": 24, "failed_conversions": 0, "missing_references": 0, "missing_auxiliary_references": 0, "comparison_completed": true, - "comparison_results": 1, - "average_score": 0.4046, + "comparison_results": 24, + "average_score": 0.49293750000000003, "cases": [ + { + "name": "Academic Achievement Summary Table", + "case_id": "Academic Achievement Summary Table", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Academic Achievement Summary Table.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "AcademicAchievement_temp", + "case_id": "AcademicAchievement_temp", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/AcademicAchievement_temp.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Business expense budget1", + "case_id": "Business expense budget1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business expense budget1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Business expenses budget2", + "case_id": "Business expenses budget2", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business expenses budget2.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Business plan checklist with SWOT analysis1", + "case_id": "Business plan checklist with SWOT analysis1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business plan checklist with SWOT analysis1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Event budget1", + "case_id": "Event budget1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Event budget1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Expense report basic1", + "case_id": "Expense report basic1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Expense report basic1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Grocery list1", + "case_id": "Grocery list1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Grocery list1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, { "name": "Issue202609031340", "case_id": "Issue202609031340", @@ -29,6 +125,186 @@ "candidate_exists": true, "reference_exists": true, "auxiliary_reference_exists": true + }, + { + "name": "payroll-calculator_f", + "case_id": "payroll-calculator_f", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/payroll-calculator_f.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "PO_anonymized", + "case_id": "PO_anonymized", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/PO_anonymized.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Simple invoice1", + "case_id": "Simple invoice1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Simple invoice1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Small business cash flow forecast1", + "case_id": "Small business cash flow forecast1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Small business cash flow forecast1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Wedding_timeline_planner1_copy", + "case_id": "Wedding_timeline_planner1_copy", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Wedding_timeline_planner1_copy.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "Weekly schedule planner1", + "case_id": "Weekly schedule planner1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Weekly schedule planner1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue152_ClusteredNonZeroBarChart", + "case_id": "XlsxIssue152_ClusteredNonZeroBarChart", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue152_ClusteredNonZeroBarChart.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue75", + "case_id": "XlsxIssue75", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue75.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue77_MergedCellAlignment", + "case_id": "XlsxIssue77_MergedCellAlignment", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_MergedCellAlignment.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue77_Template1", + "case_id": "XlsxIssue77_Template1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_Template1.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue77_Template2_Workaround", + "case_id": "XlsxIssue77_Template2_Workaround", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_Template2_Workaround.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue81_LayoutOptions", + "case_id": "XlsxIssue81_LayoutOptions", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue81_LayoutOptions.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue82_5mb", + "case_id": "XlsxIssue82_5mb", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_5mb.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue82_SampleTestData5mb", + "case_id": "XlsxIssue82_SampleTestData5mb", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_SampleTestData5mb.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true + }, + { + "name": "XlsxIssue82_WideTable", + "case_id": "XlsxIssue82_WideTable", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_WideTable.xlsx", + "conversion_status": "passed", + "conversion_exit_code": null, + "candidate_exists": true, + "reference_exists": true, + "auxiliary_reference_exists": true } ] } \ No newline at end of file diff --git a/artifacts/go-benchmark/issue/xlsx/report/comparison_manifest.json b/artifacts/go-benchmark/issue/xlsx/report/comparison_manifest.json index e8821b1c..d68d565a 100644 --- a/artifacts/go-benchmark/issue/xlsx/report/comparison_manifest.json +++ b/artifacts/go-benchmark/issue/xlsx/report/comparison_manifest.json @@ -1,5 +1,101 @@ { "cases": [ + { + "name": "Academic Achievement Summary Table", + "case_id": "Academic Achievement Summary Table", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Academic Achievement Summary Table.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "AcademicAchievement_temp", + "case_id": "AcademicAchievement_temp", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/AcademicAchievement_temp.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Business expense budget1", + "case_id": "Business expense budget1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business expense budget1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Business expenses budget2", + "case_id": "Business expenses budget2", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business expenses budget2.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Business plan checklist with SWOT analysis1", + "case_id": "Business plan checklist with SWOT analysis1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business plan checklist with SWOT analysis1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Event budget1", + "case_id": "Event budget1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Event budget1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Expense report basic1", + "case_id": "Expense report basic1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Expense report basic1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Grocery list1", + "case_id": "Grocery list1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Grocery list1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, { "name": "Issue202609031340", "case_id": "Issue202609031340", @@ -11,6 +107,186 @@ "candidate_exists": false, "reference_exists": false, "auxiliary_reference_exists": false + }, + { + "name": "payroll-calculator_f", + "case_id": "payroll-calculator_f", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/payroll-calculator_f.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "PO_anonymized", + "case_id": "PO_anonymized", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/PO_anonymized.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Simple invoice1", + "case_id": "Simple invoice1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Simple invoice1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Small business cash flow forecast1", + "case_id": "Small business cash flow forecast1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Small business cash flow forecast1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Wedding_timeline_planner1_copy", + "case_id": "Wedding_timeline_planner1_copy", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Wedding_timeline_planner1_copy.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "Weekly schedule planner1", + "case_id": "Weekly schedule planner1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Weekly schedule planner1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue152_ClusteredNonZeroBarChart", + "case_id": "XlsxIssue152_ClusteredNonZeroBarChart", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue152_ClusteredNonZeroBarChart.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue75", + "case_id": "XlsxIssue75", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue75.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue77_MergedCellAlignment", + "case_id": "XlsxIssue77_MergedCellAlignment", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_MergedCellAlignment.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue77_Template1", + "case_id": "XlsxIssue77_Template1", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_Template1.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue77_Template2_Workaround", + "case_id": "XlsxIssue77_Template2_Workaround", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_Template2_Workaround.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue81_LayoutOptions", + "case_id": "XlsxIssue81_LayoutOptions", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue81_LayoutOptions.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue82_5mb", + "case_id": "XlsxIssue82_5mb", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_5mb.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue82_SampleTestData5mb", + "case_id": "XlsxIssue82_SampleTestData5mb", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_SampleTestData5mb.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false + }, + { + "name": "XlsxIssue82_WideTable", + "case_id": "XlsxIssue82_WideTable", + "suite": "issue", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_WideTable.xlsx", + "conversion_status": "pending", + "conversion_exit_code": null, + "candidate_exists": false, + "reference_exists": false, + "auxiliary_reference_exists": false } ] } \ No newline at end of file diff --git a/artifacts/go-benchmark/issue/xlsx/report/comparison_report.json b/artifacts/go-benchmark/issue/xlsx/report/comparison_report.json index 39b8553d..c5bd219d 100644 --- a/artifacts/go-benchmark/issue/xlsx/report/comparison_report.json +++ b/artifacts/go-benchmark/issue/xlsx/report/comparison_report.json @@ -1,121 +1,2195 @@ [ { - "name": "Issue202609031340", + "name": "Academic Achievement Summary Table", "minipdf_exists": true, "reference_exists": true, "report_scope": "go-issue-xlsx", - "case_id": "Issue202609031340", + "case_id": "Academic Achievement Summary Table", "format": "xlsx", - "source_path": "tests/Issue_Files/xlsx/Issue202609031340.xlsx", + "source_path": "tests/Issue_Files/xlsx/Academic Achievement Summary Table.xlsx", "suite": "issue", - "minipdf_size": 12125, - "reference_size": 346206, - "pdf_valid": false, - "pdf_errors": [ - "Stream at 508: declared length 4758, actual 4757", - "Stream at 5459: declared length 2836, actual 2835", - "Stream at 8490: declared length 3331, actual 3330" + "minipdf_size": 16516, + "reference_size": 151877, + "pdf_valid": true, + "minipdf_pages": 9, + "reference_pages": 2, + "compared_pages": 3, + "text_similarity": 0.3235, + "flat_text_similarity": 0.1516, + "word_text_similarity": 0.3235, + "text_diff": "--- minipdf/Academic Achievement Summary Table.pdf\n+++ reference/Academic Achievement Summary Table.pdf\n@@ -1,9 +1,11 @@\n-??3\n\n-???????\n\n-????? ???????\n\n-???????\n\n-???????????\n\n-?? ?? ????\n\n+附件3\n\n+学术业绩汇总表\n\n+报考岗位: 报考岗位代码: 考生姓名:\n\n+博士论文题目: 博士论文研究方向:\n\n+公开发表的主要论文情况\n\n+角色 转载刊物、转载字数及 是否为代表作\n\n+序号 题目 刊物名称 核心期刊情况 刊号 发表时间\n\n+(排名) 转载时间等 (指定1篇)\n\n 1\n\n 2\n\n 3\n\n@@ -16,27 +18,30 @@\n 10\n\n 11\n\n 12\n\n-?????????????????\n\n-?? ?? ?????\n\n+---PAGE---\n\n+公开出版的主要专(译)著、教材情况\n\n+角色 全书文 本人写 转载刊物、转载字数及\n\n+序号 题目 出版社名称 出版号 出版时间 备注\n\n+(排名) 字数 作量 转载时间等\n\n 1\n\n 2\n\n-???????????\n\n-?? ??\n\n+获批的决策咨询报告情况\n\n+序号 题目 批示领导级别 获批时间 角色(排名) 备注\n\n 1\n\n 2\n\n 3\n\n 4\n\n-???????????\n\n-?? ???? ????\n\n+承担的主要科研课题情况\n\n+项目\n\n+序号 课题名称 项目来源 课题编号 角色(排名) 起止时间 成果鉴定(评价) 备注\n\n+级别\n\n 1\n\n 2\n\n----PAGE---\n\n 3\n\n 4\n\n-??????????????????????????????????\n\n-???????\n\n-??? ? ? ?\n\n-?????1.????????????????????????????????????????????A4??????\n\n-2.??????????????????????????????????????CSSCI???????????????????????????\n\n-?????????????????????SCI???????????SSCI??????SCI?SSCI???????????????Q1?Q2?\n\n----PAGE---\n+本人承诺以上情况属实,并有相应证明。如有不实之处,愿意承担相应责任。\n\n+报名人员签名:\n\n+日期: 年 月 日\n\n+填表说明:1.请将各类学术成果按等级、层次及水平自高到低顺序填写。不加行、减行,不加页、减页,本表采用A4正反面打印。\n\n+2.核心期刊是指北京大学图书馆“中文核心期刊”、南京大学“中文社会科学引文索引(CSSCI)来源期刊”(含扩展版、集刊)、中国科学技术信息研究所\n\n+“中国科技论文统计源期刊”和科学引文索引(SCI)、社会科学引文索引(SSCI)。其中,被SCI、SSCI收录的期刊要求进入所在学科领域Q1、Q2。", + "visual_scores": [ + 0.6452, + 0.6203, + 0.0 ], - "minipdf_pages": 3, + "visual_avg": 0.4218, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Academic Achievement Summary Table_p1_minipdf.png", + "reference_img": "Academic Achievement Summary Table_p1_reference.png", + "auxiliary_img": "Academic Achievement Summary Table_p1_libreoffice.png", + "heatmap_img": "Academic Achievement Summary Table_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 47, + 38, + 1700, + 1143 + ], + "changed_pixels": 116957, + "changed_fraction": 0.053731, + "mean_abs_rgb": 8.3161, + "rmse_rgb": 40.5955, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Academic Achievement Summary Table_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Academic Achievement Summary Table_p2_minipdf.png", + "reference_img": "Academic Achievement Summary Table_p2_reference.png", + "auxiliary_img": "Academic Achievement Summary Table_p2_libreoffice.png", + "heatmap_img": "Academic Achievement Summary Table_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 47, + 25, + 1700, + 1170 + ], + "changed_pixels": 173965, + "changed_fraction": 0.079921, + "mean_abs_rgb": 11.9923, + "rmse_rgb": 48.605, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Academic Achievement Summary Table_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "Academic Achievement Summary Table_p3_minipdf.png", + "reference_img": null, + "auxiliary_img": null + } + ], + "overall_score": 0.3981 + }, + { + "name": "AcademicAchievement_temp", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "AcademicAchievement_temp", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/AcademicAchievement_temp.xlsx", + "suite": "issue", + "minipdf_size": 16516, + "reference_size": 151877, + "pdf_valid": true, + "minipdf_pages": 9, + "reference_pages": 2, + "compared_pages": 3, + "text_similarity": 0.3235, + "flat_text_similarity": 0.1516, + "word_text_similarity": 0.3235, + "text_diff": "--- minipdf/AcademicAchievement_temp.pdf\n+++ reference/AcademicAchievement_temp.pdf\n@@ -1,9 +1,11 @@\n-??3\n\n-???????\n\n-????? ???????\n\n-???????\n\n-???????????\n\n-?? ?? ????\n\n+附件3\n\n+学术业绩汇总表\n\n+报考岗位: 报考岗位代码: 考生姓名:\n\n+博士论文题目: 博士论文研究方向:\n\n+公开发表的主要论文情况\n\n+角色 转载刊物、转载字数及 是否为代表作\n\n+序号 题目 刊物名称 核心期刊情况 刊号 发表时间\n\n+(排名) 转载时间等 (指定1篇)\n\n 1\n\n 2\n\n 3\n\n@@ -16,27 +18,30 @@\n 10\n\n 11\n\n 12\n\n-?????????????????\n\n-?? ?? ?????\n\n+---PAGE---\n\n+公开出版的主要专(译)著、教材情况\n\n+角色 全书文 本人写 转载刊物、转载字数及\n\n+序号 题目 出版社名称 出版号 出版时间 备注\n\n+(排名) 字数 作量 转载时间等\n\n 1\n\n 2\n\n-???????????\n\n-?? ??\n\n+获批的决策咨询报告情况\n\n+序号 题目 批示领导级别 获批时间 角色(排名) 备注\n\n 1\n\n 2\n\n 3\n\n 4\n\n-???????????\n\n-?? ???? ????\n\n+承担的主要科研课题情况\n\n+项目\n\n+序号 课题名称 项目来源 课题编号 角色(排名) 起止时间 成果鉴定(评价) 备注\n\n+级别\n\n 1\n\n 2\n\n----PAGE---\n\n 3\n\n 4\n\n-??????????????????????????????????\n\n-???????\n\n-??? ? ? ?\n\n-?????1.????????????????????????????????????????????A4??????\n\n-2.??????????????????????????????????????CSSCI???????????????????????????\n\n-?????????????????????SCI???????????SSCI??????SCI?SSCI???????????????Q1?Q2?\n\n----PAGE---\n+本人承诺以上情况属实,并有相应证明。如有不实之处,愿意承担相应责任。\n\n+报名人员签名:\n\n+日期: 年 月 日\n\n+填表说明:1.请将各类学术成果按等级、层次及水平自高到低顺序填写。不加行、减行,不加页、减页,本表采用A4正反面打印。\n\n+2.核心期刊是指北京大学图书馆“中文核心期刊”、南京大学“中文社会科学引文索引(CSSCI)来源期刊”(含扩展版、集刊)、中国科学技术信息研究所\n\n+“中国科技论文统计源期刊”和科学引文索引(SCI)、社会科学引文索引(SSCI)。其中,被SCI、SSCI收录的期刊要求进入所在学科领域Q1、Q2。", + "visual_scores": [ + 0.6452, + 0.6203, + 0.0 + ], + "visual_avg": 0.4218, + "diff_images": [ + { + "page": 1, + "minipdf_img": "AcademicAchievement_temp_p1_minipdf.png", + "reference_img": "AcademicAchievement_temp_p1_reference.png", + "auxiliary_img": "AcademicAchievement_temp_p1_libreoffice.png", + "heatmap_img": "AcademicAchievement_temp_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 47, + 38, + 1700, + 1143 + ], + "changed_pixels": 116957, + "changed_fraction": 0.053731, + "mean_abs_rgb": 8.3161, + "rmse_rgb": 40.5955, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "AcademicAchievement_temp_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "AcademicAchievement_temp_p2_minipdf.png", + "reference_img": "AcademicAchievement_temp_p2_reference.png", + "auxiliary_img": "AcademicAchievement_temp_p2_libreoffice.png", + "heatmap_img": "AcademicAchievement_temp_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 47, + 25, + 1700, + 1170 + ], + "changed_pixels": 173965, + "changed_fraction": 0.079921, + "mean_abs_rgb": 11.9923, + "rmse_rgb": 48.605, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "AcademicAchievement_temp_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "AcademicAchievement_temp_p3_minipdf.png", + "reference_img": null, + "auxiliary_img": null + } + ], + "overall_score": 0.3981 + }, + { + "name": "Business expense budget1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Business expense budget1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business expense budget1.xlsx", + "suite": "issue", + "minipdf_size": 4633, + "reference_size": 159864, + "pdf_valid": true, + "minipdf_pages": 2, "reference_pages": 4, - "text_similarity": 0.175, - "flat_text_similarity": 0.1567, - "word_text_similarity": 0.175, - "text_diff": "--- minipdf/Issue202609031340.pdf\n+++ reference/Issue202609031340.pdf\n@@ -1,75 +1,113 @@\n-Sheet 1\n\n-XXXXXX????\n\n-???? QA-SIPI-XXXX-01-1-1 ???? XXX-XXX-051-01\n\n-???? 45758\n\n-???? 03 ???? 45986\n\n-????????? ???? ?????? ???? 20.45±1.05 g\n\n-???? / ???? ?1.18*10MM(320????)\n\n-???? XXXX ???? ???? ???? ANSI/ASQ Z1.4? ???? 2H/?\n\n-???? MO25XXXX0100/MO25XXXX0110 ???? PETG ???? CR: 0 MA:1.0 MI: 2.0\n\n-???? ??????:45°-90°,????30cm,??900~1200lux ??? ???????XXXX?? ????\n\n-2025.4.10\n\n-???????HKXXXX-01-RB\n\n-?? ???? ????\n\n-?? ??????PPS 1?????????????????PPS?????\n\n-2????????????????????\n\n-?? ?????? 1?????????????????????\n\n-2??????????????????\n\n-?? ?????? 1????????????????????\n\n-2??????????????????????\n\n-?? ?? ??????????SOP?\n\n-? ? ?? ?? ????(mm) ???? ?? ?? ??? ??? ??? ??????? ??????? ???? ??\n\n-?? A 68.16 ?0.05/?0.17 ?????? 1?/? A 68.16 68.06 68.13\n\n--9.9999999999994316E-2 -3.0000000000001137E-2 ±0.20\n\n-?? B 62.03 ?0.05/?0.20 ?????? 1?/? B 62.03 61.96 62\n\n--7.0000000000000284E-2 -3.0000000000001137E-2 ±0.20\n\n-?? C 27.9 ?0.03/?0.05 ???????? ?? C 27.9 27.86 27.88\n\n--3.9999999999999147E-2 -1.9999999999999574E-2 ±0.05\n\n-?? D 18.87 ?0.00/?0.10 ?????????? ?? D 18.87 18.8 18.82\n\n--7.0000000000000284E-2 -5.0000000000000711E-2 ?0.10/?0.05\n\n-?? E 6.70?0.00/?0.05 ????????? ?? E 6.7 6.62 6.65\n\n--8.0000000000000071E-2 -4.9999999999999822E-2 ±0.05\n\n-?? F 5.36 ?0.00/?0.05 ??????????? ?? F 5.36 5.3 5.33\n\n--6.0000000000000497E-2 -3.0000000000000249E-2 ±0.05\n\n-?? G 1.20±0.02 ???? 6H G 1.2 1.18 1.18 -2.0000000000000018E-2\n\n--2.0000000000000018E-2 ±0.02\n\n-??? H 58.69?0.02/?0.12 ??????????? 6H H 58.69 58.6 58.66\n\n--8.9999999999996305E-2 -3.0000000000001137E-2 ±0.15\n\n-?? I 8.35?0.10/?0.05 ????????? ?? I 8.35 8.2100000000000009\n\n-8.2799999999999994 -0.13999999999999879 -7.0000000000000284E-2 ±0.20\n\n-??? J 53.93?0.04/?0.03 ???????????????????? 6H J 53.93 53.76\n\n-53.85 -0.17000000000000171 -7.9999999999998295E-2 ?0.05/?0.10\n\n-?? K 18.61±0.05 ???????? 1?/? K 18.61 18.61 18.649999999999999 0\n\n-3.9999999999999147E-2 ±0.05\n\n-??? L*2 4.65?0.00/?0.10 ????????????? 1?/? L 4.6500000000000004\n\n-4.63 4.68 -2.0000000000000462E-2 2.9999999999999361E-2 ±0.05\n\n+表单编号 XXX-XXX-051-01\n\n+XXXXXX有限公司 文件编号QA-SIPI-XXXX-01-1-1\n\n+发行日期 2025-04-11\n\n+文件版本 03 修订日期 2025-11-25\n\n+产品穴号 详见注意事项 产品单重 20.45±1.05 g\n\n+注塑制程检验标准书\n\n+¢1.18*10MM(320度加强\n\n+附件编号 / 销钉规格\n\n+型)\n\n+产品型号 XXXX 部件名称 盖塑胶件 抽样计划 ANSI/ASQ Z1.4Ⅱ 巡检频率 2H/次\n\n+MO25XXXX0100/MO\n\n+模具编号 部件材质 PETG 允收水准 CR: 0 MA:1.0 MI: 2.0\n\n+25XXXX0110\n\n+检验条件 检验光源角度:45°-90°,检验距离30cm,光照900~1200lux\n\n+参考 图纸文件编号:XXXX系列 内部图纸 2025.4.10\n\n+项目 检验工具 巡检内容\n\n+图 部件图纸编号:HKXXXX-01-RB\n\n+结 目视、图 1、首件样品整模结构符合图纸设计、同PPS结构一致;\n\n+构 纸、PPS 2、制程巡检整模产品结构需同首件结构一致。\n\n+颜 目视、限 1、首件样品颜色需无限接近限度样中的标准样;\n\n+色 度样 2、制程巡检产品颜色需同首件颜色一致。\n\n+外 目视、限 1、注塑成型外观缺陷大小不可超出限度样板;\n\n+观 度样 2、其它外观缺陷无限度样的按常规通用标准判定。\n\n+包装 目视 参照注塑作业指导书(SOP)\n\n+仪器 项目 管控标准(mm) 测量位置 频率\n\n+1次/\n\n+卡尺 A 68.16 +0.05/-0.17 外形最长距离\n\n+班\n\n+1次/\n\n+卡尺 B 62.03 +0.05/-0.20 外形最宽距离\n\n+班\n\n+卡尺 C 27.9 +0.03/-0.05 顶部装饰片槽长度 首件\n\n+卡尺 D 18.87 +0.00/-0.10 后钮侧面装饰片槽长度 首件\n\n+卡尺 E 6.70+0.00/-0.05 后钮侧面大卡槽宽度 首件\n\n+尺\n\n+卡尺 F 5.36 +0.00/-0.05 后钮侧面小卡槽顶部宽度 首件\n\n+寸 针规 G 1.20±0.02 针孔内径 6H\n\n+投影仪 H 58.69+0.02/-0.12 针孔中心至外形最宽距离 6H\n\n+卡尺 I 8.35+0.10/-0.05 口部平面至顶部高度 首件\n\n+后钮针孔中分线中心点至前扣弧\n\n+投影仪 J 53.93+0.04/-0.03 6H\n\n+线中心点距离\n\n+1次/\n\n+卡尺 K 18.61±0.05 后钮针孔左右间距\n\n+班\n\n+1次/\n\n+高度规 L*2 4.65+0.00/-0.10 后钮针孔中心至口部平面间距\n\n+班\n\n+产品后钮装饰片槽缺\n\n+口竖边同卡尺贴紧\n\n+68.16 mm 62.03 mm\n\n+产品口部平面同\n\n+产品口部平面同\n\n+卡尺上平面平行\n\n+卡尺上平面平行\n\n+产品后钮装饰片槽缺\n\n+口竖边同卡尺贴紧\n\n+0.00 ~ 300mm卡尺\n\n+参考资料/项目 代码 取样数量 频率 代码 取样数量 频率 注意事项及品质履历\n\n+1.MO25XXXX0100:1#~4#/MO25XXXX0110:5#~12#\n\n+尺\n\n+寸\n\n+组\n\n+组装制程检验标\n\n+1次/ 1次/\n\n+准书 1# 一模 2# 一模\n\n+班 班\n\n+合\n\n+XXXX-\n\n+功\n\n+1次/ 1次/\n\n+3# 一模 5# 一模\n\n+00组装成品 班 班\n\n+能\n\n+1次/\n\n+6# 一模\n\n+班\n\n+日期 版本 工程担当 品质担当 修 订 内 容\n\n+2025/4/11 00 AAAA AAA 初版发行\n\n+修\n\n ---PAGE---\n\n-? ? ????/?? ?? ???? ?? ?? ???? ?? ?????????\n\n-?????????\n\n-XXXX-00???? ?? 1.MO25XXXX0100?1#~4#/MO25XXXX0110?5#~12#\n\n-?? 1# ?? 1?/? 2# ?? 1?/?\n\n-3# ?? 1?/? 5# ?? 1?/?\n\n-6# ?? 1?/?\n\n-???? ?? ?? ???? ???? ? ? ? ?\n\n-2025/4/11 00 AAAA AAA ????\n\n-2025/5/12 01 BBBB BBB A?68.16 ?0.05/?0.13??68.16 ?0.05/?0.17?B?62.03\n\n-?0.05/?0.10??62.03 ?0.05/?0.20?D?18.87 ?0.00/?0.05??18.87\n\n-?0.00/?0.10?I?8.35?0.00/?0.16??8.35?0.10/?0.05?J?53.93?0.00/?0.10??53.93?0.05/?0.10?L\n\n-*2?4.65±0.05??4.65?0.00/?0.10???????\n\n-2025/8/6 02 CCCC CCCC ???????MO25XXXX0110\n\n-2025/11/25 03 DDDD DDDD J?53.93?0.05/?0.10??53.93?0.04/?0.03\n\n-????\n\n-?? ????\n\n-?? ???\n\n-?? ???\n\n-?? ??\n\n+修\n\n+A:68.16 +0.05/-0.13改为68.16 +0.05/-0.17;B:62.03 +0.05/-0.10改为62.03 +0.05/-0.20;D:18.87\n\n+订\n\n++0.00/-0.05改为18.87\n\n+2025/5/12 01 BBBB BBB\n\n+记\n\n++0.00/-0.10;I:8.35+0.00/-0.16改为8.35+0.10/-0.05;J:53.93+0.00/-0.10改为53.93+0.05/-0.10;\n\n+录 L*2:4.65±0.05改成4.65+0.00/-0.10;更新检验频率\n\n+2025/8/6 02 CCCC CCCC 新增模具编号:MO25XXXX0110\n\n+2025/11/25 03 DDDD DDDD J:53.93+0.05/-0.10改为53.93+0.04/-0.03\n\n+研 制\n\n+制 品\n\n+审 发 审 造 审 审 制\n\n+造 保\n\n+核 工 核 工 核 核 作\n\n+部 部\n\n+程 程\n\n ---PAGE---\n\n-Sheet 2\n\n-XXXXXX????\n\n-XXXXXX Co.,Ltd. ???? QA-SIPI-XXXX-01-1-1 ???? QA-FM-051-01\n\n-???? XXXX ???? /\n\n-???? / ???? /\n\n-???????SIP??? ???? / ???? /\n\n-?? ?? ???? ??\n\n-00 45868 ??????NG??1\n\n-?? ?? ???\n+文件编号 QA-SIPI-XXXX-01-1-1 表单编号 QA-FM-051-01\n\n+XXXXXX有限公司\n\n+产品型号 XXXX 部件名称 /\n\n+XXXXXX Co.,Ltd.\n\n+模具编号 / 产品穴号 /\n\n+部件材质 / 附件编号 /\n\n+产品品质履历(SIP附件)\n\n+版本 日期 问题描述 图片\n\n+00 7/30/2025 口部有麻点印NG,图1\n\n+图 1\n\n+---PAGE---\n\n+审 制\n\n+刘伟鹏\n\n+核 作", - "visual_scores": [ - 0.8432, - 0.9736, - 0.5296, + "compared_pages": 3, + "text_similarity": 0.4638, + "flat_text_similarity": 0.0771, + "word_text_similarity": 0.4638, + "text_diff": "--- minipdf/Business expense budget1.pdf\n+++ reference/Business expense budget1.pdf\n@@ -1,42 +1,73 @@\n BUSINESS EXPENSE BUDGET\n\n Fiscal Year 2026 - Quarterly Report\n\n-CATEGORY Q1 BUDGET Q1 ACTUAL Q2 BUDGET Q2 ACTUAL VARIANCE\n\n+CATEGORY Q1 BUDGET Q1 ACTUAL Q2 BUDGET\n\n PERSONNEL\n\n-Salaries & Wages 45000 44200 46000 45800 1000\n\n-Benefits & Insurance 12000 11850 12500 12400 250\n\n-Training & Development 3000 2800 3200 3500 -100\n\n-Recruitment 2000 1500 2500 2200 800\n\n-Personnel Subtotal\n\n+Salaries & Wages 45,000.00 44,200.00 46,000.00\n\n+Benefits & Insurance 12,000.00 11,850.00 12,500.00\n\n+Training & Development 3,000.00 2,800.00 3,200.00\n\n+Recruitment 2,000.00 1,500.00 2,500.00\n\n+Personnel Subtotal 62,000.00 60,350.00 64,200.00\n\n OPERATIONS\n\n-Rent & Utilities 8000 8000 8200 8150 50\n\n-Office Supplies 1500 1650 1500 1400 -50\n\n-Equipment & Maintenance 3000 2700 3500 3800 0\n\n-IT & Software 4000 4200 4500 4300 0\n\n-Telecommunications 2000 1900 2100 2050 150\n\n-Operations Subtotal\n\n+Rent & Utilities 8,000.00 8,000.00 8,200.00\n\n+Office Supplies 1,500.00 1,650.00 1,500.00\n\n+Equipment & Maintenance 3,000.00 2,700.00 3,500.00\n\n+IT & Software 4,000.00 4,200.00 4,500.00\n\n+Telecommunications 2,000.00 1,900.00 2,100.00\n\n+Operations Subtotal 18,500.00 18,450.00 19,800.00\n\n MARKETING\n\n-Advertising 5000 4800 6000 5500 700\n\n-Digital Marketing 3000 3200 3500 3600 -300\n\n-Events & Sponsorships 2000 1800 2500 2800 -100\n\n-Printing & Design 1000 950 1200 1100 150\n\n-Marketing Subtotal\n\n+Advertising 5,000.00 4,800.00 6,000.00\n\n+Digital Marketing 3,000.00 3,200.00 3,500.00\n\n+Events & Sponsorships 2,000.00 1,800.00 2,500.00\n\n+Printing & Design 1,000.00 950.00 1,200.00\n\n+Marketing Subtotal 11,000.00 10,750.00 13,200.00\n\n TRAVEL & ENTERTAINMENT\n\n-Domestic Travel 3000 2500 3500 3200 800\n\n-International Travel 5000 4000 6000 5500 1500\n\n-Meals & Entertainment 2000 1800 2200 2100 300\n\n-Vehicle Expenses 1500 1400 1500 1600 0\n\n-Travel & Entertainment Subtotal\n\n+Domestic Travel 3,000.00 2,500.00 3,500.00\n\n+International Travel 5,000.00 4,000.00 6,000.00\n\n+Meals & Entertainment 2,000.00 1,800.00 2,200.00\n\n+Vehicle Expenses 1,500.00 1,400.00 1,500.00\n\n+Travel & Entertainment Subtotal 11,500.00 9,700.00 13,200.00\n\n PROFESSIONAL SERVICES\n\n-Legal Fees 3000 2800 3500 3200 500\n\n-Accounting & Audit 2500 2500 2500 2500 0\n\n-Consulting 4000 3500 5000 4800 700\n\n-Insurance 2000 2000 2100 2100 0\n\n-Professional Services Subtotal\n\n-GRAND TOTAL\n\n+Legal Fees 3,000.00 2,800.00 3,500.00\n\n+Accounting & Audit 2,500.00 2,500.00 2,500.00\n\n+Consulting 4,000.00 3,500.00 5,000.00\n\n+Insurance 2,000.00 2,000.00 2,100.00\n\n+Professional Services Subtotal 11,500.00 10,800.00 13,100.00\n\n+---PAGE---\n\n+GRAND TOTAL 114,500.00 110,050.00 123,500.00\n\n Category Total Budget Total Actual\n\n Personnel 126200 124250\n\n Operations 38300 38150\n\n Marketing 24200 23750\n\n Travel & Entertainment 24700 22100\n\n+Professional Services 24600 23400\n\n+Budget vs Actual by Category\n\n+Amount (\\$)\n\n+Category\n\n ---PAGE---\n\n-Professional Services 24600 23400\n+Q2 ACTUAL VARIANCE\n\n+45,800.00 1,000.00\n\n+12,400.00 250.00\n\n+3,500.00 -100.00\n\n+2,200.00 800.00\n\n+63,900.00 1,950.00\n\n+8,150.00 50.00\n\n+1,400.00 -50.00\n\n+3,800.00 0.00\n\n+4,300.00 0.00\n\n+2,050.00 150.00\n\n+19,700.00 150.00\n\n+5,500.00 700.00\n\n+3,600.00 -300.00\n\n+2,800.00 -100.00\n\n+1,100.00 150.00\n\n+13,000.00 450.00\n\n+3,200.00 800.00\n\n+5,500.00 1,500.00\n\n+2,100.00 300.00\n\n+1,600.00 0.00\n\n+12,400.00 2,600.00\n\n+3,200.00 500.00\n\n+2,500.00 0.00\n\n+4,800.00 700.00\n\n+2,100.00 0.00\n\n+12,600.00 1,200.00", + "visual_scores": [ + 0.5166, + 0.4059, 0.0 ], - "visual_avg": 0.5866, + "visual_avg": 0.3075, "diff_images": [ { "page": 1, - "minipdf_img": "Issue202609031340_p1_minipdf.png", - "reference_img": "Issue202609031340_p1_reference.png", - "auxiliary_img": "Issue202609031340_p1_libreoffice.png", - "heatmap_img": "Issue202609031340_p1_heatmap.png", + "minipdf_img": "Business expense budget1_p1_minipdf.png", + "reference_img": "Business expense budget1_p1_reference.png", + "auxiliary_img": "Business expense budget1_p1_libreoffice.png", + "heatmap_img": "Business expense budget1_p1_heatmap.png", "heatmap_metrics": { "size_px": [ 1241, 1754 ], "difference_bbox_px": [ - 43, - 55, - 1195, - 1697 + 113, + 127, + 996, + 1614 ], - "changed_pixels": 393040, - "changed_fraction": 0.180566, - "mean_abs_rgb": 27.4393, - "rmse_rgb": 73.7664, + "changed_pixels": 713208, + "changed_fraction": 0.327654, + "mean_abs_rgb": 40.6046, + "rmse_rgb": 86.4236, "threshold": 12, "gain": 5.0 }, - "composite_img": "Issue202609031340_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + "composite_img": "Business expense budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" }, { "page": 2, - "minipdf_img": "Issue202609031340_p2_minipdf.png", - "reference_img": "Issue202609031340_p2_reference.png", - "auxiliary_img": "Issue202609031340_p2_libreoffice.png", - "heatmap_img": "Issue202609031340_p2_heatmap.png", + "minipdf_img": "Business expense budget1_p2_minipdf.png", + "reference_img": "Business expense budget1_p2_reference.png", + "auxiliary_img": "Business expense budget1_p2_libreoffice.png", + "heatmap_img": "Business expense budget1_p2_heatmap.png", "heatmap_metrics": { "size_px": [ 1241, 1754 ], "difference_bbox_px": [ - 43, - 408, - 1195, - 1019 + 114, + 96, + 996, + 1225 ], - "changed_pixels": 79842, - "changed_fraction": 0.03668, - "mean_abs_rgb": 5.9656, - "rmse_rgb": 34.6037, + "changed_pixels": 212045, + "changed_fraction": 0.097415, + "mean_abs_rgb": 14.3262, + "rmse_rgb": 50.0036, "threshold": 12, "gain": 5.0 }, - "composite_img": "Issue202609031340_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + "composite_img": "Business expense budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" }, { "page": 3, - "minipdf_img": "Issue202609031340_p3_minipdf.png", - "reference_img": "Issue202609031340_p3_reference.png", - "auxiliary_img": "Issue202609031340_p3_libreoffice.png", - "heatmap_img": "Issue202609031340_p3_heatmap.png", + "minipdf_img": null, + "reference_img": "Business expense budget1_p3_reference.png", + "auxiliary_img": "Business expense budget1_p3_libreoffice.png", + "composite_img": "Business expense budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.4085 + }, + { + "name": "Business expenses budget2", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Business expenses budget2", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business expenses budget2.xlsx", + "suite": "issue", + "minipdf_size": 23794, + "reference_size": 376973, + "pdf_valid": true, + "minipdf_pages": 14, + "reference_pages": 4, + "compared_pages": 3, + "text_similarity": 0.119, + "flat_text_similarity": 0.1173, + "word_text_similarity": 0.0205, + "text_diff": "--- minipdf/Business expenses budget2.pdf\n+++ reference/Business expenses budget2.pdf\n@@ -1,56 +1,81 @@\n Market Financial Consulting\n\n PLANNED EXPENSES\n\n-January February March April May June July\n\n-EMPLOYEE COSTS 107950 107950 107950 111125 111125 111125 111125\n\n-EMPLOYEE COSTS JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY\n\n-Wages 85000 85000 85000 87500 87500 87500 87500\n\n-Benefits 22950 22950 22950 23625 23625 23625 23625\n\n-OFFICE COSTS 11370 11770 11770 11470 11470 11470 11470\n\n-OFFICE COSTS JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY\n\n-Office lease 9800 9800 9800 9800 9800 9800 9800\n\n-Gas 0 400 400 100 100 100 100\n\n-Electric 300 300 300 300 300 300 300\n\n-Water 40 40 40 40 40 40 40\n\n-Telephone 250 250 250 250 250 250 250\n\n-Internet access 180 180 180 180 180 180 180\n\n-Office supplies 200 200 200 200 200 200 200\n\n-Security 600 600 600 600 600 600 600\n\n-MARKETING COSTS 8100 3100 3100 11100 3100 3900 8100\n\n-MARKETING COSTS JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY\n\n-Web site hosting 500 500 500 500 500 500 500\n\n-Web site updates 200 200 200 200 200 1000 200\n\n-Collateral preparation 5000 0 0 5000 0 0 5000\n\n-Collateral printing 200 200 200 200 200 200 200\n\n-Marketing events 2000 2000 2000 5000 2000 2000 2000\n\n-Miscellaneous expenses 200 200 200 200 200 200 200\n\n-TRAINING / TRAVEL 4000 4000 4000 4000 4000 4000 4000\n\n+January February March April May June July August September October November December Total\n\n+EMPLOYEE COSTS $ 107,950.00 $ 107,950.00 $ 107,950.00 $ 111,125.00 $ 111,125.00 $ 111,125.00 $ 111,125.00 $ 117,348.00 $ 117,348.00 $ 117,348.00 $ 117,348.00 $ 117,348.00 $ 1,355,090.00\n\n+Wages $ 85,000.00 $ 85,000.00 $ 85,000.00 $ 87,500.00 $ 87,500.00 $ 87,500.00 $ 87,500.00 $ 92,400.00 $ 92,400.00 $ 92,400.00 $ 92,400.00 $ 92,400.00 $ 1,067,000.00\n\n+Benefits $ 22,950.00 $ 22,950.00 $ 22,950.00 $ 23,625.00 $ 23,625.00 $ 23,625.00 $ 23,625.00 $ 24,948.00 $ 24,948.00 $ 24,948.00 $ 24,948.00 $ 24,948.00 $ 288,090.00\n\n+OFFICE COSTS $ 11,370.00 $ 11,770.00 $ 11,770.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,770.00 $ 11,770.00 $ 138,740.00\n\n+Office lease $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 117,600.00\n\n+Gas $ - $ 400.00 $ 400.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 400.00 $ 400.00 $ 2,300.00\n\n+Electric $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 3,600.00\n\n+Water $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 480.00\n\n+Telephone $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 3,000.00\n\n+Internet access $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 2,160.00\n\n+Office supplies $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 2,400.00\n\n+Security $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 7,200.00\n\n+MARKETING COSTS $ 8,100.00 $ 3,100.00 $ 3,100.00 $ 11,100.00 $ 3,100.00 $ 3,900.00 $ 8,100.00 $ 6,100.00 $ 3,100.00 $ 8,100.00 $ 3,100.00 $ 6,900.00 $ 67,800.00\n\n+Web site hosting $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 6,000.00\n\n+Web site updates $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 1,000.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 1,000.00 $ 4,000.00\n\n+Collateral preparation $ 5,000.00 $ - $ - $ 5,000.00 $ - $ - $ 5,000.00 $ - $ - $ 5,000.00 $ - $ - $ 20,000.00\n\n+Collateral printing $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 2,400.00\n\n+Marketing events $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 5,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 5,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 5,000.00 $ 33,000.00\n\n+Miscellaneous expenses $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 2,400.00\n\n+TRAINING / TRAVEL $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 48,000.00\n\n+Training classes $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 24,000.00\n\n+Travel costs $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 2,000.00 $ 24,000.00\n\n+MONTHLY TOTAL $ 131,420.00 $ 126,820.00 $ 126,820.00 $ 137,695.00 $ 129,695.00 $ 130,495.00 $ 134,695.00 $ 138,918.00 $ 135,918.00 $ 140,918.00 $ 136,218.00 $ 140,018.00 $ 1,609,630.00\n\n ---PAGE---\n\n-TRAINING/TRAVEL JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY\n\n-Training classes 2000 2000 2000 2000 2000 2000 2000\n\n-Travel costs 2000 2000 2000 2000 2000 2000 2000\n\n-MONTHLY TOTAL 131420 126820 126820 137695 129695 130495 134695\n\n+Market Financial Consulting\n\n+ACTUAL EXPENSES\n\n+January February March April May June July August September October November December Total\n\n+EMPLOYEE COSTS $ 107,950.00 $ 107,950.00 $ 107,950.00 $ 111,760.00 $ 111,760.00 $ 111,760.00 $ - $ - $ - $ - $ - $ - $ 659,130.00\n\n+Wages $ 85,000.00 $ 85,000.00 $ 85,000.00 $ 88,000.00 $ 88,000.00 $ 88,000.00 $ 519,000.00\n\n+Benefits $ 22,950.00 $ 22,950.00 $ 22,950.00 $ 23,760.00 $ 23,760.00 $ 23,760.00 $ 140,130.00\n\n+OFFICE COSTS $ 11,387.00 $ 11,698.00 $ 11,692.00 $ 11,611.00 $ 11,508.00 $ 11,454.00 $ - $ - $ - $ - $ - $ - $ 69,350.00\n\n+Office lease $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 58,800.00\n\n+Gas $ 4.00 $ 430.00 $ 385.00 $ 230.00 $ 87.00 $ 88.00 $ 1,224.00\n\n+Electric $ 288.00 $ 278.00 $ 268.00 $ 299.00 $ 306.00 $ 290.00 $ 1,729.00\n\n+Water $ 35.00 $ 33.00 $ 34.00 $ 36.00 $ 34.00 $ 36.00 $ 208.00\n\n+Telephone $ 224.00 $ 235.00 $ 265.00 $ 245.00 $ 245.00 $ 220.00 $ 1,434.00\n\n+Internet access $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 1,080.00\n\n+Office supplies $ 256.00 $ 142.00 $ 160.00 $ 221.00 $ 256.00 $ 240.00 $ 1,275.00\n\n+Security $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 600.00 $ 3,600.00\n\n+MARKETING COSTS $ 7,545.00 $ 3,556.00 $ 3,123.00 $ 11,223.00 $ 2,987.00 $ 4,725.00 $ - $ - $ - $ - $ - $ - $ 33,159.00\n\n+Web site hosting $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 500.00 $ 3,000.00\n\n+Web site updates $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 1,500.00 $ 2,500.00\n\n+Collateral preparation $ 4,800.00 $ - $ - $ 5,500.00 $ - $ - $ 10,300.00\n\n+Collateral printing $ 100.00 $ 500.00 $ 100.00 $ 100.00 $ 600.00 $ 180.00 $ 1,580.00\n\n+Marketing events $ 1,800.00 $ 2,200.00 $ 2,200.00 $ 4,700.00 $ 1,500.00 $ 2,300.00 $ 14,700.00\n\n+Miscellaneous expenses $ 145.00 $ 156.00 $ 123.00 $ 223.00 $ 187.00 $ 245.00 $ 1,079.00\n\n+TRAINING / TRAVEL $ 2,800.00 $ 4,600.00 $ 2,800.00 $ 2,800.00 $ 2,000.00 $ 6,300.00 $ - $ - $ - $ - $ - $ - $ 21,300.00\n\n+Training classes $ 1,600.00 $ 2,400.00 $ 1,400.00 $ 1,600.00 $ 1,200.00 $ 2,800.00 $ 11,000.00\n\n+Travel costs $ 1,200.00 $ 2,200.00 $ 1,400.00 $ 1,200.00 $ 800.00 $ 3,500.00 $ 10,300.00\n\n+MONTHLY TOTAL $ 129,682.00 $ 127,804.00 $ 125,565.00 $ 137,394.00 $ 128,255.00 $ 134,239.00 $ - $ - $ - $ - $ - $ - $ 782,939.00\n\n ---PAGE---\n\n-August September October November December Total\n\n-117348 117348 117348 117348 117348 1355090\n\n-AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER TOTAL\n\n-92400 92400 92400 92400 92400 1067000\n\n-24948 24948 24948 24948 24948 288090\n\n-11470 11470 11470 11770 11770 138740\n\n-AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER TOTAL\n\n-9800 9800 9800 9800 9800 117600\n\n-100 100 100 400 400 2300\n\n-300 300 300 300 300 3600\n\n-40 40 40 40 40 480\n\n-250 250 250 250 250 3000\n\n-180 180 180 180 180 2160\n\n-200 200 200 200 200 2400\n\n-600 600 600 600 600 7200\n\n-6100 3100 8100 3100 6900 67800\n\n-AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER TOTAL\n\n-500 500 500 500 500 6000\n\n-200 200 200 200 1000 4000\n\n-0 0 5000 0 0 20000\n\n-200 200 200 200 200 2400\n\n-5000 2000 2000 2000 5000 33000\n\n-200 200 200 200 200 2400\n\n-4000 4000 4000 4000 4000 48000\n+Market Financial Consulting\n\n+EXPENSE VARIANCES\n\n+Note: negative values mean actual expense is higher than planned expense\n\n+January February March April May June July August September October November December Total\n\n+EMPLOYEE COSTS $ - $ - $ - $ (635.00) $ (635.00) $ (635.00) $ - $ - $ - $ - $ - $ - $ (1,905.00)\n\n+Wages $ - $ - $ - $ (500.00) $ (500.00) $ (500.00) $ (1,500.00)\n\n+Benefits $ - $ - $ - $ (135.00) $ (135.00) $ (135.00) $ (405.00)\n\n+OFFICE COSTS $ (17.00) $ 72.00 $ 78.00 $ (141.00) $ (38.00) $ 16.00 $ - $ - $ - $ - $ - $ - $ (30.00)\n\n+Office lease $ - $ - $ - $ - $ - $ - $ -\n\n+Gas $ (4.00) $ (30.00) $ 15.00 $ (130.00) $ 13.00 $ 12.00 $ (124.00)\n\n+Electric $ 12.00 $ 22.00 $ 32.00 $ 1.00 $ (6.00) $ 10.00 $ 71.00\n\n+Water $ 5.00 $ 7.00 $ 6.00 $ 4.00 $ 6.00 $ 4.00 $ 32.00\n\n+Telephone $ 26.00 $ 15.00 $ (15.00) $ 5.00 $ 5.00 $ 30.00 $ 66.00\n\n+Internet access $ - $ - $ - $ - $ - $ - $ -\n\n+Office supplies $ (56.00) $ 58.00 $ 40.00 $ (21.00) $ (56.00) $ (40.00) $ (75.00)\n\n+Security $ - $ - $ - $ - $ - $ - $ -\n\n+MARKETING COSTS $ 555.00 $ (456.00) $ (23.00) $ (123.00) $ 113.00 $ (825.00) $ - $ - $ - $ - $ - $ - $ (759.00)\n\n+Web site hosting $ - $ - $ - $ - $ - $ - $ -\n\n+Web site updates $ - $ - $ - $ - $ - $ (500.00) $ (500.00)\n\n+Collateral preparation $ 200.00 $ - $ - $ (500.00) $ - $ - $ (300.00)\n\n+Collateral printing $ 100.00 $ (300.00) $ 100.00 $ 100.00 $ (400.00) $ 20.00 $ (380.00)\n\n+Marketing events $ 200.00 $ (200.00) $ (200.00) $ 300.00 $ 500.00 $ (300.00) $ 300.00\n\n+Miscellaneous expenses $ 55.00 $ 44.00 $ 77.00 $ (23.00) $ 13.00 $ (45.00) $ 121.00\n\n+TRAINING / TRAVEL $ 1,200.00 $ (600.00) $ 1,200.00 $ 1,200.00 $ 2,000.00 $ (2,300.00) $ - $ - $ - $ - $ - $ - $ 2,700.00\n\n+Training classes $ 400.00 $ (400.00) $ 600.00 $ 400.00 $ 800.00 $ (800.00) $ 1,000.00\n\n+Travel costs $ 800.00 $ (200.00) $ 600.00 $ 800.00 $ 1,200.00 $ (1,500.00) $ 1,700.00\n\n+MONTHLY VARIANCE $ 1,738.00 $ (984.00) $ 1,255.00 $ 301.00 $ 1,440.00 $ (3,744.00) $ - $ - $ - $ - $ - $ - $ 6.00", + "visual_scores": [ + 0.1015, + 0.0571, + 0.0839 + ], + "visual_avg": 0.0808, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Business expenses budget2_p1_minipdf.png", + "reference_img": "Business expenses budget2_p1_reference.png", + "auxiliary_img": "Business expenses budget2_p1_libreoffice.png", + "heatmap_img": "Business expenses budget2_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 119, + 75, + 1522, + 1124 + ], + "changed_pixels": 1364636, + "changed_fraction": 0.626925, + "mean_abs_rgb": 31.7307, + "rmse_rgb": 60.2052, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Business expenses budget2_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Business expenses budget2_p2_minipdf.png", + "reference_img": "Business expenses budget2_p2_reference.png", + "auxiliary_img": "Business expenses budget2_p2_libreoffice.png", + "heatmap_img": "Business expenses budget2_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 119, + 75, + 1548, + 1163 + ], + "changed_pixels": 1454906, + "changed_fraction": 0.668396, + "mean_abs_rgb": 34.4136, + "rmse_rgb": 69.4077, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Business expenses budget2_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "Business expenses budget2_p3_minipdf.png", + "reference_img": "Business expenses budget2_p3_reference.png", + "auxiliary_img": "Business expenses budget2_p3_libreoffice.png", + "heatmap_img": "Business expenses budget2_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 113, + 75, + 1598, + 1163 + ], + "changed_pixels": 1422146, + "changed_fraction": 0.653345, + "mean_abs_rgb": 35.8669, + "rmse_rgb": 62.5559, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Business expenses budget2_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.1799 + }, + { + "name": "Business plan checklist with SWOT analysis1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Business plan checklist with SWOT analysis1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Business plan checklist with SWOT analysis1.xlsx", + "suite": "issue", + "minipdf_size": 3625, + "reference_size": 64252, + "pdf_valid": true, + "minipdf_pages": 1, + "reference_pages": 1, + "compared_pages": 3, + "text_similarity": 0.8729, + "flat_text_similarity": 0.2238, + "word_text_similarity": 0.8729, + "text_diff": "--- minipdf/Business plan checklist with SWOT analysis1.pdf\n+++ reference/Business plan checklist with SWOT analysis1.pdf\n@@ -1,27 +1,37 @@\n Northwind Traders\n\n Business planning checklist\n\n-Using the strength, weakness, opportunity, and threat (SWOT) analysis framework,\n\n-develop a checklist of the key activities that need to be performed when preparing a\n\n-formal business plan in the table, below.\n\n+Using the strength, weakness, opportunity, and threat (SWOT) analysis framework, develop a checklist of the key activities\n\n+that need to be performed when preparing a formal business plan in the table, below.\n\n Activity Owner Completion date\n\n-Strengths: Define the company's current mission statement. Luca Richter 44935\n\n-Strengths: Identify market segments in which the company will participate by\n\n-conducting primary and secondary market research. Dylan Williams 44935\n\n-Strengths: Identify the company's value proposition and how it will differentiate\n\n-itself within the marketplace. Kristin Orav 44942\n\n-Weaknesses: Identify any barriers to market entry (for example, capital\n\n-requirements, technical barriers, patents, and process barriers) that the company\n\n-needs to overcome. Flora Berggren 44932\n\n-Weaknesses: Identify any risks inherent to the organization that need to be\n\n-mitigated so that the company can realize the business plan. Flora Berggren 44932\n\n-Opportunities: Identify areas where the current market is underserved that provide\n\n-an opportunity for the company. Kristin Orav 44932\n\n-Opportunities: Identify any key processes, intellectual capital, or other resources\n\n-that the company can use to its advantage in the marketplace. Ian Hansson 44935\n\n-Threats: Identify primary competitors, and then analyze competitor performance by\n\n-using all available data and additional data that can be verified. Gaurav Cheema\n\n-44935\n\n-Threats: Identify secondary and potential future competitors that might affect the\n\n-business plan. Chela Arapelli 44942\n\n-Threats: Develop strategies for mitigating primary and secondary competitive\n\n-threats. Gaurav Cheema 44942\n+Strengths: Define the company's current mission\n\n+Luca Richter 1/9/2023\n\n+statement.\n\n+Strengths: Identify market segments in which the\n\n+company will participate by conducting primary and Dylan Williams 1/9/2023\n\n+secondary market research.\n\n+Strengths: Identify the company's value proposition and\n\n+Kristin Orav 1/16/2023\n\n+how it will differentiate itself within the marketplace.\n\n+Weaknesses: Identify any barriers to market entry (for\n\n+example, capital requirements, technical barriers, patents,\n\n+Flora Berggren 1/6/2023\n\n+and process barriers) that the company needs to\n\n+overcome.\n\n+Weaknesses: Identify any risks inherent to the\n\n+organization that need to be mitigated so that the company Flora Berggren 1/6/2023\n\n+can realize the business plan.\n\n+Opportunities: Identify areas where the current market is\n\n+Kristin Orav 1/6/2023\n\n+underserved that provide an opportunity for the company.\n\n+Opportunities: Identify any key processes, intellectual\n\n+capital, or other resources that the company can use to its Ian Hansson 1/9/2023\n\n+advantage in the marketplace.\n\n+Threats: Identify primary competitors, and then analyze\n\n+competitor performance by using all available data and Gaurav Cheema 1/9/2023\n\n+additional data that can be verified.\n\n+Threats: Identify secondary and potential future\n\n+Chela Arapelli 1/16/2023\n\n+competitors that might affect the business plan.\n\n+Threats: Develop strategies for mitigating primary and\n\n+Gaurav Cheema 1/16/2023\n\n+secondary competitive threats.", + "visual_scores": [ + 0.2639 + ], + "visual_avg": 0.2639, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Business plan checklist with SWOT analysis1_p1_minipdf.png", + "reference_img": "Business plan checklist with SWOT analysis1_p1_reference.png", + "auxiliary_img": "Business plan checklist with SWOT analysis1_p1_libreoffice.png", + "heatmap_img": "Business plan checklist with SWOT analysis1_p1_heatmap.png", "heatmap_metrics": { "size_px": [ 1241, 1754 ], "difference_bbox_px": [ - 42, - 40, - 1196, - 1712 + 92, + 62, + 1175, + 1428 ], - "changed_pixels": 195416, - "changed_fraction": 0.089776, - "mean_abs_rgb": 13.8327, - "rmse_rgb": 51.7867, + "changed_pixels": 904603, + "changed_fraction": 0.415582, + "mean_abs_rgb": 28.7516, + "rmse_rgb": 65.6476, "threshold": 12, "gain": 5.0 }, - "composite_img": "Issue202609031340_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + "composite_img": "Business plan checklist with SWOT analysis1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.6547 + }, + { + "name": "Event budget1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Event budget1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Event budget1.xlsx", + "suite": "issue", + "minipdf_size": 8388, + "reference_size": 121223, + "pdf_valid": true, + "minipdf_pages": 4, + "reference_pages": 5, + "compared_pages": 3, + "text_similarity": 0.712, + "flat_text_similarity": 0.7084, + "word_text_similarity": 0.6364, + "text_diff": "--- minipdf/Event budget1.pdf\n+++ reference/Event budget1.pdf\n@@ -1,68 +1,41 @@\n ABOUT THIS TEMPLATE\n\n-Use this event budget workbook to track expenses incurred on and income earned from\n\n-an event.\n\n+Use this event budget workbook to track expenses incurred on and income earned from an\n\n+event.\n\n Enter details in tables in expenses worksheet and income worksheet.\n\n Total expenses and total income are auto-calculated.\n\n Profit & loss summary and chart are auto-updated in profit-loss summary worksheet.\n\n-Note:Â\n\n-Additional instructions have been provided in column A in each worksheet. This text\n\n-has been intentionally hidden. To remove text, select column A, then select DELETE.\n\n-To learn more about tables, press SHIFT and then F10 within a table, select the\n\n-TABLE option, and then select ALTERNATIVE TEXT\n\n+Note:\n\n+Additional instructions have been provided in column A in each worksheet. This text has been\n\n+intentionally hidden. To remove text, select column A, then select DELETE.\n\n+To learn more about tables, press SHIFT and then F10 within a table, select the TABLE option, and\n\n+then select ALTERNATIVE TEXT\n\n ---PAGE---\n\n-Event budget EXPENSES\n\n-TOTAL EXPENSES Estimated Actual\n\n-882 333\n\n-Site Estimated Actual Refreshments Estimated Actual\n\n-Room and hall fees 500 Food\n\n-Site staff Drinks 20\n\n-Equipment Linens 20\n\n-Tables and chairs Staff and gratuities\n\n-Total 500 0 Total 20 20\n\n-Decorations Estimated Actual Program Estimated Actual\n\n-Flowers 200 300 Performers\n\n-Candles Speakers 30\n\n-Lighting Travel\n\n-Balloons Hotel\n\n-Paper supplies Other\n\n-Total 200 300 Total 30 0\n\n-Publicity Estimated Actual Prizes Estimated Actual\n\n-Graphics work Ribbons/Plaques/Trophies\n\n-Photocopying/Printing 20 Gifts 100\n\n-Postage Total 100 0\n\n-Total 20 0\n\n+Event budget EXPENSES\n\n+Estimated Actual\n\n+TOTAL EXPENSES\n\n+$882.00 $333.00\n\n+Site Estimated Actual Refreshments Estimated Actual\n\n+Room and hall fees $500.00 Food\n\n+Site staff Drinks $20.00\n\n+Equipment Linens $20.00\n\n+Tables and chairs Staff and gratuities\n\n+Total $500.00 $0.00 Total $20.00 $20.00\n\n+Decorations Estimated Actual Program Estimated Actual\n\n+Flowers $200.00 $300.00 Performers\n\n+Candles Speakers $30.00\n\n+Lighting Travel\n\n+Balloons Hotel\n\n+Paper supplies Other\n\n+Total $200.00 $300.00 Total $30.00 $0.00\n\n+Publicity Estimated Actual Prizes Estimated Actual\n\n+Graphics work Ribbons/Plaques/Trophies\n\n+Photocopying/Printing $20.00 Gifts $100.00\n\n+Postage Total $100.00 $0.00\n\n+Total $20.00 $0.00\n\n Miscellaneous Estimated Actual\n\n-Telephone 13\n\n-Transportation 12\n\n+Telephone $13.00\n\n+Transportation $12.00\n\n Stationery supplies\n\n Fax services\n\n-Total 12 13\n\n----PAGE---\n\n-Event budget INCOME\n\n-TOTAL INCOME Estimated Actual\n\n-1936 1831\n\n-ADMISSIONS\n\n-Estimated no. Actual no. Type Price Estimated income Actual income\n\n-300 278 Adults @ 5 1500 1390\n\n-197 195 Children @ 2 394 390\n\n-42 51 Other @ 1 42 51\n\n-Total 1936 1831\n\n-ADS IN PROGRAM\n\n-Estimated no. Actual no. Type Price Estimated income Actual income\n\n-Covers @ 0 0\n\n-Half-pages @ 0 0\n\n-Quarter-pages @ 0 0\n\n-Total 0 0\n\n-EXHIBITORS/VENDORS\n\n-Estimated no. Actual no. Type Price Estimated income Actual income\n\n-Large booths @ 0 0\n\n-Med. booths @ 0 0\n\n-Small booths @ 0 0\n\n-Total 0 0\n\n-SALE OF ITEMS\n\n-Estimated no. Actual no. Type Price Estimated income Actual income\n\n-Items @ 0 0\n\n-Items @ 0 0\n\n-Items @ 0 0\n\n-Items @ 0 0\n\n-Total 0 0\n+Total $12.00 $13.00\n\n+---PAGE---", + "visual_scores": [ + 0.7837, + 0.0528, + 0.8679 + ], + "visual_avg": 0.5681, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Event budget1_p1_minipdf.png", + "reference_img": "Event budget1_p1_reference.png", + "auxiliary_img": "Event budget1_p1_libreoffice.png", + "heatmap_img": "Event budget1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 73, + 153, + 1165, + 726 + ], + "changed_pixels": 135911, + "changed_fraction": 0.062439, + "mean_abs_rgb": 6.8047, + "rmse_rgb": 36.6761, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Event budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" }, { - "page": 4, - "minipdf_img": null, - "reference_img": "Issue202609031340_p4_reference.png", - "auxiliary_img": "Issue202609031340_p4_libreoffice.png", - "composite_img": "Issue202609031340_p4_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + "page": 2, + "minipdf_img": "Event budget1_p2_minipdf.png", + "reference_img": "Event budget1_p2_reference.png", + "auxiliary_img": "Event budget1_p2_libreoffice.png", + "heatmap_img": "Event budget1_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 66, + 143, + 1173, + 1625 + ], + "changed_pixels": 1635662, + "changed_fraction": 0.751436, + "mean_abs_rgb": 26.4964, + "rmse_rgb": 51.019, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Event budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "Event budget1_p3_minipdf.png", + "reference_img": "Event budget1_p3_reference.png", + "auxiliary_img": "Event budget1_p3_libreoffice.png", + "heatmap_img": "Event budget1_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 66, + 114, + 1172, + 1176 + ], + "changed_pixels": 98805, + "changed_fraction": 0.045392, + "mean_abs_rgb": 4.3527, + "rmse_rgb": 29.2246, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Event budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.612 + }, + { + "name": "Expense report basic1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Expense report basic1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Expense report basic1.xlsx", + "suite": "issue", + "minipdf_size": 3725, + "reference_size": 47896, + "pdf_valid": true, + "minipdf_pages": 2, + "reference_pages": 1, + "compared_pages": 3, + "text_similarity": 0.6403, + "flat_text_similarity": 0.6403, + "word_text_similarity": 0.5667, + "text_diff": "--- minipdf/Expense report basic1.pdf\n+++ reference/Expense report basic1.pdf\n@@ -1,27 +1,23 @@\n+For Office Use Only\n\n EXPENSE REPORT\n\n GENERAL INFORMATION\n\n-Purpose Budget overview preparation Statement Number 1123 Pay Period from: 10/1/2023\n\n+Purpose Budget overview preparation Statement Number 1123 Pay Period from: 10/1/2023 to: 11/1/2023\n\n EMPLOYEE INFORMATION\n\n-Name Cora Thomas Position Sales rep SSN 123-45-****\n\n-Department Marketing & sales Manager Liane Cormier Employee ID 8675309\n\n-Date Account Description Hotel Transport Fuel Meals Phone\n\n-45204 Wide World Importers Networking 111 250 60 50 0\n\n-Total 111 250 60 50 0\n\n-APPROVED NOTES\n\n----PAGE---\n\n-For Office Use Only\n\n-to: 11/1/2023\n\n-Entertainment Misc. Total\n\n-300 25 796\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-300 25 796\n\n-Subtotal 796\n\n-Advances 0\n\n-Total 796\n+Name Cora Thomas Position Sales rep SSN 123-45-****\n\n+Department Marketing & sales Manager Liane Cormier Employee ID 8675309\n\n+Date Account Description Hotel Transport Fuel Meals Phone Entertainment Misc. Total\n\n+10/5/2023 Wide World Importers Networking $111.00 $250.00 $60.00 $50.00 $0.00 $300.00 $25.00 $796.00\n\n+$0.00\n\n+$0.00\n\n+$0.00\n\n+$0.00\n\n+$0.00\n\n+$0.00\n\n+$0.00\n\n+$0.00\n\n+Total $111.00 $250.00 $60.00 $50.00 $0.00 $300.00 $25.00 $796.00\n\n+Subtotal $796.00\n\n+Advances $0.00\n\n+APPROVED\n\n+NOTES\n\n+Total $796.00", + "visual_scores": [ + 0.0775, + 0.0 + ], + "visual_avg": 0.0387, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Expense report basic1_p1_minipdf.png", + "reference_img": "Expense report basic1_p1_reference.png", + "auxiliary_img": "Expense report basic1_p1_libreoffice.png", + "heatmap_img": "Expense report basic1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 63, + 62, + 1690, + 853 + ], + "changed_pixels": 1282706, + "changed_fraction": 0.589286, + "mean_abs_rgb": 13.123, + "rmse_rgb": 31.937, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Expense report basic1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Expense report basic1_p2_minipdf.png", + "reference_img": null, + "auxiliary_img": null + } + ], + "overall_score": 0.3716 + }, + { + "name": "Grocery list1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Grocery list1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Grocery list1.xlsx", + "suite": "issue", + "minipdf_size": 4576, + "reference_size": 71396, + "pdf_valid": true, + "minipdf_pages": 2, + "reference_pages": 1, + "compared_pages": 3, + "text_similarity": 0.7676, + "flat_text_similarity": 0.2034, + "word_text_similarity": 0.7676, + "text_diff": "--- minipdf/Grocery list1.pdf\n+++ reference/Grocery list1.pdf\n@@ -1,26 +1,28 @@\n+ORCHARD GROCERY HOME DELIVERY LOCAL MARKET OTHER GRAND TOTAL\n\n GROCERY LIST\n\n-ORCHARD GROCERY HOME DELIVERY LOCAL MARKET OTHER GRAND TOTAL\n\n-Customize this list. Replace the entries above with your own to track your most\n\n-frequently used categories. 11.95 6.1150000000000002 31.85 216.60000000000002 3.99\n\n-270.505\n\n+Customize this list. Replace the entries above with your own to track your\n\n+$11.95 $6.12 $31.85 $216.60 $3.99 $270.51\n\n+most frequently used categories.\n\n DONE? ITEM STORE CATEGORY QTY UNIT UNIT PRICE TOTAL NOTE\n\n-Yes Peaches Azure River Farm ORCHARD 2 lbs 2.99 5.98\n\n-Yes Apples Azure River Farm ORCHARD 3 lbs 1.99 5.97 Have coupon\n\n-Bananas Wide World Importers OTHER 1 bunch 3.99 3.99\n\n-Yes Lettuce Market LOCAL MARKET 2 head 2.29 4.58\n\n-Tomatoes Market LOCAL MARKET 4 lbs 3.49 13.96\n\n-Yes Squash Market LOCAL MARKET 2 each 1.5 3\n\n-Yes Celery Wide World Importers LOCAL MARKET 2 bunch 1.99 3.98\n\n-Cucumber Market LOCAL MARKET 1 lbs 2.29 2.29\n\n-Mushrooms Wide World Importers GROCERY 0.5 lbs 2.25 1.125\n\n-Yes Milk Local Farmer HOME DELIVERY 2 gal 3.99 7.98\n\n-Yes Cheese Local Farmer HOME DELIVERY 1 lbs 9.99 9.99 Variety of block cheeses\n\n-Yes Eggs Local Farmer HOME DELIVERY 2 doz 3.5 7\n\n-Yes Cottage cheese Local Farmer HOME DELIVERY 1 16 oz 3.89 3.89\n\n-Yes Sour cream Local Farmer HOME DELIVERY 1 8 oz 2.99 2.99\n\n-Yogurt Wide World Importers GROCERY 1 16 oz 4.99 4.99 Greek with honey\n\n-Beef Farmer's Market LOCAL MARKET 10 lbs 7.99 79.900000000000006 Bacon wrapped\n\n+Yes Peaches Azure River Farm ORCHARD 2 lbs $2.99 $5.98\n\n+Yes Apples Azure River Farm ORCHARD 3 lbs $1.99 $5.97 Have coupon\n\n+Bananas Wide World Importers OTHER 1 bunch $3.99 $3.99\n\n+Yes Lettuce Market LOCAL MARKET 2 head $2.29 $4.58\n\n+Tomatoes Market LOCAL MARKET 4 lbs $3.49 $13.96\n\n+Yes Squash Market LOCAL MARKET 2 each $1.50 $3.00\n\n+Yes Celery Wide World Importers LOCAL MARKET 2 bunch $1.99 $3.98\n\n+Cucumber Market LOCAL MARKET 1 lbs $2.29 $2.29\n\n+Mushrooms Wide World Importers GROCERY 0.5 lbs $2.25 $1.13\n\n+Yes Milk Local Farmer HOME DELIVERY 2 gal $3.99 $7.98\n\n+Variety of block\n\n+Yes Cheese Local Farmer HOME DELIVERY 1 lbs $9.99 $9.99\n\n+cheeses\n\n+Yes Eggs Local Farmer HOME DELIVERY 2 doz $3.50 $7.00\n\n+Yes Cottage cheese Local Farmer HOME DELIVERY 1 16 oz $3.89 $3.89\n\n+Yes Sour cream Local Farmer HOME DELIVERY 1 8 oz $2.99 $2.99\n\n+Yogurt Wide World Importers GROCERY 1 16 oz $4.99 $4.99 Greek with honey\n\n+Bacon wrapped\n\n+Beef Farmer's Market LOCAL MARKET 10 lbs $7.99 $79.90\n\n filets\n\n-Wild Salmon Fish Market LOCAL MARKET 6 lbs 8.99 53.94\n\n-Alaskan King Crab Legs Fish Market LOCAL MARKET 5 lbs 10.99 54.95\n\n----PAGE---\n+Wild Salmon Fish Market LOCAL MARKET 6 lbs $8.99 $53.94\n\n+Alaskan King Crab Legs Fish Market LOCAL MARKET 5 lbs $10.99 $54.95", + "visual_scores": [ + 0.1902, + 0.0 + ], + "visual_avg": 0.0951, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Grocery list1_p1_minipdf.png", + "reference_img": "Grocery list1_p1_reference.png", + "auxiliary_img": "Grocery list1_p1_libreoffice.png", + "heatmap_img": "Grocery list1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 52, + 77, + 1187, + 930 + ], + "changed_pixels": 920813, + "changed_fraction": 0.423029, + "mean_abs_rgb": 25.5452, + "rmse_rgb": 59.2982, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Grocery list1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Grocery list1_p2_minipdf.png", + "reference_img": null, + "auxiliary_img": null + } + ], + "overall_score": 0.4451 + }, + { + "name": "Issue202609031340", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Issue202609031340", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Issue202609031340.xlsx", + "suite": "issue", + "minipdf_size": 27541, + "reference_size": 346206, + "pdf_valid": true, + "minipdf_pages": 12, + "reference_pages": 4, + "compared_pages": 3, + "text_similarity": 0.1715, + "flat_text_similarity": 0.1715, + "word_text_similarity": 0.053, + "text_diff": "--- minipdf/Issue202609031340.pdf\n+++ reference/Issue202609031340.pdf\n@@ -1,71 +1,109 @@\n-XXXXXX????\n\n-?????????\n\n-???? XXXX ???? ????\n\n-???? MO25XXXX0100/MO25XXXX0110 ???? PETG\n\n-???? ??????:45°-90°,????30cm,??900~1200lux\n\n-?? ???? ????\n\n-?? ??????PPS 1?????????????????PPS?????\n\n-2????????????????????\n\n-?? ?????? 1?????????????????????\n\n-2??????????????????\n\n-?? ?????? 1????????????????????\n\n-2??????????????????????\n\n-?? ?? ??????????SOP?\n\n-? ? ?? ?? ????(mm) ????\n\n-?? A 68.16 ?0.05/?0.17 ??????\n\n-?? B 62.03 ?0.05/?0.20 ??????\n\n-?? C 27.9 ?0.03/?0.05 ????????\n\n-?? D 18.87 ?0.00/?0.10 ??????????\n\n-?? E 6.70?0.00/?0.05 ?????????\n\n-?? F 5.36 ?0.00/?0.05 ???????????\n\n-?? G 1.20±0.02 ????\n\n-??? H 58.69?0.02/?0.12 ???????????\n\n-?? I 8.35?0.10/?0.05 ?????????\n\n-??? J 53.93?0.04/?0.03 ????????????????????\n\n-?? K 18.61±0.05 ????????\n\n-??? L*2 4.65?0.00/?0.10 ?????????????\n\n-? ? ????/?? ?? ????\n\n-?????????\n\n-XXXX-00???? ??\n\n-?? 1# ??\n\n+表单编号 XXX-XXX-051-01\n\n+XXXXXX有限公司 文件编号QA-SIPI-XXXX-01-1-1\n\n+发行日期 2025-04-11\n\n+文件版本 03 修订日期 2025-11-25\n\n+产品穴号 详见注意事项 产品单重 20.45±1.05 g\n\n+注塑制程检验标准书\n\n+¢1.18*10MM(320度加强\n\n+附件编号 / 销钉规格\n\n+型)\n\n+产品型号 XXXX 部件名称 盖塑胶件 抽样计划 ANSI/ASQ Z1.4Ⅱ 巡检频率 2H/次\n\n+MO25XXXX0100/MO\n\n+模具编号 部件材质 PETG 允收水准 CR: 0 MA:1.0 MI: 2.0\n\n+25XXXX0110\n\n+检验条件 检验光源角度:45°-90°,检验距离30cm,光照900~1200lux\n\n+参考 图纸文件编号:XXXX系列 内部图纸 2025.4.10\n\n+项目 检验工具 巡检内容\n\n+图 部件图纸编号:HKXXXX-01-RB\n\n+结 目视、图 1、首件样品整模结构符合图纸设计、同PPS结构一致;\n\n+构 纸、PPS 2、制程巡检整模产品结构需同首件结构一致。\n\n+颜 目视、限 1、首件样品颜色需无限接近限度样中的标准样;\n\n+色 度样 2、制程巡检产品颜色需同首件颜色一致。\n\n+外 目视、限 1、注塑成型外观缺陷大小不可超出限度样板;\n\n+观 度样 2、其它外观缺陷无限度样的按常规通用标准判定。\n\n+包装 目视 参照注塑作业指导书(SOP)\n\n+仪器 项目 管控标准(mm) 测量位置 频率\n\n+1次/\n\n+卡尺 A 68.16 +0.05/-0.17 外形最长距离\n\n+班\n\n+1次/\n\n+卡尺 B 62.03 +0.05/-0.20 外形最宽距离\n\n+班\n\n+卡尺 C 27.9 +0.03/-0.05 顶部装饰片槽长度 首件\n\n+卡尺 D 18.87 +0.00/-0.10 后钮侧面装饰片槽长度 首件\n\n+卡尺 E 6.70+0.00/-0.05 后钮侧面大卡槽宽度 首件\n\n+尺\n\n+卡尺 F 5.36 +0.00/-0.05 后钮侧面小卡槽顶部宽度 首件\n\n+寸 针规 G 1.20±0.02 针孔内径 6H\n\n+投影仪 H 58.69+0.02/-0.12 针孔中心至外形最宽距离 6H\n\n+卡尺 I 8.35+0.10/-0.05 口部平面至顶部高度 首件\n\n+后钮针孔中分线中心点至前扣弧\n\n+投影仪 J 53.93+0.04/-0.03 6H\n\n+线中心点距离\n\n+1次/\n\n+卡尺 K 18.61±0.05 后钮针孔左右间距\n\n+班\n\n+1次/\n\n+高度规 L*2 4.65+0.00/-0.10 后钮针孔中心至口部平面间距\n\n+班\n\n+产品后钮装饰片槽缺\n\n+口竖边同卡尺贴紧\n\n+68.16 mm 62.03 mm\n\n+产品口部平面同\n\n+产品口部平面同\n\n+卡尺上平面平行\n\n+卡尺上平面平行\n\n+产品后钮装饰片槽缺\n\n+口竖边同卡尺贴紧\n\n+0.00 ~ 300mm卡尺\n\n+参考资料/项目 代码 取样数量 频率 代码 取样数量 频率 注意事项及品质履历\n\n+1.MO25XXXX0100:1#~4#/MO25XXXX0110:5#~12#\n\n+尺\n\n+寸\n\n+组\n\n+组装制程检验标\n\n+1次/ 1次/\n\n+准书 1# 一模 2# 一模\n\n+班 班\n\n+合\n\n+XXXX-\n\n+功\n\n+1次/ 1次/\n\n+3# 一模 5# 一模\n\n+00组装成品 班 班\n\n+能\n\n+1次/\n\n+6# 一模\n\n+班\n\n+日期 版本 工程担当 品质担当 修 订 内 容\n\n+2025/4/11 00 AAAA AAA 初版发行\n\n+修\n\n ---PAGE---\n\n-3# ??\n\n-6# ??\n\n-???? ?? ?? ???? ???? ? ? ? ?\n\n-2025/4/11 00 AAAA AAA ????\n\n-2025/5/12 01 BBBB BBB A?68.16 ?0.05/?0.13??68.16 ?0.05/?0.17?B?62.03\n\n-?0.05/?0.10??62.03 ?0.05/?0.20?D?18.87 ?0.00/?0.05??18.87\n\n-?0.00/?0.10?I?8.35?0.00/?0.16??8.35?0.10/?0.05?J?53.93?0.00/?0.10??53.93?0.05/?0.10?L\n\n-*2?4.65±0.05??4.65?0.00/?0.10???????\n\n-2025/8/6 02 CCCC CCCC ???????MO25XXXX0110\n\n-2025/11/25 03 DDDD DDDD J?53.93?0.05/?0.10??53.93?0.04/?0.03\n\n-????\n\n-?? ????\n\n-??\n\n+修\n\n+A:68.16 +0.05/-0.13改为68.16 +0.05/-0.17;B:62.03 +0.05/-0.10改为62.03 +0.05/-0.20;D:18.87\n\n+订\n\n++0.00/-0.05改为18.87\n\n+2025/5/12 01 BBBB BBB\n\n+记\n\n++0.00/-0.10;I:8.35+0.00/-0.16改为8.35+0.10/-0.05;J:53.93+0.00/-0.10改为53.93+0.05/-0.10;\n\n+录 L*2:4.65±0.05改成4.65+0.00/-0.10;更新检验频率\n\n+2025/8/6 02 CCCC CCCC 新增模具编号:MO25XXXX0110\n\n+2025/11/25 03 DDDD DDDD J:53.93+0.05/-0.10改为53.93+0.04/-0.03\n\n+研 制\n\n+制 品\n\n+审 发 审 造 审 审 制\n\n+造 保\n\n+核 工 核 工 核 核 作\n\n+部 部\n\n+程 程\n\n ---PAGE---\n\n-???? QA-SIPI-XXXX-01-1-1\n\n-???? 03\n\n-???? ??????\n\n-???? /\n\n-???? ANSI/ASQ Z1.4?\n\n-???? CR: 0 MA:1.0 MI: 2.0\n\n-??? ???????XXXX?? ???? 2025.4.10\n\n-???????HKXXXX-01-RB\n\n-??\n\n-1?/?\n\n-1?/?\n\n-??\n\n-??\n\n-??\n\n-??\n\n-6H\n\n-6H\n\n-??\n\n-6H\n\n-1?/?\n\n-1?/?\n\n-?? ?? ???? ?? ?????????\n\n-1.MO25XXXX0100?1#~4#/MO25XXXX0110?5#~12#\n\n-1?/? 2# ?? 1?/?\n\n-1?/? 5# ?? 1?/?\n\n-1?/?\n+文件编号 QA-SIPI-XXXX-01-1-1 表单编号 QA-FM-051-01\n\n+XXXXXX有限公司\n\n+产品型号 XXXX 部件名称 /\n\n+XXXXXX Co.,Ltd.\n\n+模具编号 / 产品穴号 /\n\n+部件材质 / 附件编号 /\n\n+产品品质履历(SIP附件)\n\n+版本 日期 问题描述 图片\n\n+00 7/30/2025 口部有麻点印NG,图1\n\n+图 1", + "visual_scores": [ + 0.6451, + 0.9437, + 0.5526 + ], + "visual_avg": 0.7138, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Issue202609031340_p1_minipdf.png", + "reference_img": "Issue202609031340_p1_reference.png", + "auxiliary_img": "Issue202609031340_p1_libreoffice.png", + "heatmap_img": "Issue202609031340_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 43, + 55, + 1195, + 1697 + ], + "changed_pixels": 308117, + "changed_fraction": 0.141551, + "mean_abs_rgb": 20.8209, + "rmse_rgb": 63.7361, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Issue202609031340_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Issue202609031340_p2_minipdf.png", + "reference_img": "Issue202609031340_p2_reference.png", + "auxiliary_img": "Issue202609031340_p2_libreoffice.png", + "heatmap_img": "Issue202609031340_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 43, + 96, + 1195, + 1014 + ], + "changed_pixels": 72213, + "changed_fraction": 0.033175, + "mean_abs_rgb": 5.4394, + "rmse_rgb": 33.0551, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Issue202609031340_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "Issue202609031340_p3_minipdf.png", + "reference_img": "Issue202609031340_p3_reference.png", + "auxiliary_img": "Issue202609031340_p3_libreoffice.png", + "heatmap_img": "Issue202609031340_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 42, + 40, + 1196, + 1712 + ], + "changed_pixels": 204317, + "changed_fraction": 0.093865, + "mean_abs_rgb": 14.5276, + "rmse_rgb": 53.193, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Issue202609031340_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.4541 + }, + { + "name": "payroll-calculator_f", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "payroll-calculator_f", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/payroll-calculator_f.xlsx", + "suite": "issue", + "minipdf_size": 151678, + "reference_size": 606513, + "pdf_valid": true, + "minipdf_pages": 72, + "reference_pages": 29, + "compared_pages": 3, + "text_similarity": 0.2914, + "flat_text_similarity": 0.2586, + "word_text_similarity": 0.2914, + "text_diff": "--- minipdf/payroll-calculator_f.pdf\n+++ reference/payroll-calculator_f.pdf\n@@ -1,17 +1,49 @@\n Employee Register\n\n-Information contained in this employee register is highly confidential\n\n-ID Employee's Name M/F Hire Date Occupation Annual\n\n-Salary\n\n-($) Regular\n\n-Hourly\n\n-Rate ($) Overtime\n\n-Hourly\n\n-Rate ($) Exempt\n\n-from\n\n-Overtime\n\n-1 Adam Jones M 41320 Senior Accountant 42000 20.190000000000001 30.29 Yes\n\n-2 Nichola Brown F 40814 CR Manager 54481 26.19 39.29 Yes\n\n-3 Benny Erwin M 40674 Applications PM 48785 23.45 35.18 No\n\n+Information contained in this employee register is highly confidential Filing Status (W-4 before 2020) Filing St\n\n+Step 2\n\n+Additional Amount to\n\n+Annual Regular Overtime Exempt\n\n+Pay Federal Withhold\n\n+ID Employee's Name M/F Hire Date Occupation Salary Hourly Hourly from W-4 Form Filing Status Filing Status\n\n+Frequency Allowance (With every paycheck)\n\n+($) Rate ($) Rate ($) Overtime Box in (c)\n\n+($)\n\n+1 Adam Jones M 15-Feb-13 Senior Accountant 42,000.00 20.19 30.29 Yes Monthly W-4 (2020 or later) Exempt 2 50 Single Not Checked\n\n+2 Nichola Brown F 28-Sep-11 CR Manager 54,481.00 26.19 39.29 Yes Monthly W-4 (2020 or later) Married 4 Single Not Checked\n\n+3 Benny Erwin M 11-May-11 Applications PM 48,785.00 23.45 35.18 No Monthly W-4 (before 2020) Married 4\n\n+When adding more rows, insert new rows above this one\n\n+Page 1 of 29\n\n ---PAGE---\n\n-When adding more rows, insert new rows above this one\n\n----PAGE---\n+tatus (W-4 from 2020 or later) Pre-Tax Adjustments Post-Tax Adjustments Post-Tax Deductions\n\n+Step 3 Step 4\n\n+Tax Deferral Plan Health Insurance Other State Local Other Social\n\n+(b) (c) Exempt from Insurance\n\n+(401k) Premiums Withholdings Tax Tax Deductions Address Security\n\n+Dependents Other Deductions Extra FICA ($)\n\n+(%) ($) ($) (%) (%) ($) #\n\n+Under Age 17 Dependents ($) withholding\n\n+($)\n\n+100 50 4.00% - - Not Exempt 4.63% 0.00% 45.00 - 111 Street, Town/City, ST, 00000 ***-**-6789\n\n+3.00% - - Not Exempt 4.63% 0.00% 42.00 - 111 Street, Town/City, ST, 00000 ***-**-4321\n\n+4.50% - - Not Exempt 4.63% 0.00% 14.00 30.00 111 Street, Town/City, ST, 00000 ***-**-0000\n\n+Page 2 of 29\n\n+---PAGE---\n\n+© 2013 - 2026 Spreadsheet123 LTD\n\n+Payroll Calculator\n\n+Disclaimer:\n\n+This template is provided as-is for\n\n+informational, illustrative, or/and\n\n+educational purposes only and under no\n\n+circumstances should be construed as\n\n+financial, legal, or tax advice.\n\n+The results provided by this calculator are\n\n+only estimates and may not apply to your\n\n+specific situation.\n\n+Spreadsheet123 LTD strongly\n\n+recommends seeking the advice of\n\n+qualified professionals regarding financial\n\n+or legal decisions.\n\n+Spreadsheet123 LTD reserves the right to\n\n+make changes to this software without\n\n+notification.\n\n+Page 3 of 29", + "visual_scores": [ + 0.1859, + 0.2134, + 0.5094 + ], + "visual_avg": 0.3029, + "diff_images": [ + { + "page": 1, + "minipdf_img": "payroll-calculator_f_p1_minipdf.png", + "reference_img": "payroll-calculator_f_p1_reference.png", + "auxiliary_img": "payroll-calculator_f_p1_libreoffice.png", + "heatmap_img": "payroll-calculator_f_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 105, + 31, + 1578, + 1160 + ], + "changed_pixels": 533042, + "changed_fraction": 0.244884, + "mean_abs_rgb": 25.9896, + "rmse_rgb": 60.2138, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "payroll-calculator_f_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "payroll-calculator_f_p2_minipdf.png", + "reference_img": "payroll-calculator_f_p2_reference.png", + "auxiliary_img": "payroll-calculator_f_p2_libreoffice.png", + "heatmap_img": "payroll-calculator_f_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 105, + 30, + 1477, + 1160 + ], + "changed_pixels": 388000, + "changed_fraction": 0.17825, + "mean_abs_rgb": 20.297, + "rmse_rgb": 54.8465, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "payroll-calculator_f_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "payroll-calculator_f_p3_minipdf.png", + "reference_img": "payroll-calculator_f_p3_reference.png", + "auxiliary_img": "payroll-calculator_f_p3_libreoffice.png", + "heatmap_img": "payroll-calculator_f_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 104, + 30, + 913, + 1160 + ], + "changed_pixels": 100655, + "changed_fraction": 0.046242, + "mean_abs_rgb": 3.7021, + "rmse_rgb": 23.4894, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "payroll-calculator_f_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.3377 + }, + { + "name": "PO_anonymized", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "PO_anonymized", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/PO_anonymized.xlsx", + "suite": "issue", + "minipdf_size": 616365, + "reference_size": 409049, + "pdf_valid": true, + "minipdf_pages": 235, + "reference_pages": 9, + "compared_pages": 3, + "text_similarity": 0.2925, + "flat_text_similarity": 0.2925, + "word_text_similarity": 0.2815, + "text_diff": "--- minipdf/PO_anonymized.pdf\n+++ reference/PO_anonymized.pdf\n@@ -1,96 +1,140 @@\n Final Inspection Report\n\n-Client: Global Tech Supplier:\n\n-XXX office: TX Inspector:\n\n-PM: Avery Wilson Inspection Site:\n\n-Project#: XXBFNO6 Inspection date:\n\n-Date of Manufacture:\n\n-Item#: XX-ABC-68878-C\n\n-Description: Standard Component Assembly with Seal Insert\n\n-Sign-off sample: Yes Approved drawings\n\n-Ship mark Yes Approved ranges\n\n-Inspection Result: Accept\n\n-( Comment:\n\n+Client: Global Tech Supplier: Alpha Labs Client PO#: PO-XX328\n\n+XXX office: TX Inspector: Sam Davis XXX PO#: 21668732\n\n+PM: Avery Wilson Inspection Site: Greenfield county, Metro city PO Quantity: N/A\n\n+Project#: XXBFNO6 Inspection date: 24-Jan-2026 Batch Quantity: 88907PCS\n\n+Date of Manufacture: 1/18/2026~1/21/2026 Lot ID: 9928-539898(1st lot)\n\n+Item#: XX-ABC-68878-C\n\n+Description: Standard Component Assembly with Seal Insert\n\n+Sign-off sample: Yes Approved drawings Yes (Drawing#: K1VRJNVG REV: C )\n\n+Ship mark Yes Approved ranges Yes Ship to TBA\n\n+Inspection Result: Accept\n\n+Re-inspection: No\n\n+( Comment: )\n\n Inspection Result Summary\n\n-Check points Sample size Comment\n\n-Dimension 20 Conformed\n\n-Aesthetics 500 Conformed\n\n-Color 500 Conformed\n\n-Material N/A\n\n-Decoration 500 Conformed\n\n-Packaging N/A\n\n-Labeling N/A\n\n-Assortment N/A\n\n-Ship mark 1 Conformed\n\n-Workmanship 500 Conformed\n\n-Function 20 Conformed\n\n+Check points Sample size Comment Remark\n\n+Dimension 20 Conformed\n\n+Aesthetics 500 Conformed\n\n+Color 500 Conformed\n\n+Material N/A\n\n+Decoration 500 Conformed\n\n+Packaging N/A\n\n+Labeling N/A\n\n+Assortment N/A\n\n+Ship mark 1 Conformed\n\n+Workmanship 500 Conformed\n\n+Function 20 Conformed\n\n Aesthetic Inspection\n\n-Inspection method: ANSI/ASQ Z1.4 Sampling plan:\n\n----PAGE---\n\n-Acceptable Quality Level (AQL): Critical A:\n\n-Sample size: 500\n\n-Opened carton No.: No carton#\n\n-No. Defects description\n\n-1 K. Seal gap\n\n-2 J. Thread irregularity\n\n+Inspection method: ANSI/ASQ Z1.4 Sampling plan: Single sampling normal inspection Sampling level: Level 2\n\n+Acceptable Quality Level (AQL): Critical A: 0 Critical B: 0.65 Major: 1.5 Minor: 4.0\n\n+Sample size: 500 No. of carton drawn: 10\n\n+Opened carton No.: No carton#\n\n+No. Defects description Cri. A Cri. B Major Minor\n\n+1 K. Seal gap 1 1\n\n+2 J. Thread irregularity 3\n\n 3\n\n 4\n\n 5\n\n 6\n\n 7\n\n-8\n\n-9\n\n-10\n\n-11\n\n-12\n\n-13\n\n-14\n\n-15\n\n-16\n\n-17\n\n-18\n\n-19\n\n-20\n\n-Total Defectives\n\n-Maximum Defectives\n\n-Inspection qty: >80%\n\n-Item# XXX PO No. Batch qty.\n\n-XX-ABC-57052-C 71662963 61859\n\n-Total:\n\n+Total Defectives 1 4\n\n+Maximum Defectives 0 7 14 21\n\n+Inspection qty: >80%\n\n+Inspection quantity No. of carton\n\n+Item# XXX PO No. Batch qty.\n\n+Packed Unpacked Packed Unpacked\n\n+XX-ABC-57052-C 71662963 61,859 41,466 8,462 61 16\n\n+Total: 41,466 8,462 61 16\n\n+Doc#: FIR-003.5\n\n+Effective: 20171109 Page 1 of 9\n\n ---PAGE---\n\n+Final Inspection Report\n\n+Client: Global Tech Supplier: Alpha Labs Client PO#: PO-XX328\n\n+XXX office: TX Inspector: Sam Davis XXX PO#: 21668732\n\n+PM: Avery Wilson Inspection Site: Greenfield county, Metro city PO Quantity: N/A\n\n+Project#: XXBFNO6 Inspection date: 24-Jan-2026 Batch Quantity: 88907PCS\n\n+Date of Manufacture: 1/18/2026~1/21/2026 Lot ID: 9928-539898(1st lot)\n\n+Item#: XX-ABC-68878-C\n\n+Description: Standard Component Assembly with Seal Insert\n\n Carton Check\n\n-Check point\n\n-Quantity per carton: Part C & Insert\n\n-Dimension of carton (cm): L x W X H\n\n-Weight of carton (Kg): Gross/Net\n\n-Scan the barcode number: (Result: N/A )\n\n-Quantity per carton:\n\n-Dimension of carton (cm): L x W X H\n\n-Weight of carton (Kg): Gross/Net\n\n-Scan the barcode number: (Result: N/A )\n\n-Quantity per carton: liner\n\n-Dimension of carton (cm): L x W X H\n\n-Weight of carton (Kg): Gross/Net\n\n-Scan the barcode number: (Result: N/A )\n\n-Quantity per carton:\n\n-Dimension of carton (cm): L x W X H\n\n-Weight of carton (Kg): Gross/Net\n\n-Scan the barcode number: (Result: )\n\n-Quantity per carton:\n\n-Dimension of carton (cm): L x W X H\n\n-Weight of carton (Kg): Gross/Net\n\n-Scan the barcode number: (Result: )\n\n-Dimension and Function check - Sampling level:\n\n-Sample size:\n\n+Check point Inner carton Outer carton\n\n+Quantity per carton: Part C & Insert 619\n\n+Dimension of carton (cm): L x W X H x x 47 x 32 x 43\n\n+Weight of carton (Kg): Gross/Net / 15.3 / 14\n\n+Scan the barcode number: (Result: N/A )\n\n+Dimension and Function check - Sampling level: S-2\n\n+Sample size: 13+7\n\n Dimension chart\n\n-Measure 1 2 3 4\n\n+Measure\n\n+1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n\n Standard\n\n-Part A Length 26.66 25.73 25.55 25.29\n\n-35.38±0.16(mm)\n\n-Part A Width 25.66 25.13 25.61 25.23\n\n-47.37±0.31(in)\n\n-Part B Thick 12.93 12.6 12.63 13.07\n\n-31.75±0.33(cm)\n\n-Part B Diam 11.08 10.93 11.18 11.46\n\n-34.58±0.3(cm)\n\n-Part C OD 21.49 21.04 20.84 20.86\n\n-47.06±0.14(in)\n+Part A Length\n\n+26.66 25.73 25.55 25.29 26.17 26.19 26.71 26.5 26.51 25.78 25.85 26.53 25 25.78 25.59 25.52 26.62 27 25.28 26.25\n\n+35.38±0.16(mm)\n\n+Part A Width\n\n+25.66 25.13 25.61 25.23 26.19 26.04 25.13 25.38 25.9 25.05 26.06 25.84 25.41 25.04 26.4 25.75 26.06 25.29 25.74 26.23\n\n+47.37±0.31(in)\n\n+Part B Thick\n\n+12.93 12.6 12.63 13.07 12.82 12.94 12.74 12.89 12.76 13.27 12.65 12.84 13.02 13.22 12.62 12.6 12.97 12.9 12.82 12.99\n\n+31.75±0.33(cm)\n\n+Part B Diam\n\n+11.08 10.93 11.18 11.46 11.23 10.84 11.34 11.26 11.29 10.99 11.03 10.9 10.76 11.25 11.24 11.41 11.28 11.13 10.84 11.21\n\n+34.58±0.3(cm)\n\n+Part C OD\n\n+21.49 21.04 20.84 20.86 20 21.08 21.4 21.08 20.41 20.89 20.43 21.64 21.52 21.44 20.8 20.45 21.49 21.62 20.53 21.01\n\n+47.06±0.14(in)\n\n+Part C ID\n\n+126.15 131.51 131.49 126.58 129.29 129.91 127.64 132.23 128.91 127.19 129.78 131.35 127.22 128.01 133.22 130.59 129.02 129.68 126.57 127.38\n\n+19.14±0.17(mm)\n\n+Part D Height\n\n+checked by ø4.56 and ø4.64 pin gauges , all within spec.\n\n+35.23±0.18(cm)\n\n+Part D Width\n\n+46.81±0.47(mm)\n\n+1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n\n+Standard\n\n+Part E Length\n\n+4.46 5.63 5.8 3.54 4.68 5.95 5 4.53 4.71 6 4.8 4.97 4.43 5 5.15 4.72 4.99 5.9 5.12 5.19\n\n+25.62±0.5(mm)\n\n+Part E Diam\n\n+>5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5\n\n+8.3±0.15(cm)\n\n+Part F OD\n\n+5.42 5.19 5.64 4.37 5.54 5.09 5.44 5.88 5.62 5.16 5.4 5.61 5.87 5.71 5.12 5.32 4.46 4.18 5.42 5.07\n\n+10.96±0.21(mm)\n\n+Part F Thick\n\n+4.56 4.03 4.55 4.26 4.66 4.02 4.43 4.66 3.68 4.13 4.43 5.41 3.74 3.87 4.11 3.84 3.88 2.87 4.65 3.82\n\n+44.57±0.22(mm)\n\n+Part G Width\n\n+>7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5 >7.5\n\n+24.72±0.29(cm)\n\n+Part G Height\n\n+OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK\n\n+32.53±0.49(in)\n\n+Part H Length\n\n+OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK\n\n+28.8±0.35(in)\n\n+Part H OD\n\n+>5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5 >5\n\n+18.47±0.35(mm)\n\n+Tape test&Cross hatch\n\n+OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK\n\n+16.9±0.45(in)\n\n+OFC\n\n+13.64 14.08 14.11 13.75 13.88 13.32 13.63 14.19 13.87 13.73 13.9 13.43 13.77 13.7 13.99 13.32 14.08 13.35 13.44 13.78\n\n+29.9±0.17(in)\n\n+Date: 3/6/2026\n\n+Doc#: FIR-003.5\n\n+Effective: 20171109 Page 2 of 9\n\n+---PAGE---\n\n+Final Inspection Report\n\n+Client: Global Tech Supplier: Alpha Labs Client PO#: PO-XX328\n\n+XXX office: TX Inspector: Sam Davis XXX PO#: 21668732\n\n+PM: Avery Wilson Inspection Site: Greenfield county, Metro city PO Quantity: N/A\n\n+Project#: XXBFNO6 Inspection date: 24-Jan-2026 Batch Quantity: 88907PCS\n\n+Date of Manufacture: 1/18/2026~1/21/2026 Lot ID: 9928-539898(1st lot)\n\n+Item#: XX-ABC-68878-C\n\n+Description: Standard Component Assembly with Seal Insert\n\n+Authorized QC Inspector of XXX\n\n+Doc#: FIR-003.5\n\n+Effective: 20171109 Page 3 of 9", + "visual_scores": [ + 0.2961, + 0.2157, + 0.7943 + ], + "visual_avg": 0.4354, + "diff_images": [ + { + "page": 1, + "minipdf_img": "PO_anonymized_p1_minipdf.png", + "reference_img": "PO_anonymized_p1_reference.png", + "auxiliary_img": "PO_anonymized_p1_libreoffice.png", + "heatmap_img": "PO_anonymized_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 61, + 74, + 1173, + 1713 + ], + "changed_pixels": 964775, + "changed_fraction": 0.443225, + "mean_abs_rgb": 26.8133, + "rmse_rgb": 66.7456, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "PO_anonymized_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "PO_anonymized_p2_minipdf.png", + "reference_img": "PO_anonymized_p2_reference.png", + "auxiliary_img": "PO_anonymized_p2_libreoffice.png", + "heatmap_img": "PO_anonymized_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 61, + 74, + 1172, + 1713 + ], + "changed_pixels": 1231858, + "changed_fraction": 0.565926, + "mean_abs_rgb": 30.9125, + "rmse_rgb": 72.3477, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "PO_anonymized_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "PO_anonymized_p3_minipdf.png", + "reference_img": "PO_anonymized_p3_reference.png", + "auxiliary_img": "PO_anonymized_p3_libreoffice.png", + "heatmap_img": "PO_anonymized_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 61, + 74, + 1171, + 1713 + ], + "changed_pixels": 215742, + "changed_fraction": 0.099114, + "mean_abs_rgb": 9.5758, + "rmse_rgb": 42.4002, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "PO_anonymized_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.3912 + }, + { + "name": "Simple invoice1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Simple invoice1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Simple invoice1.xlsx", + "suite": "issue", + "minipdf_size": 3009, + "reference_size": 94130, + "pdf_valid": true, + "minipdf_pages": 1, + "reference_pages": 1, + "compared_pages": 3, + "text_similarity": 0.897, + "flat_text_similarity": 0.897, + "word_text_similarity": 0.8738, + "text_diff": "--- minipdf/Simple invoice1.pdf\n+++ reference/Simple invoice1.pdf\n@@ -1,22 +1,21 @@\n-Elegant INVOICE\n\n-Embrace Invoice #: 10654\n\n-Invoice date: 46097\n\n+Elegant INVOICE\n\n+Invoice #: 10654\n\n+Embrace Invoice date: 8/29/2026\n\n Job: Wedding florals\n\n-345 W Main Bill to: Hailey Clark\n\n-Los Angeles, CA 14151 Address: 123 Avenue A,\n\n-P: 915-555-0195 Burbank, CA 56789\n\n-F: 915-555-0105 Phone: 805-555-0185\n\n-elegantembrace@example.com Fax: NA\n\n+345 W Main Bill to: Hailey Clark\n\n+Los Angeles, CA 14151 Address: 123 Avenue A,\n\n+P: 915-555-0195 Burbank, CA 56789\n\n+F: 915-555-0105 Phone: 805-555-0185\n\n+elegantembrace@example.com Fax: NA\n\n Item # Description Qty Unit price Discount Price\n\n-A875 Peonies 35 1.05 36.75\n\n-K245 Tulips 25 2 50\n\n-U123 Buttercup 30 1.35 40.5\n\n-Invoice Subtotal 127.25\n\n-Tax Rate 0.06\n\n-Sales Tax 7.6349999999999998\n\n-Deposit Received 50\n\n-TOTAL 77.25\n\n+A875 Peonies 35 $1.05 $36.75\n\n+K245 Tulips 25 $2.00 $50.00\n\n+U123 Buttercup 30 $1.35 $40.50\n\n+Invoice Subtotal $127.25\n\n+Tax Rate 6.00%\n\n+Sales Tax $7.64\n\n+Deposit Received $50.00\n\n+TOTAL $77.25\n\n Please make all checks payable to Elegant Embrace.\n\n-Total due in 90 days. Overdue accounts subject to a service charge of 1.5% per\n\n-month.\n\n+Total due in 90 days. Overdue accounts subject to a service charge of 1.5% per month.\n\n elegantembrace@example.com | www.interestingsite.com", + "visual_scores": [ + 0.0661 + ], + "visual_avg": 0.0661, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Simple invoice1_p1_minipdf.png", + "reference_img": "Simple invoice1_p1_reference.png", + "auxiliary_img": "Simple invoice1_p1_libreoffice.png", + "heatmap_img": "Simple invoice1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 41, + 114, + 1198, + 1446 + ], + "changed_pixels": 1540507, + "changed_fraction": 0.707721, + "mean_abs_rgb": 24.9744, + "rmse_rgb": 57.8848, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Simple invoice1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.5852 + }, + { + "name": "Small business cash flow forecast1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Small business cash flow forecast1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Small business cash flow forecast1.xlsx", + "suite": "issue", + "minipdf_size": 12465, + "reference_size": 93247, + "pdf_valid": true, + "minipdf_pages": 6, + "reference_pages": 5, + "compared_pages": 3, + "text_similarity": 0.4982, + "flat_text_similarity": 0.4982, + "word_text_similarity": 0.3572, + "text_diff": "--- minipdf/Small business cash flow forecast1.pdf\n+++ reference/Small business cash flow forecast1.pdf\n@@ -1,53 +1,53 @@\n ELBIDE REALTY\n\n Cash flow forecast\n\n-Starting cash on hand 10000 Starting date 46113 Cash minimum balance alert\n\n-46113 46143 46174 46204 46235 46266 46296\n\n-Cash on hand (beginning of month) 10000 8050 9350 890 2190 13590 13790\n\n+Starting cash on hand $ 10,000.00 Starting date Sep 2026 Cash minimum balance alert $ 2,000.00\n\n+Sep 2026 Oct 2026 Nov 2026 Dec 2026 Jan 2027 Feb 2027 Mar 2027 Apr 2027 May 2027 Jun 2027 Jul 2027 Aug 2027\n\n+Total\n\n+Cash on hand (beginning of month) $ 10,000.00 $ 8,050.00 $ 9,350.00 $ 890.00 $ 2,190.00 $ 13,590.00 $ 13,790.00 $ 15,290.00 $ 16,410.00 $ 14,360.00 $ 16,560.00 $ 18,780.00\n\n Cash receipts\n\n-Cash sales 2500 3000 3600 3000 14000 6000 3000\n\n-Returns and allowances 200\n\n-Collections on accounts receivable\n\n-Interest, other income\n\n-Loan proceeds\n\n-Owner contributions\n\n-Other receipts\n\n-Total cash receipts 2500 3000 3400 3000 14000 6000 3000\n\n-Total cash available 12500 11050 12750 3890 16190 19590 16790\n\n+Cash sales $ 2,500.00 $ 3,000.00 $ 3,600.00 $ 3,000.00 $ 14,000.00 $ 6,000.00 $ 3,000.00 $ 2,800.00 $ 3,500.00 $ 4,000.00 $ 3,800.00 $ 4,200.00 $ 53,400.00\n\n+Returns and allowances $ 200.00 $ 200.00\n\n+Collections on accounts receivable $ -\n\n+Interest, other income $ -\n\n+Loan proceeds $ -\n\n+Owner contributions $ -\n\n+Other receipts $ -\n\n+Total cash receipts $ 2,500.00 $ 3,000.00 $ 3,400.00 $ 3,000.00 $ 14,000.00 $ 6,000.00 $ 3,000.00 $ 2,800.00 $ 3,500.00 $ 4,000.00 $ 3,800.00 $ 4,200.00 $ 53,600.00\n\n+Total cash available $ 12,500.00 $ 11,050.00 $ 12,750.00 $ 3,890.00 $ 16,190.00 $ 19,590.00 $ 16,790.00 $ 18,090.00 $ 19,910.00 $ 18,360.00 $ 20,360.00 $ 22,980.00\n\n Cash paid out\n\n-Advertising 3000\n\n-Commissions and fees 250 300 360 300 1400 400 300\n\n-Contract labor 200 200 200\n\n-Employee benefit programs\n\n-Insurance (other than health) 4000 4000\n\n-Interest expense\n\n-Materials and supplies (in COGS) 1200 1200 7500 1200 1200 1200 1200\n\n-Meals and entertainment\n\n-Mortgage interest\n\n-Office expense\n\n-Other interest expense\n\n-Pension and profit-sharing plan\n\n-Purchases for resale\n\n-Rent or lease\n\n-Rent or lease: vehicles, equipment\n\n-Repairs and maintenance\n\n-Supplies (not in COGS)\n\n-Taxes and licenses\n\n-Travel\n\n-Utilities\n\n-Wages (less emp. credits)\n\n-Other expenses\n\n-Other expenses\n\n-Other expenses\n\n-Miscellaneous\n\n----PAGE---\n\n-Subtotal 4450 1700 11860 1700 2600 5800 1500\n\n-Loan principal payment\n\n-Capital purchases\n\n-Other startup costs\n\n-To reserve and/or escrow\n\n-Owners' withdrawal\n\n-Total cash paid out 4450 1700 11860 1700 2600 5800 1500\n\n-Cash on hand (end of month) 8050 9350 890 2190 13590 13790 15290\n\n+Advertising $ 3,000.00 $ 3,000.00\n\n+Commissions and fees $ 250.00 $ 300.00 $ 360.00 $ 300.00 $ 1,400.00 $ 400.00 $ 300.00 $ 280.00 $ 350.00 $ 400.00 $ 380.00 $ 420.00 $ 5,140.00\n\n+Contract labor $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 1,200.00\n\n+Employee benefit programs $ -\n\n+Insurance (other than health) $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 4,000.00 $ 16,000.00\n\n+Interest expense $ -\n\n+Materials and supplies (in COGS) $ 1,200.00 $ 1,200.00 $ 7,500.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 1,200.00 $ 20,700.00\n\n+Meals and entertainment $ -\n\n+Mortgage interest $ -\n\n+Office expense $ -\n\n+Other interest expense $ -\n\n+Pension and profit-sharing plan $ -\n\n+Purchases for resale $ -\n\n+Rent or lease $ -\n\n+Rent or lease: vehicles, equipment $ -\n\n+Repairs and maintenance $ -\n\n+Supplies (not in COGS) $ -\n\n+Taxes and licenses $ -\n\n+Travel $ -\n\n+Utilities $ -\n\n+Wages (less emp. credits) $ -\n\n+Other expenses $ -\n\n+Other expenses $ -\n\n+Other expenses $ -\n\n+Miscellaneous $ -\n\n+Subtotal $ 4,450.00 $ 1,700.00 $ 11,860.00 $ 1,700.00 $ 2,600.00 $ 5,800.00 $ 1,500.00 $ 1,680.00 $ 5,550.00 $ 1,800.00 $ 1,580.00 $ 5,820.00 $ 46,040.00\n\n+Loan principal payment $ -\n\n+Capital purchases $ -\n\n+Other startup costs $ -\n\n+To reserve and/or escrow $ -\n\n+Owners' withdrawal $ -\n\n+Total cash paid out $ 4,450.00 $ 1,700.00 $ 11,860.00 $ 1,700.00 $ 2,600.00 $ 5,800.00 $ 1,500.00 $ 1,680.00 $ 5,550.00 $ 1,800.00 $ 1,580.00 $ 5,820.00 $ 46,040.00\n\n+Cash on hand (end of month) $ 8,050.00 $ 9,350.00 $ 890.00 $ 2,190.00 $ 13,590.00 $ 13,790.00 $ 15,290.00 $ 16,410.00 $ 14,360.00 $ 16,560.00 $ 18,780.00 $ 17,160.00\n\n Other operating data\n\n Sales volume (dollars)\n\n Accounts receivable balance\n\n@@ -56,40 +56,27 @@\n Accounts payable balance\n\n Depreciation\n\n ---PAGE---\n\n-2000\n\n-46327 46357 46388 46419 46447 Total\n\n-15290 16410 14360 16560 18780\n\n-2800 3500 4000 3800 4200 53400\n\n-200\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-2800 3500 4000 3800 4200 53600\n\n-18090 19910 18360 20360 22980\n\n-3000\n\n-280 350 400 380 420 5140\n\n-200 200 200 1200\n\n-0\n\n-4000 4000 16000\n\n-0\n\n-1200 1200 1200 1200 1200 20700\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n\n-0\n+ELBIDE REALTY\n\n+Cash flow forecast\n\n+Month Cash on hand $20,000\n\n+September 2026 $ 10,000.00 $18,000\n\n+October 2026 $ 8,050.00\n\n+$16,000\n\n+November 2026 $ 9,350.00\n\n+$14,000\n\n+December 2026 $ 890.00\n\n+$12,000\n\n+January 2027 $ 2,190.00\n\n+$10,000\n\n+February 2027 $ 13,590.00\n\n+$8,000\n\n+March 2027 $ 13,790.00\n\n+April 2027 $ 15,290.00 $6,000\n\n+May 2027 $ 16,410.00\n\n+$4,000\n\n+June 2027 $ 14,360.00\n\n+$2,000\n\n+July 2027 $ 16,560.00\n\n+$-\n\n+August 2027 $ 18,780.00 Sep Oct Nov Dec Jan Feb Mar Apr May\n\n+---PAGE---", + "visual_scores": [ + 0.2625, + 0.2878, + 0.9824 + ], + "visual_avg": 0.5109, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Small business cash flow forecast1_p1_minipdf.png", + "reference_img": "Small business cash flow forecast1_p1_reference.png", + "auxiliary_img": "Small business cash flow forecast1_p1_libreoffice.png", + "heatmap_img": "Small business cash flow forecast1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 66, + 77, + 1173, + 1614 + ], + "changed_pixels": 867731, + "changed_fraction": 0.398643, + "mean_abs_rgb": 29.8099, + "rmse_rgb": 68.9976, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Small business cash flow forecast1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Small business cash flow forecast1_p2_minipdf.png", + "reference_img": "Small business cash flow forecast1_p2_reference.png", + "auxiliary_img": "Small business cash flow forecast1_p2_libreoffice.png", + "heatmap_img": "Small business cash flow forecast1_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1241 + ], + "difference_bbox_px": [ + 119, + 67, + 1084, + 1071 + ], + "changed_pixels": 478661, + "changed_fraction": 0.310802, + "mean_abs_rgb": 42.0921, + "rmse_rgb": 87.7954, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Small business cash flow forecast1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "Small business cash flow forecast1_p3_minipdf.png", + "reference_img": "Small business cash flow forecast1_p3_reference.png", + "auxiliary_img": "Small business cash flow forecast1_p3_libreoffice.png", + "heatmap_img": "Small business cash flow forecast1_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1241 + ], + "difference_bbox_px": [ + 113, + 112, + 1084, + 1142 + ], + "changed_pixels": 20814, + "changed_fraction": 0.013515, + "mean_abs_rgb": 2.0894, + "rmse_rgb": 20.3324, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Small business cash flow forecast1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.5036 + }, + { + "name": "Wedding_timeline_planner1_copy", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Wedding_timeline_planner1_copy", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Wedding_timeline_planner1_copy.xlsx", + "suite": "issue", + "minipdf_size": 10835, + "reference_size": 180076, + "pdf_valid": true, + "minipdf_pages": 3, + "reference_pages": 8, + "compared_pages": 3, + "text_similarity": 0.8286, + "flat_text_similarity": 0.8174, + "word_text_similarity": 0.8286, + "text_diff": "--- minipdf/Wedding_timeline_planner1_copy.pdf\n+++ reference/Wedding_timeline_planner1_copy.pdf\n@@ -1,91 +1,121 @@\n Wedding timeline planner\n\n DONE?\n\n-9 - 12 ? Arrange a gathering for you and your parents.\n\n-? Determine budget and how expenses will be shared.\n\n-MONTHS TO GO ? Discuss the size, style, location, and scope of the wedding you\n\n-want.\n\n-? Choose a target wedding date and time. (The actual date will depend on venue\n\n-availability.)\n\n-? Create a binder to store and organize ideas, worksheets, receipts, brochures,\n\n-etc.\n\n-? Visit and reserve wedding and reception sites.\n\n-? Meet with your officiant.\n\n-? Start compiling your guest list to estimate head count. Consider budget when\n\n-thinking about ?must-invites? versus ?nice-to-invites.?\n\n-? Begin shopping for the wedding gown.\n\n-6 - 9 ? Choose the members of your wedding party.\n\n-? Enroll in wedding/shower gift registries.\n\n-MONTHS TO GO ? Hire a photographer and a videographer.\n\n-? Book an engagement photo session, especially if you plan to include a\n\n+☐ Arrange a gathering for you and your parents.\n\n+9 - 12\n\n+☐ Determine budget and how expenses will be shared.\n\n+MONTHS TO GO\n\n+☐ Discuss the size, style, location, and scope of the wedding you want.\n\n+Choose a target wedding date and time. (The actual date will depend\n\n+☐\n\n+on venue availability.)\n\n+Create a binder to store and organize ideas, worksheets, receipts,\n\n+☐\n\n+brochures, etc.\n\n+☐ Visit and reserve wedding and reception sites.\n\n+☐ Meet with your officiant.\n\n+Start compiling your guest list to estimate head count. Consider\n\n+☐\n\n+budget when thinking about “must-invites” versus “nice-to-invites.”\n\n+☐ Begin shopping for the wedding gown.\n\n+☐ Choose the members of your wedding party.\n\n+6 - 9\n\n+☐ Enroll in wedding/shower gift registries.\n\n+MONTHS TO GO\n\n+☐ Hire a photographer and a videographer.\n\n+Book an engagement photo session, especially if you plan to include a\n\n+☐\n\n professional engagement picture with Save-the-Date cards.\n\n-? Hire a caterer.\n\n-? Hire a florist.\n\n-? Make arrangements for music to be played at the ceremony and reception. (Tasks\n\n-might include booking a band or solo musician, hiring a DJ, choosing significant\n\n-musical selections, and so on.).\n\n-? Reserve a block of hotel rooms for out-of-town guests. (Ask about group\n\n-rates.)\n\n-? Send out Save-the-Date cards. (Include lodging info and maps, as possible.)\n\n-? Shop for wedding rings.\n\n-? Select and order wedding gown, leaving ample time for delivery and\n\n+☐ Hire a caterer.\n\n+☐ Hire a florist.\n\n+Make arrangements for music to be played at the ceremony and\n\n+☐ reception. (Tasks might include booking a band or solo musician,\n\n+hiring a DJ, choosing significant musical selections, and so on.).\n\n+Reserve a block of hotel rooms for out-of-town guests. (Ask about\n\n+☐\n\n+group rates.)\n\n+Send out Save-the-Date cards. (Include lodging info and maps, as\n\n+☐\n\n+possible.)\n\n+☐ Shop for wedding rings.\n\n+Select and order wedding gown, leaving ample time for delivery and\n\n+☐\n\n alterations.\n\n-? Shop for bridesmaids dresses.\n\n-? Schedule wedding cake design appointments and tastings.\n\n-? Start planning your honeymoon.\n\n-4 - 6 ? Finalize the guest list.\n\n-? Order invitations and other wedding stationery.\n\n-MONTHS TO GO ? Plan wedding-day beauty preparations; ask your stylist how far in\n\n-advance they book wedding parties, and whether they are willing to work on the\n\n-wedding site.\n\n-? Finalize all honeymoon plans. If traveling outside the country, arrange for\n\n-visas, passports and inoculations.\n\n-? Hire your wedding day transportation (carriage, limousine service, etc.).\n\n-? Plan the rehearsal dinner.\n\n ---PAGE---\n\n-2 - 4 ? Obtain a marriage license. Bring all necessary documents.\n\n-? Order tuxedoes for the groom and groomsmen.\n\n-MONTHS TO GO ? Meet with the caterer to go over menus, wine selections, etc.\n\n-? Order the wedding cake.\n\n-? Order your wedding rings.\n\n-? Confirm wedding ceremony and reception music.\n\n-? Book a hotel room for the wedding night.\n\n-? If you plan on writing your own vows, start writing them now.\n\n-4 - 8 ? Mail the wedding invitations 8 weeks before your wedding date.\n\n-? Do a hair and makeup run-through (including wedding veil, if applicable).\n\n-WEEKS TO GO ? Confirm all transportation plans.\n\n-2 - 4 ? Work on seating arrangements for the reception.\n\n-? Finalize arrangements for out of town attendants and guests.\n\n-WEEKS TO GO ? Confirm details with the photographer, florist, and other vendors.\n\n-? Have final fitting for bridal gown and bridesmaids? dresses.\n\n-? Write your rehearsal dinner toast.\n\n-? Purchase gifts for the wedding attendants.\n\n-? Compile a list of all of the wedding vendors and wedding party, with contact\n\n-information. Carry this list with you everywhere you go (just in case).\n\n-? Communicate rehearsal dinner details to those who will attend the rehearsal\n\n-and rehearsal dinner.\n\n-? Look into where bride, groom and attendants will dress for the ceremony.\n\n-1 ? Enclose in envelopes any fees due for easy distribution.\n\n-? Give the caterer a final head count.\n\n-WEEK TO GO ? Appoint a trustworthy person to bring important items (cake knife,\n\n+Wedding timeline planner\n\n+☐ Shop for bridesmaids dresses.\n\n+☐ Schedule wedding cake design appointments and tastings.\n\n+☐ Start planning your honeymoon.\n\n+☐ Finalize the guest list.\n\n+4 - 6\n\n+☐ Order invitations and other wedding stationery.\n\n+MONTHS TO GO\n\n+Plan wedding-day beauty preparations; ask your stylist how far in\n\n+☐ advance they book wedding parties, and whether they are willing to\n\n+work on the wedding site.\n\n+Finalize all honeymoon plans. If traveling outside the country, arrange\n\n+☐\n\n+for visas, passports and inoculations.\n\n+Hire your wedding day transportation (carriage, limousine service,\n\n+☐\n\n+etc.).\n\n+☐ Plan the rehearsal dinner.\n\n+☐ Obtain a marriage license. Bring all necessary documents.\n\n+2 - 4\n\n+☐ Order tuxedoes for the groom and groomsmen.\n\n+MONTHS TO GO\n\n+☐ Meet with the caterer to go over menus, wine selections, etc.\n\n+☐ Order the wedding cake.\n\n+☐ Order your wedding rings.\n\n+☐ Confirm wedding ceremony and reception music.\n\n+☐ Book a hotel room for the wedding night.\n\n+☐ If you plan on writing your own vows, start writing them now.\n\n+☐ Mail the wedding invitations 8 weeks before your wedding date.\n\n+Do a hair and makeup run-through (including wedding veil, if\n\n+☐\n\n+4 - 8\n\n+applicable).\n\n+WEEKS TO GO\n\n+☐ Confirm all transportation plans.\n\n+☐ Work on seating arrangements for the reception.\n\n+2 - 4\n\n+☐ Finalize arrangements for out of town attendants and guests.\n\n+WEEKS TO GO\n\n+☐ Confirm details with the photographer, florist, and other vendors.\n\n+---PAGE---\n\n+Wedding timeline planner\n\n+☐ Have final fitting for bridal gown and bridesmaids’ dresses.\n\n+☐ Write your rehearsal dinner toast.\n\n+☐ Purchase gifts for the wedding attendants.\n\n+Compile a list of all of the wedding vendors and wedding party, with\n\n+☐ contact information. Carry this list with you everywhere you go (just in\n\n+case).\n\n+Communicate rehearsal dinner details to those who will attend the\n\n+☐\n\n+rehearsal and rehearsal dinner.\n\n+Look into where bride, groom and attendants will dress for the\n\n+☐\n\n+ceremony.\n\n+☐ Enclose in envelopes any fees due for easy distribution.\n\n+1\n\n+☐ Give the caterer a final head count.\n\n+WEEK TO GO\n\n+Appoint a trustworthy person to bring important items (cake knife,\n\n+☐\n\n toasting glasses, etc.) to the reception.\n\n-? Appoint someone to act as an ?organizer? to handle any last-minute problems.\n\n-? Review final details for those in the wedding party.\n\n-? Get final beauty treatments (manicure, facial, massage, waxing, brow shaping,\n\n-etc.)\n\n-DAY BEFORE ? Gather together the following:\n\n-THE WEDDING Something old : symbolizing continuity with family and heritage\n\n-Something new : symbolizing optimism and hope for the new life ahead\n\n-Something borrowed : an item from a happily married friend or family member\n\n+Appoint someone to act as an “organizer” to handle any last-minute\n\n+☐\n\n+problems.\n\n+☐ Review final details for those in the wedding party.\n\n+Get final beauty treatments (manicure, facial, massage, waxing, brow\n\n+☐\n\n+shaping, etc.)\n\n+DAY BEFORE ☐ Gather together the following:\n\n+THE WEDDING Something old : symbolizing continuity with family and heritage\n\n+Something new : symbolizing optimism and hope for the new life\n\n+ahead\n\n+Something borrowed : an item from a happily married friend or\n\n+family member\n\n Something blue : symbolizing love and fidelity\n\n-? Confirm honeymoon arrangements.\n\n-? Pack for the honeymoon.\n\n-? Enjoy a relaxing day with family and friends.\n\n-? Attend the rehearsal and rehearsal dinner; give gifts to attendants.\n\n-? Give the rings, and officiant?s fee, to the best man.\n\n-? Try to get some rest.\n\n-WEDDING DAY ? Post-wedding announcements in the mail.\n\n----PAGE---\n\n-? Relax and remain calm.\n\n-? Remember to eat something.\n\n-? Allow at least two hours for getting dressed.\n\n-ENJOY THIS ONCE-IN-A-LIFETIME EVENT!\n+☐ Confirm honeymoon arrangements.\n\n+☐ Pack for the honeymoon.\n\n+☐ Enjoy a relaxing day with family and friends.", + "visual_scores": [ + 0.8118, + 0.8394, + 0.5151 + ], + "visual_avg": 0.7221, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Wedding_timeline_planner1_copy_p1_minipdf.png", + "reference_img": "Wedding_timeline_planner1_copy_p1_reference.png", + "auxiliary_img": "Wedding_timeline_planner1_copy_p1_libreoffice.png", + "heatmap_img": "Wedding_timeline_planner1_copy_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 105, + 158, + 1105, + 1614 + ], + "changed_pixels": 327473, + "changed_fraction": 0.150444, + "mean_abs_rgb": 19.5145, + "rmse_rgb": 58.6547, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Wedding_timeline_planner1_copy_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Wedding_timeline_planner1_copy_p2_minipdf.png", + "reference_img": "Wedding_timeline_planner1_copy_p2_reference.png", + "auxiliary_img": "Wedding_timeline_planner1_copy_p2_libreoffice.png", + "heatmap_img": "Wedding_timeline_planner1_copy_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 105, + 127, + 1105, + 1618 + ], + "changed_pixels": 347747, + "changed_fraction": 0.159758, + "mean_abs_rgb": 20.7725, + "rmse_rgb": 60.7286, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Wedding_timeline_planner1_copy_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "Wedding_timeline_planner1_copy_p3_minipdf.png", + "reference_img": "Wedding_timeline_planner1_copy_p3_reference.png", + "auxiliary_img": "Wedding_timeline_planner1_copy_p3_libreoffice.png", + "heatmap_img": "Wedding_timeline_planner1_copy_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 105, + 96, + 1105, + 1516 + ], + "changed_pixels": 211939, + "changed_fraction": 0.097366, + "mean_abs_rgb": 10.5947, + "rmse_rgb": 39.7731, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Wedding_timeline_planner1_copy_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.7203 + }, + { + "name": "Weekly schedule planner1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "Weekly schedule planner1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/Weekly schedule planner1.xlsx", + "suite": "issue", + "minipdf_size": 15322, + "reference_size": 148591, + "pdf_valid": true, + "minipdf_pages": 10, + "reference_pages": 1, + "compared_pages": 3, + "text_similarity": 0.4, + "flat_text_similarity": 0.3223, + "word_text_similarity": 0.4, + "text_diff": "--- minipdf/Weekly schedule planner1.pdf\n+++ reference/Weekly schedule planner1.pdf\n@@ -1,26 +1,15 @@\n Weekly schedule planner\n\n-Weekly objectives\n\n-Run 3 miles\n\n-Read 30 min/day\n\n-Stretch\n\n-23 Monday 24\n\n-March\n\n-? Run ?\n\n-? Read ?\n\n-? Stretch ?\n\n-?\n\n----PAGE---\n\n-Notes\n\n----PAGE---\n\n-Week of:\n\n-To do items\n\n-Take FiFi to vet\n\n-Go grocery shopping\n\n-Pick up dry cleaning\n\n-Tuesday 25 Wednesday\n\n-March March\n\n-Run ? Run\n\n-Read ? Read\n\n-Stretch ? Stretch\n\n-Go to vet ? Shopping\n\n-? Rehearse\n+Week of: 8/24/2026\n\n+Weekly objectives To do items Deadlines this week\n\n+Run 3 miles Take FiFi to vet Presentation on Thursday\n\n+Read 30 min/day Go grocery shopping\n\n+Stretch Pick up dry cleaning\n\n+Monday Tuesday Wednesday Thursday Friday Saturday Sunday\n\n+24 25 26 27 28 29 30\n\n+August August August August August August August\n\n+✔ Run ✔ Run ✖ Run Run Run Run Run\n\n+✖ Read ✔ Read ✔ Read Read Read Read Read\n\n+✔ Stretch ✔ Stretch ✖ Stretch Stretch Stretch Stretch Stretch\n\n+✔ Go to vet ✔ Shopping Present\n\n+✔ Rehearse\n\n+Notes", + "visual_scores": [ + 0.1841, + 0.0, + 0.0 + ], + "visual_avg": 0.0614, + "diff_images": [ + { + "page": 1, + "minipdf_img": "Weekly schedule planner1_p1_minipdf.png", + "reference_img": "Weekly schedule planner1_p1_reference.png", + "auxiliary_img": "Weekly schedule planner1_p1_libreoffice.png", + "heatmap_img": "Weekly schedule planner1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1754, + 1241 + ], + "difference_bbox_px": [ + 125, + 96, + 1571, + 1129 + ], + "changed_pixels": 708927, + "changed_fraction": 0.325687, + "mean_abs_rgb": 23.7178, + "rmse_rgb": 60.2885, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "Weekly schedule planner1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "Weekly schedule planner1_p2_minipdf.png", + "reference_img": null, + "auxiliary_img": null + }, + { + "page": 3, + "minipdf_img": "Weekly schedule planner1_p3_minipdf.png", + "reference_img": null, + "auxiliary_img": null + } + ], + "overall_score": 0.2846 + }, + { + "name": "XlsxIssue75", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue75", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue75.xlsx", + "suite": "issue", + "minipdf_size": 337621, + "reference_size": 5896201, + "pdf_valid": true, + "minipdf_pages": 74, + "reference_pages": 144, + "compared_pages": 3, + "text_similarity": 0.0568, + "flat_text_similarity": 0.0169, + "word_text_similarity": 0.0568, + "text_diff": "--- minipdf/XlsxIssue75.pdf\n+++ reference/XlsxIssue75.pdf\n@@ -1,148 +1,155 @@\n-Vend_ID Vend_Name Doc_Type Doc_Num Doc_Date Posting_Date Due_Date Description Doc_Amt\n\n-00198 Fred Invoice 100-100-2 45229 45233 45259 A#$%123 50\n\n-00198 Fred Invoice 100-100-3 45222 45236 45252 A#$%124 50\n\n-00198 Fred Invoice 100-100-4 45226 45231 45256 A#$%125 50\n\n-00198 Fred Invoice 100-100-5 45223 45225 45253 A#$%126 50\n\n-00198 Fred Invoice 100-100-6 45238 45240 45268 A#$%127 50\n\n-00198 Fred Invoice 100-100-7 45233 45240 45263 A#$%128 50\n\n-00198 Fred Invoice 100-100-8 45238 45240 45268 A#$%129 50\n\n-00198 Fred Invoice 100-100-9 45238 45240 45268 A#$%130 50\n\n-00198 Fred Invoice 100-100-10 45233 45240 45263 A#$%131 50\n\n-3991030 Fred Credit Memo 100-100-11 44680 44680 44709 A#$%132 50\n\n-208 Fred Invoice 100-100-12 45167 45240 45197 A#$%133 50\n\n-3991014 Fred Invoice 100-100-13 45208 45212 45253 A#$%134 50\n\n-3991014 Fred Invoice 100-100-14 45217 45222 45262 A#$%135 50\n\n-3991014 Fred Invoice 100-100-15 45215 45217 45260 A#$%136 50\n\n-3991014 Fred Invoice 100-100-16 45215 45217 45260 A#$%137 50\n\n-3991014 Fred Invoice 100-100-17 45216 45233 45261 A#$%138 50\n\n-3991014 Fred Invoice 100-100-18 45222 45229 45267 A#$%139 50\n\n-32250 Fred Invoice 100-100-19 45224 45232 45254 A#$%140 50\n\n-32250 Fred Invoice 100-100-20 45230 45231 45260 A#$%141 50\n\n-95828 Fred Invoice 100-100-21 45162 45240 45172 A#$%142 50\n\n-33343 Fred Invoice 100-100-22 45233 45240 45233 A#$%143 50\n\n-91773 Fred Invoice 100-100-23 45226 45229 45256 A#$%144 50\n\n-91773 Fred Invoice 100-100-24 45226 45229 45256 A#$%145 50\n\n-91773 Fred Invoice 100-100-25 45226 45229 45256 A#$%146 50\n\n-91773 Fred Invoice 100-100-26 45232 45233 45262 A#$%147 50\n\n-0269 Fred Payment 100-100-27 44515 44515 1 A#$%148 50\n\n-0269 Fred Payment 100-100-28 44495 44495 1 A#$%149 50\n\n-3991032 Fred Invoice 100-100-29 45222 45232 45252 A#$%150 50\n\n-3991032 Fred Invoice 100-100-30 45230 45240 45260 A#$%151 50\n\n-3991032 Fred Invoice 100-100-31 45230 45231 45260 A#$%152 50\n\n-3991032 Fred Invoice 100-100-32 45230 45231 45260 A#$%153 50\n\n-3991032 Fred Invoice 100-100-33 45225 45226 45255 A#$%154 50\n\n-3991032 Fred Invoice 100-100-34 45223 45224 45253 A#$%155 50\n\n-3991032 Fred Invoice 100-100-35 45231 45233 45261 A#$%156 50\n\n-04550 Fred Invoice 100-100-36 45238 45240 45268 A#$%157 50\n\n-3991293 Fred Invoice 100-100-37 45232 45238 45262 A#$%158 50\n\n-3991293 Fred Invoice 100-100-38 45230 45236 45260 A#$%159 50\n\n-3991293 Fred Invoice 100-100-39 45230 45236 45260 A#$%160 50\n\n-3991293 Fred Invoice 100-100-40 45225 45226 45255 A#$%161 50\n\n-3991293 Fred Invoice 100-100-41 45223 45231 45253 A#$%162 50\n\n-3991293 Fred Invoice 100-100-42 45222 45226 45252 A#$%163 50\n\n-3991293 Fred Invoice 100-100-43 45225 45226 45255 A#$%164 50\n\n-3991293 Fred Invoice 100-100-44 45225 45237 45255 A#$%165 50\n\n-3991293 Fred Invoice 100-100-45 45226 45237 45256 A#$%166 50\n\n-3991293 Fred Invoice 100-100-46 45225 45232 45255 A#$%167 50\n\n-30184 Fred Invoice 100-100-47 45225 45236 45255 A#$%168 50\n\n-30184 Fred Invoice 100-100-48 45226 45239 45256 A#$%169 50\n\n+Vend_ID Vend_Name Doc_Type\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+00198 Fred Invoice\n\n+3991030 Fred Credit Memo\n\n+208 Fred Invoice\n\n+3991014 Fred Invoice\n\n+3991014 Fred Invoice\n\n+3991014 Fred Invoice\n\n+3991014 Fred Invoice\n\n+3991014 Fred Invoice\n\n+3991014 Fred Invoice\n\n+32250 Fred Invoice\n\n+32250 Fred Invoice\n\n+95828 Fred Invoice\n\n+33343 Fred Invoice\n\n+91773 Fred Invoice\n\n+91773 Fred Invoice\n\n+91773 Fred Invoice\n\n+91773 Fred Invoice\n\n+0269 Fred Payment\n\n+0269 Fred Payment\n\n+3991032 Fred Invoice\n\n+3991032 Fred Invoice\n\n+3991032 Fred Invoice\n\n+3991032 Fred Invoice\n\n+3991032 Fred Invoice\n\n+3991032 Fred Invoice\n\n+3991032 Fred Invoice\n\n+04550 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+3991293 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n ---PAGE---\n\n-30184 Fred Invoice 100-100-49 45224 45226 45254 A#$%170 50\n\n-30184 Fred Invoice 100-100-50 45236 45238 45266 A#$%171 50\n\n-30184 Fred Invoice 100-100-51 45236 45238 45266 A#$%172 50\n\n-30184 Fred Invoice 100-100-52 45236 45238 45266 A#$%173 50\n\n-30184 Fred Invoice 100-100-53 45236 45239 45266 A#$%174 50\n\n-30184 Fred Invoice 100-100-54 45224 45229 45254 A#$%175 50\n\n-30184 Fred Invoice 100-100-55 45236 45239 45266 A#$%176 50\n\n-30184 Fred Invoice 100-100-56 45236 45239 45266 A#$%177 50\n\n-30184 Fred Invoice 100-100-57 45224 45236 45254 A#$%178 50\n\n-30184 Fred Invoice 100-100-58 45224 45236 45254 A#$%179 50\n\n-30184 Fred Invoice 100-100-59 45225 45236 45255 A#$%180 50\n\n-30184 Fred Invoice 100-100-60 45224 45236 45254 A#$%181 50\n\n-30184 Fred Invoice 100-100-61 45224 45229 45254 A#$%182 50\n\n-30184 Fred Invoice 100-100-62 45236 45239 45266 A#$%183 50\n\n-30184 Fred Invoice 100-100-63 45236 45239 45266 A#$%184 50\n\n-30184 Fred Invoice 100-100-64 45236 45238 45266 A#$%185 50\n\n-30184 Fred Invoice 100-100-65 45236 45239 45266 A#$%186 50\n\n-30184 Fred Invoice 100-100-66 45224 45229 45254 A#$%187 50\n\n-30184 Fred Invoice 100-100-67 45224 45229 45254 A#$%188 50\n\n-30184 Fred Invoice 100-100-68 45225 45236 45255 A#$%189 50\n\n-BLAC002 Fred Invoice 100-100-69 45232 45239 45262 A#$%190 50\n\n-BLAC002 Fred Invoice 100-100-70 45231 45236 45261 A#$%191 50\n\n-BLAC002 Fred Invoice 100-100-71 45231 45236 45261 A#$%192 50\n\n-BLAC002 Fred Invoice 100-100-72 45231 45236 45261 A#$%193 50\n\n-BLAC002 Fred Credit Memo 100-100-73 45237 45239 45267 A#$%194 50\n\n-BLAC002 Fred Invoice 100-100-74 45237 45239 45267 A#$%195 50\n\n-BLAC002 Fred Invoice 100-100-75 45232 45239 45262 A#$%196 50\n\n-BLAC002 Fred Invoice 100-100-76 45238 45240 45268 A#$%197 50\n\n-BLAC002 Fred Credit Memo 100-100-77 45236 45237 45266 A#$%198 50\n\n-BLAC002 Fred Invoice 100-100-78 45225 45232 45255 A#$%199 50\n\n-BLAC002 Fred Invoice 100-100-79 45231 45236 45261 A#$%200 50\n\n-BLAC002 Fred Invoice 100-100-80 45223 45229 45253 A#$%201 50\n\n-BLAC002 Fred Credit Memo 100-100-81 45222 45224 45252 A#$%202 50\n\n-BLAC002 Fred Invoice 100-100-82 45222 45224 45252 A#$%203 50\n\n-BLAC002 Fred Invoice 100-100-83 45229 45232 45259 A#$%204 50\n\n-BLAC002 Fred Invoice 100-100-84 45225 45232 45255 A#$%205 50\n\n-BLAC002 Fred Invoice 100-100-85 45237 45239 45267 A#$%206 50\n\n-BLAC002 Fred Invoice 100-100-86 45222 45224 45252 A#$%207 50\n\n-BLAC002 Fred Credit Memo 100-100-87 45222 45224 45252 A#$%208 50\n\n-BLAC002 Fred Invoice 100-100-88 45223 45229 45253 A#$%209 50\n\n-BLAC002 Fred Invoice 100-100-89 45224 45229 45254 A#$%210 50\n\n-BLAC002 Fred Invoice 100-100-90 45231 45238 45261 A#$%211 50\n\n-BLAC002 Fred Invoice 100-100-91 45232 45239 45262 A#$%212 50\n\n-BLAC002 Fred Invoice 100-100-92 45232 45238 45262 A#$%213 50\n\n-BLAC002 Fred Invoice 100-100-93 45223 45229 45253 A#$%214 50\n\n-BLAC002 Fred Invoice 100-100-94 45223 45229 45253 A#$%215 50\n\n-BLAC002 Fred Invoice 100-100-95 45224 45229 45254 A#$%216 50\n\n-BLAC002 Fred Invoice 100-100-96 45225 45239 45255 A#$%217 50\n\n-BLAC002 Fred Invoice 100-100-97 45238 45240 45268 A#$%218 50\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+30184 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n ---PAGE---\n\n-BLAC002 Fred Credit Memo 100-100-98 45225 45240 45255 A#$%219 50\n\n-BLAC002 Fred Credit Memo 100-100-99 45225 45240 45255 A#$%220 50\n\n-BLAC002 Fred Invoice 100-100-100 45225 45240 45255 A#$%221 50\n\n-BLAC002 Fred Invoice 100-100-101 45232 45239 45262 A#$%222 50\n\n-BLAC002 Fred Invoice 100-100-102 45232 45238 45262 A#$%223 50\n\n-BLAC002 Fred Credit Memo 100-100-103 45232 45239 45262 A#$%224 50\n\n-BLAC002 Fred Invoice 100-100-104 45232 45239 45262 A#$%225 50\n\n-BLAC002 Fred Invoice 100-100-105 45230 45239 45260 A#$%226 50\n\n-BLAC002 Fred Invoice 100-100-106 45225 45236 45255 A#$%227 50\n\n-BLAC002 Fred Invoice 100-100-107 45237 45239 45267 A#$%228 50\n\n-BLAC002 Fred Invoice 100-100-108 45232 45239 45262 A#$%229 50\n\n-BLAC002 Fred Invoice 100-100-109 45222 45239 45252 A#$%230 50\n\n-BLAC002 Fred Invoice 100-100-110 45236 45239 45266 A#$%231 50\n\n-BLAC002 Fred Invoice 100-100-111 45230 45239 45260 A#$%232 50\n\n-BLAC002 Fred Invoice 100-100-112 45238 45240 45268 A#$%233 50\n\n-BLAC002 Fred Invoice 100-100-113 45225 45236 45255 A#$%234 50\n\n-BLAC081 Fred Credit Memo 100-100-114 45147 45210 45147 A#$%235 50\n\n-34342 Fred Credit Memo 100-100-115 45237 45237 45270 A#$%236 50\n\n-14900 Fred Invoice 100-100-116 45237 45238 45297 A#$%237 50\n\n-14900 Fred Invoice 100-100-117 45238 45239 45298 A#$%238 50\n\n-14900 Fred Invoice 100-100-118 45238 45239 45298 A#$%239 50\n\n-14900 Fred Invoice 100-100-119 45238 45239 45298 A#$%240 50\n\n-14900 Fred Invoice 100-100-120 45230 45231 45290 A#$%241 50\n\n-14900 Fred Invoice 100-100-121 45217 45239 45277 A#$%242 50\n\n-14900 Fred Invoice 100-100-122 45230 45231 45290 A#$%243 50\n\n-14900 Fred Invoice 100-100-123 45229 45230 45289 A#$%244 50\n\n-14900 Fred Invoice 100-100-124 45229 45230 45289 A#$%245 50\n\n-14900 Fred Invoice 100-100-125 45230 45240 45290 A#$%246 50\n\n-14900 Fred Invoice 100-100-126 45230 45240 45290 A#$%247 50\n\n-14900 Fred Invoice 100-100-127 45219 45240 45279 A#$%248 50\n\n-14900 Fred Invoice 100-100-128 45230 45231 45290 A#$%249 50\n\n-14900 Fred Invoice 100-100-129 45229 45230 45289 A#$%250 50\n\n-14900 Fred Invoice 100-100-130 45229 45230 45289 A#$%251 50\n\n-14900 Fred Invoice 100-100-131 45229 45230 45289 A#$%252 50\n\n-14900 Fred Invoice 100-100-132 45230 45231 45290 A#$%253 50\n\n-14900 Fred Invoice 100-100-133 45230 45231 45290 A#$%254 50\n\n-14900 Fred Invoice 100-100-134 45230 45231 45290 A#$%255 50\n\n-14900 Fred Invoice 100-100-135 45229 45236 45289 A#$%256 50\n\n-14900 Fred Invoice 100-100-136 45238 45239 45298 A#$%257 50\n\n-14900 Fred Invoice 100-100-137 45219 45239 45279 A#$%258 50\n\n-14900 Fred Invoice 100-100-138 45229 45236 45289 A#$%259 50\n\n-14900 Fred Invoice 100-100-139 45230 45231 45290 A#$%260 50\n\n-14900 Fred Invoice 100-100-140 45230 45231 45290 A#$%261 50\n\n-26202 Fred Invoice 100-100-141 45230 45233 45260 A#$%262 50\n\n-26202 Fred Invoice 100-100-142 45230 45233 45260 A#$%263 50\n\n-26202 Fred Invoice 100-100-143 45230 45233 45260 A#$%264 50\n\n-26202 Fred Invoice 100-100-144 45223 45239 45253 A#$%265 50\n\n-26202 Fred Invoice 100-100-145 45224 45229 45254 A#$%266 50\n\n-26202 Fred Invoice 100-100-146 45224 45229 45254 A#$%267 50\n+BLAC002 Fred Credit Memo\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC002 Fred Invoice\n\n+BLAC081 Fred Credit Memo\n\n+34342 Fred Credit Memo\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+14900 Fred Invoice\n\n+26202 Fred Invoice\n\n+26202 Fred Invoice\n\n+26202 Fred Invoice\n\n+26202 Fred Invoice\n\n+26202 Fred Invoice\n\n+26202 Fred Invoice\n\n+26202 Fred Invoice\n\n+12011 Fred Invoice\n\n+011299 Fred Credit Memo\n\n+48105 Fred Credit Memo\n\n+48105 Fred Credit Memo\n\n+12112 Fred Invoice\n\n+14449 Fred Invoice", + "visual_scores": [ + 0.8772, + 0.8548, + 0.8503 + ], + "visual_avg": 0.8608, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue75_p1_minipdf.png", + "reference_img": "XlsxIssue75_p1_reference.png", + "auxiliary_img": "XlsxIssue75_p1_libreoffice.png", + "heatmap_img": "XlsxIssue75_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 113, + 114, + 1138, + 1649 + ], + "changed_pixels": 311593, + "changed_fraction": 0.143148, + "mean_abs_rgb": 22.9939, + "rmse_rgb": 68.7476, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue75_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue75_p2_minipdf.png", + "reference_img": "XlsxIssue75_p2_reference.png", + "auxiliary_img": "XlsxIssue75_p2_libreoffice.png", + "heatmap_img": "XlsxIssue75_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 113, + 95, + 1067, + 1649 + ], + "changed_pixels": 302322, + "changed_fraction": 0.138889, + "mean_abs_rgb": 23.6977, + "rmse_rgb": 70.4909, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue75_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue75_p3_minipdf.png", + "reference_img": "XlsxIssue75_p3_reference.png", + "auxiliary_img": "XlsxIssue75_p3_libreoffice.png", + "heatmap_img": "XlsxIssue75_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 113, + 95, + 1067, + 1649 + ], + "changed_pixels": 302146, + "changed_fraction": 0.138808, + "mean_abs_rgb": 23.5961, + "rmse_rgb": 70.296, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue75_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.467 + }, + { + "name": "XlsxIssue77_MergedCellAlignment", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue77_MergedCellAlignment", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_MergedCellAlignment.xlsx", + "suite": "issue", + "minipdf_size": 13955, + "reference_size": 172385, + "pdf_valid": true, + "minipdf_pages": 4, + "reference_pages": 2, + "compared_pages": 3, + "text_similarity": 0.9993, + "flat_text_similarity": 0.5031, + "word_text_similarity": 0.9993, + "text_diff": "--- minipdf/XlsxIssue77_MergedCellAlignment.pdf\n+++ reference/XlsxIssue77_MergedCellAlignment.pdf\n@@ -1,82 +1,69 @@\n Arial Font\n\n-Horizontal Left + Vertical Bottom Horizontal Center + Vertical Bottom\n\n-Horizontal Right + Vertical Bottom\n\n-Single Cell Single Cell Single Cell\n\n-Apple Apple Apple\n\n-Double Wide Cell Double Wide Cell Double Wide Cell\n\n-Apple Apple Apple Apple Apple Apple\n\n-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High\n\n-Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Horizontal Left + Vertical Center Horizontal Center + Vertical Center\n\n-Horizontal Right + Vertical Center\n\n-Single Cell Single Cell Single Cell\n\n-Apple Apple Apple\n\n-Double Wide Cell Double Wide Cell Double Wide Cell\n\n-Apple Apple Apple Apple Apple Apple\n\n-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High\n\n-Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Horizontal Left + Vertical Top Horizontal Center + Vertical Top Horizontal\n\n-Right + Vertical Top\n\n-Single Cell Single Cell Single Cell\n\n-Apple Apple Apple\n\n-Double Wide Cell Double Wide Cell Double Wide Cell\n\n-Apple Apple Apple Apple Apple Apple\n\n-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High\n\n-Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Horizontal Left + Vertical Bottom Horizontal Center + Vertical Bottom Horizontal Right + Vertical Bottom\n\n+Single Cell Single Cell Single Cell\n\n+Apple Apple Apple\n\n+Double Wide Cell Double Wide Cell Double Wide Cell\n\n+Apple Apple Apple Apple Apple Apple\n\n+Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Horizontal Left + Vertical Center Horizontal Center + Vertical Center Horizontal Right + Vertical Center\n\n+Single Cell Single Cell Single Cell\n\n+Apple Apple Apple\n\n+Double Wide Cell Double Wide Cell Double Wide Cell\n\n+Apple Apple Apple Apple Apple Apple\n\n+Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Horizontal Left + Vertical Top Horizontal Center + Vertical Top Horizontal Right + Vertical Top\n\n+Single Cell Single Cell Single Cell\n\n+Apple Apple Apple\n\n+Double Wide Cell Double Wide Cell Double Wide Cell\n\n+Apple Apple Apple Apple Apple Apple\n\n+Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+---PAGE---\n\n Times New Roman Font\n\n----PAGE---\n\n-Horizontal Left + Vertical Bottom Horizontal Center + Vertical Bottom\n\n-Horizontal Right + Vertical Bottom\n\n-Single Cell Single Cell Single Cell\n\n-Apple Apple Apple\n\n-Double Wide Cell Double Wide Cell Double Wide Cell\n\n-Apple Apple Apple Apple Apple Apple\n\n-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High\n\n-Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Horizontal Left + Vertical Center Horizontal Center + Vertical Center\n\n-Horizontal Right + Vertical Center\n\n-Single Cell Single Cell Single Cell\n\n-Apple Apple Apple\n\n-Double Wide Cell Double Wide Cell Double Wide Cell\n\n-Apple Apple Apple Apple Apple Apple\n\n-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High\n\n-Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Horizontal Left + Vertical Top Horizontal Center + Vertical Top Horizontal\n\n-Right + Vertical Top\n\n-Single Cell Single Cell Single Cell\n\n-Apple Apple Apple\n\n-Double Wide Cell Double Wide Cell Double Wide Cell\n\n-Apple Apple Apple Apple Apple Apple\n\n-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High\n\n-Cell\n\n-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n----PAGE---\n+Horizontal Left + Vertical Bottom Horizontal Center + Vertical Bottom Horizontal Right + Vertical Bottom\n\n+Single Cell Single Cell Single Cell\n\n+Apple Apple Apple\n\n+Double Wide Cell Double Wide Cell Double Wide Cell\n\n+Apple Apple Apple Apple Apple Apple\n\n+Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Horizontal Left + Vertical Center Horizontal Center + Vertical Center Horizontal Right + Vertical Center\n\n+Single Cell Single Cell Single Cell\n\n+Apple Apple Apple\n\n+Double Wide Cell Double Wide Cell Double Wide Cell\n\n+Apple Apple Apple Apple Apple Apple\n\n+Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Horizontal Left + Vertical Top Horizontal Center + Vertical Top Horizontal Right + Vertical Top\n\n+Single Cell Single Cell Single Cell\n\n+Apple Apple Apple\n\n+Double Wide Cell Double Wide Cell Double Wide Cell\n\n+Apple Apple Apple Apple Apple Apple\n\n+Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple\n\n+Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell\n\n+Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple", + "visual_scores": [ + 0.7458, + 0.7699, + 0.0 + ], + "visual_avg": 0.5052, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue77_MergedCellAlignment_p1_minipdf.png", + "reference_img": "XlsxIssue77_MergedCellAlignment_p1_reference.png", + "auxiliary_img": "XlsxIssue77_MergedCellAlignment_p1_libreoffice.png", + "heatmap_img": "XlsxIssue77_MergedCellAlignment_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 36, + 121, + 1163, + 1614 + ], + "changed_pixels": 464635, + "changed_fraction": 0.213457, + "mean_abs_rgb": 33.056, + "rmse_rgb": 83.2732, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_MergedCellAlignment_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue77_MergedCellAlignment_p2_minipdf.png", + "reference_img": "XlsxIssue77_MergedCellAlignment_p2_reference.png", + "auxiliary_img": "XlsxIssue77_MergedCellAlignment_p2_libreoffice.png", + "heatmap_img": "XlsxIssue77_MergedCellAlignment_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 36, + 96, + 1163, + 1612 + ], + "changed_pixels": 457328, + "changed_fraction": 0.2101, + "mean_abs_rgb": 31.4234, + "rmse_rgb": 80.7256, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_MergedCellAlignment_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue77_MergedCellAlignment_p3_minipdf.png", + "reference_img": null, + "auxiliary_img": null + } + ], + "overall_score": 0.7018 + }, + { + "name": "XlsxIssue77_Template1", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue77_Template1", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_Template1.xlsx", + "suite": "issue", + "minipdf_size": 11282, + "reference_size": 64464, + "pdf_valid": true, + "minipdf_pages": 4, + "reference_pages": 6, + "compared_pages": 3, + "text_similarity": 0.4833, + "flat_text_similarity": 0.4685, + "word_text_similarity": 0.4656, + "text_diff": "--- minipdf/XlsxIssue77_Template1.pdf\n+++ reference/XlsxIssue77_Template1.pdf\n@@ -1,16 +1,41 @@\n RMA AUTHORIZATION\n\n-RMA # 12345\n\n+RMA #\n\n+12345\n\n Issue On 1/1/20216\n\n *** Void after 60 days ***\n\n Attn Customer: Please return parts to the return address below.\n\n-Customer Name Sales Person Requestor\n\n-Return Address: Reason for Return:\n\n-NOTE - All parts returned for credit must be in original factory condition, with\n\n-clean factory label and scannable QR code, original factory packaging, with no extra\n\n-labels or markings on the product.\n\n-Part No. Original\n\n-Invoice # Qty\n\n-Authorized Per Unit\n\n+Customer Name Sales Person Requestor\n\n+Return Address: Reason for Return:\n\n+NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR\n\n+code, original factory packaging, with no extra labels or markings on the product.\n\n+Original Qty\n\n+Part No. Per Unit\n\n+Invoice # Authorized\n\n ---PAGE---\n\n-\n\n----PAGE---\n+RMA AUTHORIZATION\n\n+RMA #\n\n+12345\n\n+Issue On 1/1/20216\n\n+*** Void after 60 days ***\n\n+Attn Customer: Please return parts to the return address below.\n\n+Customer Name Sales Person Requestor\n\n+Return Address: Reason for Return:\n\n+NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR\n\n+code, original factory packaging, with no extra labels or markings on the product.\n\n+Original Qty\n\n+Part No. Per Unit\n\n+Invoice # Authorized\n\n+---PAGE---\n\n+RMA AUTHORIZATION\n\n+RMA #\n\n+12345\n\n+Issue On 1/1/20216\n\n+*** Void after 60 days ***\n\n+Attn Customer: Please return parts to the return address below.\n\n+Customer Name Sales Person Requestor\n\n+Return Address: Reason for Return:\n\n+NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR\n\n+code, original factory packaging, with no extra labels or markings on the product.\n\n+Original Qty\n\n+Part No. Per Unit\n\n+Invoice # Authorized", + "visual_scores": [ + 0.5615, + 0.4514, + 0.4514 + ], + "visual_avg": 0.4881, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue77_Template1_p1_minipdf.png", + "reference_img": "XlsxIssue77_Template1_p1_reference.png", + "auxiliary_img": "XlsxIssue77_Template1_p1_libreoffice.png", + "heatmap_img": "XlsxIssue77_Template1_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 82, + 127, + 1157, + 1565 + ], + "changed_pixels": 383776, + "changed_fraction": 0.17631, + "mean_abs_rgb": 19.6971, + "rmse_rgb": 62.8623, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_Template1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue77_Template1_p2_minipdf.png", + "reference_img": "XlsxIssue77_Template1_p2_reference.png", + "auxiliary_img": "XlsxIssue77_Template1_p2_libreoffice.png", + "heatmap_img": "XlsxIssue77_Template1_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 82, + 171, + 1157, + 1565 + ], + "changed_pixels": 363402, + "changed_fraction": 0.16695, + "mean_abs_rgb": 17.577, + "rmse_rgb": 59.2034, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_Template1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue77_Template1_p3_minipdf.png", + "reference_img": "XlsxIssue77_Template1_p3_reference.png", + "auxiliary_img": "XlsxIssue77_Template1_p3_libreoffice.png", + "heatmap_img": "XlsxIssue77_Template1_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 82, + 171, + 1157, + 1565 + ], + "changed_pixels": 363402, + "changed_fraction": 0.16695, + "mean_abs_rgb": 17.577, + "rmse_rgb": 59.2034, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_Template1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.4886 + }, + { + "name": "XlsxIssue77_Template2_Workaround", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue77_Template2_Workaround", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue77_Template2_Workaround.xlsx", + "suite": "issue", + "minipdf_size": 11461, + "reference_size": 64466, + "pdf_valid": true, + "minipdf_pages": 4, + "reference_pages": 6, + "compared_pages": 3, + "text_similarity": 0.4833, + "flat_text_similarity": 0.4685, + "word_text_similarity": 0.4656, + "text_diff": "--- minipdf/XlsxIssue77_Template2_Workaround.pdf\n+++ reference/XlsxIssue77_Template2_Workaround.pdf\n@@ -1,16 +1,41 @@\n RMA AUTHORIZATION\n\n-RMA # 12345\n\n+RMA #\n\n+12345\n\n Issue On 1/1/20216\n\n *** Void after 60 days ***\n\n Attn Customer: Please return parts to the return address below.\n\n-Customer Name Sales Person Requestor\n\n-Return Address: Reason for Return:\n\n-NOTE - All parts returned for credit must be in original factory condition, with\n\n-clean factory label and scannable QR code, original factory packaging, with no extra\n\n-labels or markings on the product.\n\n-Part No. Original\n\n-Invoice # Qty\n\n-Authorized Per Unit\n\n+Customer Name Sales Person Requestor\n\n+Return Address: Reason for Return:\n\n+NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR\n\n+code, original factory packaging, with no extra labels or markings on the product.\n\n+Original Qty\n\n+Part No. Per Unit\n\n+Invoice # Authorized\n\n ---PAGE---\n\n-\n\n----PAGE---\n+RMA AUTHORIZATION\n\n+RMA #\n\n+12345\n\n+Issue On 1/1/20216\n\n+*** Void after 60 days ***\n\n+Attn Customer: Please return parts to the return address below.\n\n+Customer Name Sales Person Requestor\n\n+Return Address: Reason for Return:\n\n+NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR\n\n+code, original factory packaging, with no extra labels or markings on the product.\n\n+Original Qty\n\n+Part No. Per Unit\n\n+Invoice # Authorized\n\n+---PAGE---\n\n+RMA AUTHORIZATION\n\n+RMA #\n\n+12345\n\n+Issue On 1/1/20216\n\n+*** Void after 60 days ***\n\n+Attn Customer: Please return parts to the return address below.\n\n+Customer Name Sales Person Requestor\n\n+Return Address: Reason for Return:\n\n+NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR\n\n+code, original factory packaging, with no extra labels or markings on the product.\n\n+Original Qty\n\n+Part No. Per Unit\n\n+Invoice # Authorized", + "visual_scores": [ + 0.5601, + 0.4501, + 0.4501 + ], + "visual_avg": 0.4868, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue77_Template2_Workaround_p1_minipdf.png", + "reference_img": "XlsxIssue77_Template2_Workaround_p1_reference.png", + "auxiliary_img": "XlsxIssue77_Template2_Workaround_p1_libreoffice.png", + "heatmap_img": "XlsxIssue77_Template2_Workaround_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 78, + 127, + 1153, + 1569 + ], + "changed_pixels": 387312, + "changed_fraction": 0.177934, + "mean_abs_rgb": 19.6896, + "rmse_rgb": 62.9905, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_Template2_Workaround_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue77_Template2_Workaround_p2_minipdf.png", + "reference_img": "XlsxIssue77_Template2_Workaround_p2_reference.png", + "auxiliary_img": "XlsxIssue77_Template2_Workaround_p2_libreoffice.png", + "heatmap_img": "XlsxIssue77_Template2_Workaround_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 78, + 171, + 1153, + 1569 + ], + "changed_pixels": 366028, + "changed_fraction": 0.168156, + "mean_abs_rgb": 17.6291, + "rmse_rgb": 59.5168, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_Template2_Workaround_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue77_Template2_Workaround_p3_minipdf.png", + "reference_img": "XlsxIssue77_Template2_Workaround_p3_reference.png", + "auxiliary_img": "XlsxIssue77_Template2_Workaround_p3_libreoffice.png", + "heatmap_img": "XlsxIssue77_Template2_Workaround_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 78, + 171, + 1153, + 1569 + ], + "changed_pixels": 366028, + "changed_fraction": 0.168156, + "mean_abs_rgb": 17.6291, + "rmse_rgb": 59.5168, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue77_Template2_Workaround_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.488 + }, + { + "name": "XlsxIssue81_LayoutOptions", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue81_LayoutOptions", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue81_LayoutOptions.xlsx", + "suite": "issue", + "minipdf_size": 72164, + "reference_size": 242251, + "pdf_valid": true, + "minipdf_pages": 14, + "reference_pages": 16, + "compared_pages": 3, + "text_similarity": 0.5364, + "flat_text_similarity": 0.009, + "word_text_similarity": 0.5364, + "text_diff": "--- minipdf/XlsxIssue81_LayoutOptions.pdf\n+++ reference/XlsxIssue81_LayoutOptions.pdf\n@@ -1,139 +1,119 @@\n-Invoice Customer Region Owner Status Submitted Reviewed Amount Tax\n\n-INV-00001 Customer account with extended legal name 001 Europe Operations owner 2 In\n\n-Review 2026-07-02 2026-08-02 1263.37 63.17\n\n-INV-00002 Customer account with extended legal name 002 Asia Pacific Operations owner 3\n\n-Approved 2026-07-03 2026-08-03 1276.74 63.84\n\n-INV-00003 Customer account with extended legal name 003 Latin America Operations owner\n\n-4 Needs Follow-up 2026-07-04 2026-08-04 1290.11 64.51000000000001\n\n-INV-00004 Customer account with extended legal name 004 North America Operations owner\n\n-5 Queued 2026-07-05 2026-08-05 1303.48 65.17\n\n-INV-00005 Customer account with extended legal name 005 Europe Operations owner 6 In\n\n-Review 2026-07-06 2026-08-06 1316.85 65.84\n\n-INV-00006 Customer account with extended legal name 006 Asia Pacific Operations owner 7\n\n-Approved 2026-07-07 2026-08-07 1330.22 66.51000000000001\n\n-INV-00007 Customer account with extended legal name 007 Latin America Operations owner\n\n-8 Needs Follow-up 2026-07-08 2026-08-08 1343.59 67.18000000000001\n\n-INV-00008 Customer account with extended legal name 008 North America Operations owner\n\n-9 Queued 2026-07-09 2026-08-09 1356.96 67.84999999999999\n\n-INV-00009 Customer account with extended legal name 009 Europe Operations owner 1 In\n\n-Review 2026-07-10 2026-08-10 1370.33 68.52\n\n-INV-00010 Customer account with extended legal name 010 Asia Pacific Operations owner 2\n\n-Approved 2026-07-11 2026-08-11 1383.7 69.19\n\n-INV-00011 Customer account with extended legal name 011 Latin America Operations owner\n\n-3 Needs Follow-up 2026-07-12 2026-08-12 1397.07 69.84999999999999\n\n-INV-00012 Customer account with extended legal name 012 North America Operations owner\n\n-4 Queued 2026-07-13 2026-08-13 1410.44 70.52\n\n-INV-00013 Customer account with extended legal name 013 Europe Operations owner 5 In\n\n-Review 2026-07-14 2026-08-14 1423.81 71.19\n\n-INV-00014 Customer account with extended legal name 014 Asia Pacific Operations owner 6\n\n-Approved 2026-07-15 2026-08-15 1437.18 71.86\n\n-INV-00015 Customer account with extended legal name 015 Latin America Operations owner\n\n-7 Needs Follow-up 2026-07-16 2026-08-16 1450.55 72.53\n\n-INV-00016 Customer account with extended legal name 016 North America Operations owner\n\n-8 Queued 2026-07-17 2026-08-17 1463.92 73.2\n\n-INV-00017 Customer account with extended legal name 017 Europe Operations owner 9 In\n\n-Review 2026-07-18 2026-08-18 1477.29 73.86\n\n-INV-00018 Customer account with extended legal name 018 Asia Pacific Operations owner 1\n\n-Approved 2026-07-19 2026-08-19 1490.66 74.53\n\n-INV-00019 Customer account with extended legal name 019 Latin America Operations owner\n\n-2 Needs Follow-up 2026-07-20 2026-08-20 1504.03 75.2\n\n-INV-00020 Customer account with extended legal name 020 North America Operations owner\n\n-3 Queued 2026-07-21 2026-08-21 1517.4 75.87\n\n-INV-00021 Customer account with extended legal name 021 Europe Operations owner 4 In\n\n-Review 2026-07-22 2026-08-22 1530.77 76.54000000000001\n\n-INV-00022 Customer account with extended legal name 022 Asia Pacific Operations owner 5\n\n-Approved 2026-07-23 2026-08-23 1544.14 77.20999999999999\n\n+Invoice Customer Region Owner\n\n+INV-00001 Customer account with extended legal namEurope Operations owner 2\n\n+INV-00002 Customer account with extended legal namAsia Pacific Operations owner 3\n\n+INV-00003 Customer account with extended legal namLatin America Operations owner 4\n\n+INV-00004 Customer account with extended legal namNorth America Operations owner 5\n\n+INV-00005 Customer account with extended legal namEurope Operations owner 6\n\n+INV-00006 Customer account with extended legal namAsia Pacific Operations owner 7\n\n+INV-00007 Customer account with extended legal namLatin America Operations owner 8\n\n+INV-00008 Customer account with extended legal namNorth America Operations owner 9\n\n+INV-00009 Customer account with extended legal namEurope Operations owner 1\n\n+INV-00010 Customer account with extended legal namAsia Pacific Operations owner 2\n\n+INV-00011 Customer account with extended legal namLatin America Operations owner 3\n\n+INV-00012 Customer account with extended legal namNorth America Operations owner 4\n\n+INV-00013 Customer account with extended legal namEurope Operations owner 5\n\n+INV-00014 Customer account with extended legal namAsia Pacific Operations owner 6\n\n+INV-00015 Customer account with extended legal namLatin America Operations owner 7\n\n+INV-00016 Customer account with extended legal namNorth America Operations owner 8\n\n+INV-00017 Customer account with extended legal namEurope Operations owner 9\n\n+INV-00018 Customer account with extended legal namAsia Pacific Operations owner 1\n\n+INV-00019 Customer account with extended legal namLatin America Operations owner 2\n\n+INV-00020 Customer account with extended legal namNorth America Operations owner 3\n\n+INV-00021 Customer account with extended legal namEurope Operations owner 4\n\n+INV-00022 Customer account with extended legal namAsia Pacific Operations owner 5\n\n+INV-00023 Customer account with extended legal namLatin America Operations owner 6\n\n+INV-00024 Customer account with extended legal namNorth America Operations owner 7\n\n+INV-00025 Customer account with extended legal namEurope Operations owner 8\n\n+INV-00026 Customer account with extended legal namAsia Pacific Operations owner 9\n\n+INV-00027 Customer account with extended legal namLatin America Operations owner 1\n\n+INV-00028 Customer account with extended legal namNorth America Operations owner 2\n\n+INV-00029 Customer account with extended legal namEurope Operations owner 3\n\n+INV-00030 Customer account with extended legal namAsia Pacific Operations owner 4\n\n+INV-00031 Customer account with extended legal namLatin America Operations owner 5\n\n+INV-00032 Customer account with extended legal namNorth America Operations owner 6\n\n+INV-00033 Customer account with extended legal namEurope Operations owner 7\n\n+INV-00034 Customer account with extended legal namAsia Pacific Operations owner 8\n\n+INV-00035 Customer account with extended legal namLatin America Operations owner 9\n\n+INV-00036 Customer account with extended legal namNorth America Operations owner 1\n\n+INV-00037 Customer account with extended legal namEurope Operations owner 2\n\n+INV-00038 Customer account with extended legal namAsia Pacific Operations owner 3\n\n ---PAGE---\n\n-INV-00023 Customer account with extended legal name 023 Latin America Operations owner\n\n-6 Needs Follow-up 2026-07-24 2026-08-24 1557.51 77.88\n\n-INV-00024 Customer account with extended legal name 024 North America Operations owner\n\n-7 Queued 2026-07-25 2026-08-25 1570.88 78.54000000000001\n\n-INV-00025 Customer account with extended legal name 025 Europe Operations owner 8 In\n\n-Review 2026-07-26 2026-08-26 1584.25 79.20999999999999\n\n-INV-00026 Customer account with extended legal name 026 Asia Pacific Operations owner 9\n\n-Approved 2026-07-27 2026-08-27 1597.62 79.88\n\n-INV-00027 Customer account with extended legal name 027 Latin America Operations owner\n\n-1 Needs Follow-up 2026-07-28 2026-08-28 1610.99 80.55\n\n-INV-00028 Customer account with extended legal name 028 North America Operations owner\n\n-2 Queued 2026-07-01 2026-08-01 1624.36 81.22\n\n-INV-00029 Customer account with extended legal name 029 Europe Operations owner 3 In\n\n-Review 2026-07-02 2026-08-02 1637.73 81.89\n\n-INV-00030 Customer account with extended legal name 030 Asia Pacific Operations owner 4\n\n-Approved 2026-07-03 2026-08-03 1651.1 82.56\n\n-INV-00031 Customer account with extended legal name 031 Latin America Operations owner\n\n-5 Needs Follow-up 2026-07-04 2026-08-04 1664.47 83.22\n\n-INV-00032 Customer account with extended legal name 032 North America Operations owner\n\n-6 Queued 2026-07-05 2026-08-05 1677.84 83.89\n\n-INV-00033 Customer account with extended legal name 033 Europe Operations owner 7 In\n\n-Review 2026-07-06 2026-08-06 1691.21 84.56\n\n-INV-00034 Customer account with extended legal name 034 Asia Pacific Operations owner 8\n\n-Approved 2026-07-07 2026-08-07 1704.58 85.23\n\n-INV-00035 Customer account with extended legal name 035 Latin America Operations owner\n\n-9 Needs Follow-up 2026-07-08 2026-08-08 1717.95 85.90000000000001\n\n-INV-00036 Customer account with extended legal name 036 North America Operations owner\n\n-1 Queued 2026-07-09 2026-08-09 1731.32 86.56999999999999\n\n-INV-00037 Customer account with extended legal name 037 Europe Operations owner 2 In\n\n-Review 2026-07-10 2026-08-10 1744.69 87.23\n\n-INV-00038 Customer account with extended legal name 038 Asia Pacific Operations owner 3\n\n-Approved 2026-07-11 2026-08-11 1758.06 87.90000000000001\n\n-INV-00039 Customer account with extended legal name 039 Latin America Operations owner\n\n-4 Needs Follow-up 2026-07-12 2026-08-12 1771.43 88.56999999999999\n\n-INV-00040 Customer account with extended legal name 040 North America Operations owner\n\n-5 Queued 2026-07-13 2026-08-13 1784.8 89.23999999999999\n\n-INV-00041 Customer account with extended legal name 041 Europe Operations owner 6 In\n\n-Review 2026-07-14 2026-08-14 1798.17 89.91\n\n-INV-00042 Customer account with extended legal name 042 Asia Pacific Operations owner 7\n\n-Approved 2026-07-15 2026-08-15 1811.54 90.58\n\n-INV-00043 Customer account with extended legal name 043 Latin America Operations owner\n\n-8 Needs Follow-up 2026-07-16 2026-08-16 1824.91 91.25\n\n-INV-00044 Customer account with extended legal name 044 North America Operations owner\n\n-9 Queued 2026-07-17 2026-08-17 1838.28 91.91\n\n-INV-00045 Customer account with extended legal name 045 Europe Operations owner 1 In\n\n-Review 2026-07-18 2026-08-18 1851.65 92.58\n\n+Invoice Customer Region Owner\n\n+INV-00039 Customer account with extended legal namLatin America Operations owner 4\n\n+INV-00040 Customer account with extended legal namNorth America Operations owner 5\n\n+INV-00041 Customer account with extended legal namEurope Operations owner 6\n\n+INV-00042 Customer account with extended legal namAsia Pacific Operations owner 7\n\n+INV-00043 Customer account with extended legal namLatin America Operations owner 8\n\n+INV-00044 Customer account with extended legal namNorth America Operations owner 9\n\n+INV-00045 Customer account with extended legal namEurope Operations owner 1\n\n+INV-00046 Customer account with extended legal namAsia Pacific Operations owner 2\n\n+INV-00047 Customer account with extended legal namLatin America Operations owner 3\n\n+INV-00048 Customer account with extended legal namNorth America Operations owner 4\n\n+INV-00049 Customer account with extended legal namEurope Operations owner 5\n\n+INV-00050 Customer account with extended legal namAsia Pacific Operations owner 6\n\n+INV-00051 Customer account with extended legal namLatin America Operations owner 7\n\n+INV-00052 Customer account with extended legal namNorth America Operations owner 8\n\n+INV-00053 Customer account with extended legal namEurope Operations owner 9\n\n+INV-00054 Customer account with extended legal namAsia Pacific Operations owner 1\n\n+INV-00055 Customer account with extended legal namLatin America Operations owner 2\n\n+INV-00056 Customer account with extended legal namNorth America Operations owner 3\n\n+INV-00057 Customer account with extended legal namEurope Operations owner 4\n\n+INV-00058 Customer account with extended legal namAsia Pacific Operations owner 5\n\n+INV-00059 Customer account with extended legal namLatin America Operations owner 6\n\n+INV-00060 Customer account with extended legal namNorth America Operations owner 7\n\n+INV-00061 Customer account with extended legal namEurope Operations owner 8\n\n+INV-00062 Customer account with extended legal namAsia Pacific Operations owner 9\n\n+INV-00063 Customer account with extended legal namLatin America Operations owner 1\n\n+INV-00064 Customer account with extended legal namNorth America Operations owner 2\n\n+INV-00065 Customer account with extended legal namEurope Operations owner 3\n\n+INV-00066 Customer account with extended legal namAsia Pacific Operations owner 4\n\n+INV-00067 Customer account with extended legal namLatin America Operations owner 5\n\n+INV-00068 Customer account with extended legal namNorth America Operations owner 6\n\n+INV-00069 Customer account with extended legal namEurope Operations owner 7\n\n+INV-00070 Customer account with extended legal namAsia Pacific Operations owner 8\n\n+INV-00071 Customer account with extended legal namLatin America Operations owner 9\n\n+INV-00072 Customer account with extended legal namNorth America Operations owner 1\n\n+INV-00073 Customer account with extended legal namEurope Operations owner 2\n\n+INV-00074 Customer account with extended legal namAsia Pacific Operations owner 3\n\n+INV-00075 Customer account with extended legal namLatin America Operations owner 4\n\n+INV-00076 Customer account with extended legal namNorth America Operations owner 5\n\n ---PAGE---\n\n-INV-00046 Customer account with extended legal name 046 Asia Pacific Operations owner 2\n\n-Approved 2026-07-19 2026-08-19 1865.02 93.25\n\n-INV-00047 Customer account with extended legal name 047 Latin America Operations owner\n\n-3 Needs Follow-up 2026-07-20 2026-08-20 1878.39 93.92\n\n-INV-00048 Customer account with extended legal name 048 North America Operations owner\n\n-4 Queued 2026-07-21 2026-08-21 1891.76 94.59\n\n-INV-00049 Customer account with extended legal name 049 Europe Operations owner 5 In\n\n-Review 2026-07-22 2026-08-22 1905.13 95.26000000000001\n\n-INV-00050 Customer account with extended legal name 050 Asia Pacific Operations owner 6\n\n-Approved 2026-07-23 2026-08-23 1918.5 95.93000000000001\n\n-INV-00051 Customer account with extended legal name 051 Latin America Operations owner\n\n-7 Needs Follow-up 2026-07-24 2026-08-24 1931.87 96.59\n\n-INV-00052 Customer account with extended legal name 052 North America Operations owner\n\n-8 Queued 2026-07-25 2026-08-25 1945.24 97.26000000000001\n\n-INV-00053 Customer account with extended legal name 053 Europe Operations owner 9 In\n\n-Review 2026-07-26 2026-08-26 1958.61 97.93000000000001\n\n-INV-00054 Customer account with extended legal name 054 Asia Pacific Operations owner 1\n\n-Approved 2026-07-27 2026-08-27 1971.98 98.59999999999999\n\n-INV-00055 Customer account with extended legal name 055 Latin America Operations owner\n\n-2 Needs Follow-up 2026-07-28 2026-08-28 1985.35 99.27\n\n-INV-00056 Customer account with extended legal name 056 North America Operations owner\n\n-3 Queued 2026-07-01 2026-08-01 1998.72 99.94\n\n-INV-00057 Customer account with extended legal name 057 Europe Operations owner 4 In\n\n-Review 2026-07-02 2026-08-02 2012.09 100.6\n\n-INV-00058 Customer account with extended legal name 058 Asia Pacific Operations owner 5\n\n-Approved 2026-07-03 2026-08-03 2025.46 101.27\n\n-INV-00059 Customer account with extended legal name 059 Latin America Operations owner\n\n-6 Needs Follow-up 2026-07-04 2026-08-04 2038.83 101.94\n\n-INV-00060 Customer account with extended legal name 060 North America Operations owner\n\n-7 Queued 2026-07-05 2026-08-05 2052.2 102.61\n\n-INV-00061 Customer account with extended legal name 061 Europe Operations owner 8 In\n\n-Review 2026-07-06 2026-08-06 2065.57 103.28\n\n-INV-00062 Customer account with extended legal name 062 Asia Pacific Operations owner 9\n\n-Approved 2026-07-07 2026-08-07 2078.94 103.95\n\n-INV-00063 Customer account with extended legal name 063 Latin America Operations owner\n\n-1 Needs Follow-up 2026-07-08 2026-08-08 2092.31 104.62\n\n-INV-00064 Customer account with extended legal name 064 North America Operations owner\n\n-2 Queued 2026-07-09 2026-08-09 2105.68 105.28\n\n-INV-00065 Customer account with extended legal name 065 Europe Operations owner 3 In\n\n-Review 2026-07-10 2026-08-10 2119.05 105.95\n\n-INV-00066 Customer account with extended legal name 066 Asia Pacific Operations owner 4\n\n-Approved 2026-07-11 2026-08-11 2132.42 106.62\n\n-INV-00067 Customer account with extended legal name 067 Latin America Operations owner\n\n-5 Needs Follow-up 2026-07-12 2026-08-12 2145.79 107.29\n\n-INV-00068 Customer account with extended legal name 068 North America Operations owner\n\n-6 Queued 2026-07-13 2026-08-13 2159.16 107.96\n+Invoice Customer Region Owner\n\n+INV-00077 Customer account with extended legal namEurope Operations owner 6\n\n+INV-00078 Customer account with extended legal namAsia Pacific Operations owner 7\n\n+INV-00079 Customer account with extended legal namLatin America Operations owner 8\n\n+INV-00080 Customer account with extended legal namNorth America Operations owner 9\n\n+INV-00081 Customer account with extended legal namEurope Operations owner 1\n\n+INV-00082 Customer account with extended legal namAsia Pacific Operations owner 2\n\n+INV-00083 Customer account with extended legal namLatin America Operations owner 3\n\n+INV-00084 Customer account with extended legal namNorth America Operations owner 4\n\n+INV-00085 Customer account with extended legal namEurope Operations owner 5\n\n+INV-00086 Customer account with extended legal namAsia Pacific Operations owner 6\n\n+INV-00087 Customer account with extended legal namLatin America Operations owner 7\n\n+INV-00088 Customer account with extended legal namNorth America Operations owner 8\n\n+INV-00089 Customer account with extended legal namEurope Operations owner 9\n\n+INV-00090 Customer account with extended legal namAsia Pacific Operations owner 1\n\n+INV-00091 Customer account with extended legal namLatin America Operations owner 2\n\n+INV-00092 Customer account with extended legal namNorth America Operations owner 3\n\n+INV-00093 Customer account with extended legal namEurope Operations owner 4\n\n+INV-00094 Customer account with extended legal namAsia Pacific Operations owner 5\n\n+INV-00095 Customer account with extended legal namLatin America Operations owner 6\n\n+INV-00096 Customer account with extended legal namNorth America Operations owner 7\n\n+INV-00097 Customer account with extended legal namEurope Operations owner 8\n\n+INV-00098 Customer account with extended legal namAsia Pacific Operations owner 9\n\n+INV-00099 Customer account with extended legal namLatin America Operations owner 1\n\n+INV-00100 Customer account with extended legal namNorth America Operations owner 2\n\n+INV-00101 Customer account with extended legal namEurope Operations owner 3\n\n+INV-00102 Customer account with extended legal namAsia Pacific Operations owner 4\n\n+INV-00103 Customer account with extended legal namLatin America Operations owner 5\n\n+INV-00104 Customer account with extended legal namNorth America Operations owner 6\n\n+INV-00105 Customer account with extended legal namEurope Operations owner 7\n\n+INV-00106 Customer account with extended legal namAsia Pacific Operations owner 8\n\n+INV-00107 Customer account with extended legal namLatin America Operations owner 9\n\n+INV-00108 Customer account with extended legal namNorth America Operations owner 1\n\n+INV-00109 Customer account with extended legal namEurope Operations owner 2\n\n+INV-00110 Customer account with extended legal namAsia Pacific Operations owner 3\n\n+INV-00111 Customer account with extended legal namLatin America Operations owner 4\n\n+INV-00112 Customer account with extended legal namNorth America Operations owner 5\n\n+INV-00113 Customer account with extended legal namEurope Operations owner 6\n\n+INV-00114 Customer account with extended legal namAsia Pacific Operations owner 7", + "visual_scores": [ + 0.7787, + 0.7971, + 0.7967 + ], + "visual_avg": 0.7908, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue81_LayoutOptions_p1_minipdf.png", + "reference_img": "XlsxIssue81_LayoutOptions_p1_reference.png", + "auxiliary_img": "XlsxIssue81_LayoutOptions_p1_libreoffice.png", + "heatmap_img": "XlsxIssue81_LayoutOptions_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 37, + 127, + 1037, + 1524 + ], + "changed_pixels": 501409, + "changed_fraction": 0.24487, + "mean_abs_rgb": 31.7008, + "rmse_rgb": 77.379, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue81_LayoutOptions_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue81_LayoutOptions_p2_minipdf.png", + "reference_img": "XlsxIssue81_LayoutOptions_p2_reference.png", + "auxiliary_img": "XlsxIssue81_LayoutOptions_p2_libreoffice.png", + "heatmap_img": "XlsxIssue81_LayoutOptions_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 37, + 95, + 1037, + 1520 + ], + "changed_pixels": 508221, + "changed_fraction": 0.248197, + "mean_abs_rgb": 32.2803, + "rmse_rgb": 78.1336, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue81_LayoutOptions_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue81_LayoutOptions_p3_minipdf.png", + "reference_img": "XlsxIssue81_LayoutOptions_p3_reference.png", + "auxiliary_img": "XlsxIssue81_LayoutOptions_p3_libreoffice.png", + "heatmap_img": "XlsxIssue81_LayoutOptions_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 37, + 95, + 1037, + 1521 + ], + "changed_pixels": 507436, + "changed_fraction": 0.247814, + "mean_abs_rgb": 32.2212, + "rmse_rgb": 78.0676, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue81_LayoutOptions_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.6309 + }, + { + "name": "XlsxIssue82_5mb", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue82_5mb", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_5mb.xlsx", + "suite": "issue", + "minipdf_size": 21668282, + "reference_size": 21494385, + "pdf_valid": true, + "minipdf_pages": 3781, + "reference_pages": 766, + "compared_pages": 3, + "text_similarity": 0.0485, + "flat_text_similarity": 0.0322, + "word_text_similarity": 0.0485, + "text_diff": "--- minipdf/XlsxIssue82_5mb.pdf\n+++ reference/XlsxIssue82_5mb.pdf\n@@ -1,139 +1,143 @@\n-Name Email Phone Address Company Text Description Job Title\n\n-Quentin Hyatt oschiller@huels.com 573.920.9800 22808 Lueilwitz Street Apt. 357\n\n-Elysemouth, FL 79081 Mraz and Sons Labore et modi cupiditate ratione quisquam aliquid\n\n-porro. Quia laborum ut aliquam quos veritatis magni consequatur. Non deleniti aut\n\n-necessitatibus sint. Minus sed nihil reprehenderit. Sit commodi voluptate in. Sed\n\n-aliquid id tempora distinctio. Nisi id porro rerum modi ipsum. Est sint autem error\n\n-nisi a tempore voluptatem. Rerum incidunt aliquam unde occaecati. Commodi voluptas\n\n-expedita qui molestiae quasi sed. Nemo qui totam quia enim error. Atque est est\n\n-voluptatem. Rerum aut laudantium et laboriosam deleniti. Ut et quia omnis voluptates\n\n-accusamus aspernatur nihil. Emergency Management Specialist\n\n-Lowell Olson eve.lind@braun.info 720.754.6402 67029 Deckow View\n\n-Lake Marvin, NJ 39600 Rosenbaum, Bechtelar and Leannon Soluta nihil quia voluptate quia\n\n-quae. Est ut quia deleniti qui ex voluptatem eum dolorem. Beatae qui enim expedita enim\n\n-consequatur. Animi similique ut quo facilis. Aut iste quibusdam inventore et.\n\n-Consectetur ad molestiae aut ea ea vel. Dolorem cupiditate voluptatem omnis deleniti\n\n-voluptatum officia qui. Suscipit ut dicta optio aspernatur inventore at. Officia sit\n\n-velit quam consectetur ut. Non molestias illo nisi voluptas sit cumque. Ut debitis eius\n\n-minima enim cum qui. Deleniti laudantium officia accusamus eos occaecati ratione.\n\n-Occaecati ad aut et error error magni iste exercitationem. Eos recusandae quis et\n\n-temporibus quasi distinctio et. Fast Food Cook\n\n-Sydnee Crist gunnar.schowalter@hotmail.com 13128126117 908 Matteo Terrace Suite 323\n\n-Kirlintown, MA 47741 Strosin, Kilback and Cummings Voluptatem quia dolor cum.\n\n-Consectetur qui ut aliquid possimus rerum nesciunt non. Quibusdam officia aliquam dicta\n\n-et. Corporis et perferendis quod vitae possimus. Sed aliquid natus et iusto amet\n\n-quisquam ullam. Consectetur eaque ut rerum officia esse sed molestiae. Dolorum\n\n-consequatur aspernatur deleniti voluptatem consequatur. Facere sit voluptatem quasi\n\n-possimus. Vel quo assumenda ad vero sapiente labore. Sit quia voluptatibus voluptates.\n\n-Blanditiis est voluptatum exercitationem asperiores illo itaque. Voluptas consectetur\n\n-corrupti minus distinctio cumque alias sed eos. Rerum quia architecto nostrum ut autem\n\n-id. Eveniet fuga magnam voluptatem aut perspiciatis ratione iste velit. Fugit dolor ex\n\n-ipsum. Qui occaecati expedita aut consectetur. Interaction Designer\n\n-Tomasa Dietrich gerlach.arnold@gmail.com +1 (276) 970-4523 787 Rey Haven\n\n-Keeblermouth, WA 08523-9305 Balistreri-Koepp Provident hic ad sed autem praesentium.\n\n-Alias fugit eveniet nihil delectus aut quas dolores. Quia delectus est quia sed sit eos\n\n-sit. Et cupiditate quia animi labore sit quisquam nostrum. Qui deleniti rerum est\n\n-possimus corporis. Vel explicabo sit ut quod. Dolores vel et pariatur iusto voluptate\n\n-quis. Voluptates dolore eos et tempore et minima consequatur est. Consequuntur non eius\n\n-veritatis. Rem doloremque et ad ratione omnis eos. Deserunt officia sit accusamus. Quia\n\n-odio quia doloribus quaerat. Occaecati nobis debitis natus iure dolorem voluptas amet.\n\n-Ducimus aliquid nihil voluptatum ex. Quasi consequatur ut exercitationem consequatur.\n\n-Excepturi nam possimus molestias adipisci laborum perferendis assumenda. Motorcycle\n\n-Mechanic\n\n-Payton Kutch herman.bartell@yahoo.com 1-201-333-0688 53401 Hahn Drives Suite 920\n\n-North Jaquelinville, MO 72241-6424 Wolff-Erdman Vero iste laborum placeat quia. Ut\n\n-explicabo quasi error. Dolore expedita quasi et quidem deleniti. Cupiditate mollitia\n\n+Name Email Phone Address Company Text DescriptionJob Title\n\n+Quentin Hyoschiller@ 573.920.9822808 LueiMraz and SLabore et mNon deleniEmergency Management Specialis\n\n+Lowell Olsoeve.lind@b720.754.6467029 Dec RosenbaumSoluta nihi Aut iste qu Fast Food Cook\n\n+Sydnee Crisgunnar.sch 1.31E+10 908 MatteoStrosin, Kil VoluptatemSed aliquidInteraction Designer\n\n+Tomasa Diegerlach.arn+1 (276) 97787 Rey HaBalistreri-KProvident hEt cupidita Motorcycle Mechanic\n\n+Payton Kutherman.ba1-201-333-53401 Hah Wolff-ErdmVero iste laCulpa id amJanitorial Supervisor\n\n+Constantin crist.elmer@(551) 609-532868 KulaRunolfssonOfficia voluAut non doPressing Machine Operator\n\n+Tad Hartm kathryn04@1-928-434-77833 KleinKunze, FramIpsum praeFacilis undeTherapist\n\n+Tristian Linlittle.bobbi+1.870.92383843 ReedMitchell-StDignissimoEum beata Technical Writer\n\n+Miss Tierragpredovic@912-817-07310 Elliot FWard-WildAb at even Aut voluptaCredit Checkers Clerk\n\n+Nicolette S domenic43+1-352-61413158 StoltKerluke GroCulpa ea amQuos earumPostsecondary Education Adminis\n\n+Rosalind Frkimberly.p 1.68E+10 700 Hyatt CBode-SwiftEst et qui qEveniet temLoan Counselor\n\n+Hector Bra elarkin@sc1-458-225-987 Isom S Strosin-KuhLabore ut cQuidem poCement Mason and Concrete Fini\n\n+Marjory Kebrandyn.er1-210-606-671 Kaci Vi Mann, McLMolestias aFuga et verBrokerage Clerk\n\n+Forrest Turwilmer93@216.242.51214 Bahrin Blick, O'Co Enim earumAut sequi qMusician\n\n+Kennedy Wgutkowski. +1.321.400693 MossieAbshire, Ri Dolor dolo Rerum asp Industrial-Organizational Psycholo\n\n+Lysanne Hugebert@ya+1.272.4734137 BergeNitzsche LLAsperiores At dolores Interviewer\n\n+Randall Da greenholt.s 1.7E+10 90795 BeieLuettgen, HBlanditiis nEt natus quMixing and Blending Machine Ope\n\n+Chanelle Basally46@gm1.44E+10 8856 Ange Yundt-KirlinVoluptas laDolores moCommunication Equipment Repai\n\n+Mr. Gregorudietrich@1-469-314-750 Ebert SGoyette IncUnde odit dQui aut do Clinical Laboratory Technician\n\n+Rosalia Vondonna.simo 1.39E+10 9022 Cleta Abbott, Ca Soluta id teAut sit et a Mechanical Engineer\n\n+Sigmund Thteresa93@+1.937.5302314 Crist Aufderhar, ConsectetuQuibusdamProducer\n\n+Prof. Janiceahettinger@312.745.3550901 LudwSawayn, WSint aut reiAlias sed voLoading Machine Operator\n\n+Mr. Brad Felhickle@ya856-513-7891499 MosKeebler, LuAssumendaAsperiores Aircraft Mechanics OR Aircraft Se\n\n+Christop Grdstrosin@c(563) 429-4150 BertranKreiger Ltd Quas occaeCommodi aAircraft Body Repairer\n\n+Dr. Toni Moerling43@w+1-765-3826102 AssunJenkins Inc Laborum a Ut aut et u Log Grader and Scaler\n\n+Reece Fadeekirlin@low463.613.729314 Sibyl Feeney GroVoluptate eQuo exerci Recordkeeping Clerk\n\n+Izaiah Skilehgoyette@240-241-268932 BartoDavis-WelcQui fuga doEnim quia aBiologist\n\n+Mathilde S romaguera1-218-298-80599 ProhCarter-PurdAb volupta Similique s Fence Erector\n\n+Mr. Jarred dimitri.hay279.899.676187 Conn KonopelskiAutem sit pSoluta doloParalegal\n\n+Kameron Psimone.hya1-510-891-34203 KathStiedeman Ipsa ut amePerspiciatisDirectory Assistance Operator\n\n+Miss Libby athena68@+1.937.8951155 MaximD'Amore-WEst dolor e Eum voluptGrinder OR Polisher\n\n+Nayeli Bergnadia28@y1-781-797-58562 BotsLittle, Volk Harum sunExercitatio Life Science Technician\n\n+Chaz Bogandevan58@ +1.870.440657 Clotild Stracke IncEst animi eIllum cum qHealth Technologist\n\n+Frieda Mosemuller@e1-458-700-91308 BarbJerde PLC Recusanda Est eos et eRotary Drill Operator\n\n+Jarod Grimqblanda@b283-286-97315 O'HaraUpton Gro Aperiam acQuasi repe Crane and Tower Operator\n\n+Mr. Mortimraleigh27@+1.989.30667860 Larr Satterfield Architecto Corporis ip Drilling and Boring Machine Tool S\n\n+Jamel Waeborer.baby(603) 715-99430 PrudeDach-Kova Aliquid quoMolestiae qEnvironmental Scientist\n\n+Reggie Simrosemary.k+1.406.75482982 Hag Steuber-Je At quia maEt voluptasProduction Inspector\n\n+Jermey Mushanahan.s361.565.143769 NathaKlocko, OlsUt quae ullId qui quasComputer Hardware Engineer\n\n+Ms. Bettie lschiller@h813.448.173590 Kayli Herman-ScOmnis sit cLibero qui Telephone Station Installer and Re\n\n+Jairo Strosieunice85@+1 (540) 939011 JakubChamplin, Reiciendis DoloremquVisual Designer\n\n+Delbert Mudskiles@w 410.520.528242 Trace Raynor PLCModi even Consequat Staff Psychologist\n\n+Mr. Huntermarlon.wit(754) 982-6556 Isabell Streich, TroIn esse nonAut quam qProduct Specialist\n\n+Dr. Nedra Uporter.scho(281) 622-958710 RoxaRosenbaumEa eaque tePorro et et Engineer\n\n+Katrine Satreyes95@h951.258.8086792 EffieLakin-HarriItaque vel lAnimi volu Receptionist and Information Cler\n\n+Dr. Jarrod Fignacio.feil +1-318-420150 ClemmBogisich-StHic at et sinFacere rati PR Manager\n\n ---PAGE---\n\n-nihil nihil quam sit voluptatem voluptatem. Culpa id amet qui. Nisi dolor tempore\n\n-possimus officia accusantium culpa eum. Ut molestiae quos ut alias. Ut ut et molestias\n\n-in atque. Aut est qui quia cumque ut ut consectetur. Magni perferendis reiciendis nam\n\n-laudantium iste. Doloribus dolore distinctio eum quo omnis expedita. Iste sunt magni\n\n-nihil molestiae velit quidem. Ut sit reprehenderit itaque et omnis ad perspiciatis.\n\n-Janitorial Supervisor\n\n-Constantin Berge crist.elmer@runolfsson.info (551) 609-5462 32868 Kulas Via\n\n-Randalltown, CA 90194 Runolfsson Inc Officia voluptatem magni a. In ea consequatur\n\n-ipsam. Ut qui voluptate deleniti. Aut non doloribus molestiae. Enim eum tempore neque\n\n-voluptatum facere id et. Quidem maxime eum nam sit eos nemo totam. Et voluptas soluta\n\n-veniam voluptas et fugiat. Non soluta ullam accusamus dicta cupiditate consequatur\n\n-perferendis. Voluptatem culpa inventore eos autem totam. Voluptatem deleniti vero\n\n-molestias nihil eligendi neque est. Et vel blanditiis ut architecto recusandae aut\n\n-debitis. Velit corrupti voluptatum qui odio quas veritatis ut. Sed qui et eveniet\n\n-recusandae illum unde. Pressing Machine Operator\n\n-Tad Hartmann kathryn04@gmail.com 1-928-434-0830 77833 Klein Islands Suite 594\n\n-Waelchiside, TN 14442-0489 Kunze, Frami and Metz Ipsum praesentium qui necessitatibus\n\n-ut natus quo. Incidunt tempora quas voluptatem itaque nam eos ut aut. Dicta qui qui\n\n-voluptas corporis id et sit. Iure vitae officiis dolor. Facilis unde id temporibus\n\n-tenetur veniam. Et qui asperiores quae numquam asperiores ea officiis. Consequatur\n\n-cumque ut debitis magnam eos rerum explicabo. Necessitatibus quidem ipsam nobis vel\n\n-facilis est qui. Iusto dolores voluptatem ut aut ex atque. Tempora odio omnis\n\n-voluptatem placeat. Reiciendis dolor quibusdam consectetur occaecati cumque voluptas\n\n-sit. Omnis et in deserunt esse. Facere qui porro harum aut. Therapist\n\n-Tristian Lindgren I little.bobbie@hotmail.com +1.870.923.9785 83843 Reed Hills Apt. 054\n\n-Douglasberg, MI 27750-7472 Mitchell-Stiedemann Dignissimos at aperiam quia porro.\n\n-Voluptatum sapiente laudantium ut dolor. Quia eaque voluptatem quidem natus facilis.\n\n-Voluptatem omnis officiis ipsa accusamus expedita est. Eum beatae neque animi quaerat\n\n-explicabo. Ipsa alias nihil qui maiores quia. Dolorum aut ea est velit vero veniam\n\n-nihil. Labore harum rem voluptas est. Recusandae nihil odio reprehenderit. Omnis\n\n-voluptatem quia id natus iure eos voluptas quo. Voluptatem ad maxime molestiae nisi.\n\n-Doloribus dolor porro ut qui quia totam. Provident saepe sequi rem eveniet. Deserunt et\n\n-reprehenderit et aliquam debitis sit. Nihil eaque numquam eveniet quis ut est nulla.\n\n-Molestiae aspernatur expedita eos qui in. Sint at repellat sapiente aperiam. Adipisci\n\n-culpa beatae recusandae laudantium. Technical Writer\n\n-Miss Tierra Cruickshank MD gpredovic@hayes.com 912-817-0782 310 Elliot Field Suite 766\n\n-Kaiachester, NJ 78553 Ward-Wilderman Ab at eveniet quia minima id quo eveniet. Autem\n\n-enim laudantium amet non eos optio numquam. Eos omnis mollitia doloribus ullam. Nihil\n\n-vero dolores blanditiis. Aut voluptatibus earum harum et amet. Harum repudiandae eaque\n\n-quia omnis et eaque quaerat. Rem nesciunt ea sed ut iure culpa. Magnam iste quod atque\n\n-suscipit. Iure libero voluptatum odio quidem. Iure qui et ducimus quod cupiditate. Modi\n\n-incidunt repellendus dolorem non voluptatibus et aut. Tempora eligendi omnis saepe ut\n\n-labore dolores nobis. Iure accusantium sunt rem incidunt. Ut libero quasi incidunt.\n\n-Credit Checkers Clerk\n\n-Nicolette Stokes domenic43@dibbert.info +1-352-614-3553 13158 Stoltenberg Drive Suite\n\n-965\n\n+Brenna Schhelen57@y 1.46E+10 8311 BoscoOberbrunnVel nemo oEsse earumRental Clerk\n\n+Candice Rockoelpin@ 223.596.0941509 Roh Parisian anConsequat Autem om Interior Designer\n\n+Hertha Gayurippin@b 984-914-76459 Schust Beatty-Joh Labore par Error beataAircraft Launch Specialist\n\n+Beverly He bogisich.te479-344-2187134 ElisaVonRuedenAspernaturIncidunt esTherapist\n\n+Enos Wildejudy32@gm+1-540-8951233 Jama Kessler-MaTempore qSed fuga inPatrol Officer\n\n+Hannah Makari66@ma703.247.34254 Karian Veum Ltd Veniam qu Est aut inciParalegal\n\n+Magdalenajaeden20@+1-916-380510 Heane Nader, Wo Nisi tenetuVoluptates School Bus Driver\n\n+Prof. Kale Jschowalter341.552.57132 Cecile Kshlerin, H Dolores fugVero harumTeacher\n\n+Constance connelly.he980.839.7772179 EsteTerry PLC LaudantiumEnim explicCafeteria Cook\n\n+Caesar Durvdooley@b719-855-608487 MoseBotsford-MRepudiand Modi ad m Engine Assembler\n\n+Dr. Barbarajulia.olson@+1 (620) 305720 Trant Tillman-KieEst quidemAutem recuElectrotyper\n\n+Jarred Kleinhagenes.m315-845-0317850 Tani Paucek, Fe DignissimoDeleniti saeReal Estate Sales Agent\n\n+Nyasia Bradrashad68@(313) 726-3416 Elise LaZboncak-A Enim in recAliquid reicInteraction Designer\n\n+Rowena Kinmariah29@ 1.39E+10 510 Klocko Hayes, Het Aliquid et vMinima omDirector Of Marketing\n\n+Dr. Aric Ro alycia09@h559-279-692580 GradyWeissnat-HRerum ad aDolore neqPrecious Stone Worker\n\n+Murl Bahri aubree74@380-613-118410 GrantFlatley LLC Nisi labore Iure repellaOperations Research Analyst\n\n+Enid Lefflererica89@y 352.489.25367 AdamsCarter GrouEt voluptasEos veritat Social and Human Service Assistan\n\n+Marjorie H bergnaum.1-283-478-8007 CamrRempel, Ki Fugit atqueDoloremquWebmaster\n\n+Delbert Schjune.ullrich(732) 879-751422 BeveCummerat Non voluptMagnam n Announcer\n\n+Armani Krisisaiah95@g980-658-11423 RitchieSchaefer-F Sunt id qui Quas quo qFarmworker\n\n+Emery D'Amdevin73@h(240) 487-76003 Delm Toy-WalterAccusantiuAlias sed q Medical Assistant\n\n+Kirstin Hilp baumbach 308.654.577362 Isabe Schmitt Gr Consequat Et sint ut e Aircraft Rigging Assembler\n\n+Prof. Damaconn.anna (862) 562-589821 JohnSchoen-HinTotam auteVoluptas p Loan Interviewer\n\n+Gerald Pricjovani.baile435.856.764772 Fried Haag Inc Id hic laudaUt accusanPhysical Therapist Aide\n\n+Mr. Gersonbeier.treve1-617-684-36154 Boy Krajcik-JacoId id eligenDelectus rePostsecondary Education Adminis\n\n+Zaria Borergleason.ny 586-452-77957 Davis LArmstrong,Totam doloCumque enChiropractor\n\n+Dr. Felicia Thertha.jaco1-323-708-9794 Rippi McLaughlinDolor aute Maxime to Electrical Engineer\n\n+Conner Ripgoldner.me+1-830-546484 Hudso AltenwerthEum corpo Nulla quia Substance Abuse Social Worker\n\n+Mr. Rigoberunolfsson 689.992.906028 Quigl O'Conner aInventore sCupiditate Aircraft Launch Specialist\n\n+Prof. Gabri chad44@y 661.756.428028 O'KeeWyman, ChDoloremquEt veritatis HVAC Mechanic\n\n+Americo Hyjsawayn@v984-313-479743 Charl Lemke, CroSed recusa Sit et delenProfessor\n\n+Winona W litzy74@ya260-906-151509 RebecFahey, Wo Quia culpa Et sequi ut Maintenance Supervisor\n\n+Miss Wendtbeier@ho +1-941-632537 WandaLangworth Tempore nBlanditiis fuMedical Transcriptionist\n\n+Dr. Vince F bette01@b+1-920-79158974 AustNicolas, CaAspernaturVoluptatib Pump Operators\n\n+Kara Moris beatty.rob +1-567-479356 Grady Hahn, WolfSunt corpoVoluptate dPrepress Technician\n\n+Peter Croo bins.regina283.923.32189 Floren Leannon InIn illum volVoluptas d Shoe and Leather Repairer\n\n+Prof. Valenywolff@gm+1.628.58465234 FreeBernhard aAperiam reQuia est doBusiness Development Manager\n\n+Jevon Koss kfeest@joh(657) 881-183762 AnitRolfson GroQui quam aQuia optio Registered Nurse\n\n+Laurel Bah aleen58@h+1.270.7322715 HoweJakubowsk Cum qui noDicta volupLegal Secretary\n\n+Lazaro Bartmarvin.koh(757) 784-4189 BalistreJaskolski, BId et liberoEst quod n Streetcar Operator\n\n+Idella Lock geo.kessler201.266.4525945 WebKassulke G Reiciendis Aliquam utCoremaking Machine Operator\n\n+Lola Sanforetorp@yah717.721.40144 Nick PoAbbott, SchVoluptatib Magnam a Railroad Inspector\n\n+Brionna Prorcorkery@y+1-708-918250 ErnestiWalsh-WatAt animi iu VoluptatemTextile Dyeing Machine Operator\n\n+Aniya Stiedbell.schaef +1-734-3205596 O'HarJerde and SSint ea mo Nobis volu Library Technician\n\n+Stephan Lekatrine68@(678) 874-47545 Jade Klocko, SchOfficiis seqAperiam arHistorian\n\n+Mrs. Linneacandido.ke678.578.3697459 Haa Reinger-DuDeserunt s Exercitatio Vice President Of Human Resourc\n\n+Dr. Harmonzhartmann+1-626-797766 ManteWindler, BeVeniam expHarum undTypesetter\n\n ---PAGE---\n\n-Gulgowskihaven, NY 27709 Kerluke Group Culpa ea amet ab voluptate voluptas dolorem.\n\n-Iste at id illum libero. Aliquam nostrum libero ut possimus. Quo quia hic soluta\n\n-architecto. Quos earum necessitatibus qui omnis eum cupiditate quia. Vitae et\n\n-accusantium aliquid. Atque rerum repudiandae aperiam rem deserunt. Perferendis nulla\n\n-sequi quae in ullam sed repudiandae. Distinctio accusamus nesciunt doloremque aut\n\n-corporis. Aut quae officiis atque vel nisi dolor consequatur magnam. Sequi quidem\n\n-dolore doloribus nihil pariatur voluptatibus. Aut quia officiis saepe numquam\n\n-consequatur maxime. Debitis cupiditate dignissimos vel iure quia omnis sint aut. Aut\n\n-minima temporibus cupiditate molestiae dolore omnis ea. Postsecondary Education\n\n-Administrators\n\n-Rosalind Franecki kimberly.price@gmail.com 16786269653 700 Hyatt Centers Apt. 867\n\n-O'Harahaven, NV 46656 Bode-Swift Est et qui quo quia sit nulla. Error aliquam nihil\n\n-corrupti. Voluptas ducimus aut doloribus consequatur illum tempore quos. Et nihil rem\n\n-qui ut distinctio. Eveniet temporibus aut nemo ut quis temporibus possimus. Ut et eos\n\n-est ipsum ipsum autem qui. Ut et mollitia consequatur. Magni tempora blanditiis eius\n\n-quis incidunt quisquam molestiae ut. Veritatis atque adipisci fuga sapiente. Ipsum\n\n-beatae voluptatem excepturi soluta autem officiis reiciendis sequi. Repellat ex optio\n\n-dicta temporibus aliquam sit. Omnis ex et ut iusto earum fugiat. Nihil assumenda\n\n-reprehenderit magni iste exercitationem eum natus. Officiis sunt ut illum porro. Ab\n\n-optio aut et iste magnam quasi id. Rerum delectus accusamus quo et eum soluta eligendi.\n\n-Quo odit asperiores consequatur nihil recusandae qui qui. Loan Counselor\n\n-Hector Brakus elarkin@schinner.com 1-458-225-2266 987 Isom Summit Apt. 782\n\n-New Michellebury, CA 98895 Strosin-Kuhn Labore ut consectetur corrupti illo\n\n-perferendis. Sunt cumque quaerat non mollitia libero. Rerum quia consequuntur porro\n\n-natus. Quidem possimus hic aut et error laboriosam. Expedita quis et quos commodi\n\n-voluptas architecto. Sit laborum adipisci et amet possimus est voluptatem. Mollitia\n\n-saepe voluptate molestias ea ut. Enim distinctio aut omnis aut voluptatibus cupiditate.\n\n-Non inventore numquam est dolores praesentium. Et sed iusto quae est qui fugiat saepe.\n\n-Officiis aliquam libero aut quibusdam. Reiciendis qui ut numquam. Minus eveniet\n\n-explicabo vel minima minus reiciendis totam. Quibusdam vel est qui laborum aut\n\n-blanditiis ducimus. Cement Mason and Concrete Finisher\n\n-Marjory Kertzmann brandyn.erdman@yahoo.com 1-210-606-6776 671 Kaci View\n\n-Port Deron, LA 54797 Mann, McLaughlin and Ritchie Molestias aut et occaecati magnam ut.\n\n-Esse error est qui voluptate impedit quia dolor. Fuga et vero magni necessitatibus\n\n-itaque dolorem. Deleniti est cum accusamus ad. Eos perspiciatis voluptatem consequuntur\n\n-adipisci voluptatibus corrupti. Perspiciatis aliquid nisi dolores vitae est ad sed.\n\n-Quam aperiam omnis ut harum. At maxime neque vitae. Ut aut dolor ipsam nihil libero. Ut\n\n-dignissimos perferendis velit consequuntur. Voluptatem illo officiis sapiente nobis\n\n-omnis rem quis sed. Dolore optio nulla asperiores. Illo tempora at ut corporis. Dolorum\n\n-non rerum suscipit veritatis. Quo necessitatibus consequatur voluptas molestias saepe.\n\n-Brokerage Clerk\n\n-Forrest Turner IV wilmer93@ebert.net 216.242.5184 214 Bahringer Route Apt. 038\n\n-East Emily, VT 64991-9361 Blick, O'Conner and Davis Enim earum nostrum eaque autem\n\n-quaerat aspernatur. Aut dolorem facilis sed rem ea ut eos. Neque aspernatur velit ipsum\n\n-ad natus id incidunt veniam. Aut sequi quae sit et quisquam minus qui. Sunt soluta\n\n-error officia ea esse ut ea. Quaerat ex dolore sit provident aliquam tempore ut. Odit\n+Nora Kub angie.bergs 1.84E+10 648 Hilton Lang and S Repudiand Saepe aut vExtruding Machine Operator\n\n+Camylle Gumorn@san1-763-493-639 Rex WaBosco-McCDolor fuga Excepturi eGlazier\n\n+Keara Croogertrude.ro+1 (281) 666663 OletaHodkiewiczTempore nUt vel et veElementary and Secondary Schoo\n\n+Louisa Van jordi77@gm(919) 523-55284 KarsoKlocko GroUt voluptatIllo eum poService Station Attendant\n\n+Dr. Floyd B imelda.diet+1-407-803386 Bosco Denesik-CoUt esse sedEsse fugit uAdministrative Support Superviso\n\n+Rachael Crogturner@g 520.490.43291 Estelle O'Conner, Est et dolo Et minima Sheet Metal Worker\n\n+Johann Muguy56@do 1-347-934-560 Hayes Stamm, StrEt exercitatUnde eius qGlass Cutting Machine Operator\n\n+Silas Danie elissa29@k+1-878-79041157 WisoDouglas, WFacere archAt nobis quMusician\n\n+Prof. Dona marcos82@+1.312.562925 BuckridJacobi-Har Quam moleDelectus peCultural Studies Teacher\n\n+Evan Wittinsheaney@y1-747-520-26634 GianZiemann-B DignissimoSit volupta Rehabilitation Counselor\n\n+Prof. Moharaymond.fr+1 (564) 3028142 LourFay Ltd Est eum sinDolores vit Grounds Maintenance Worker\n\n+Prof. Veronyweissnat@1-414-519-6123 West O'Conner GExcepturi qOdio aut seBrattice Builder\n\n+Jovani Labaschaden.m+1.641.3014512 Trem Cole Inc Sit dolores Praesentiu Precision Aircraft Systems Assemb\n\n+Mya Hesse athena67@+1-279-666115 Kaci In Dooley, JacNemo aliasNobis a repParking Lot Attendant\n\n+Miss Augusryan.allie@351.225.7692497 Jam Predovic, STenetur naUt omnis v CSI\n\n+Deonte Pronicola.web 1-985-880-99073 RoscEmmerich-At vitae ve Qui nam niDoor To Door Sales\n\n+Simeon Grecorbin.kutc+1-774-603209 RueckeO'Conner PAssumendaQui repreh Network Admin OR Computer Sys\n\n+Blair Kohle vschmidt@502.577.252647 LeopoKohler-BartQui deseruNihil maiorShuttle Car Operator\n\n+Devonte Haarjun96@s1-240-685-57897 Lars Bailey PLC Aliquid qui LaudantiumProsthodontist\n\n+Genoveva samantha4551-831-012967 MikelO'Conner, Autem nemIpsum reprProsthodontist\n\n+Deborah Ojewel.bergn(225) 395-359250 Kier Morissette Libero ipsuDicta quas Tour Guide\n\n+Earline Grerasheed.bla+1-407-87250070 BreaDare GroupQui recusa Sunt ut repCustomer Service Representative\n\n+Dr. Jordon jamaal57@(586) 597-15542 HermWeissnat, REum iure a Corrupti euTour Guide\n\n+Prof. Francamina82@(973) 709-1197 Helme Bashirian GOdio est quNatus consCommand Control Center Officer\n\n+Arno Jast evan.harris361-989-9345465 TremWest PLC Ut a et per Et atque al Bookkeeper\n\n+Bonita Lemmallory.zie+1.540.6558639 GottliKonopelskiQuam ea mMaxime as Aircraft Cargo Handling Superviso\n\n+Ms. Shannobergnaum.+1 (540) 26695 HeathcRempel LtdHic alias voRerum praeRefrigeration Mechanic\n\n+Lucie Davisabernathy.(469) 927-7957 MacejkFeil-Doyle Id non eumExcepturi oConveyor Operator\n\n+Jettie Kulasylarson@ya727.916.919064 GwenJacobs, Zul Eos qui ut aEsse rem v Social Service Specialists\n\n+Eda Ullrich crona.jacqu423-823-536441 GulgoUpton Inc Magnam e Est doloremChild Care\n\n+Carley McKtromp.juni (478) 585-219627 Veu Powlowski-Eveniet autRepudiand Carpenter Assembler and Repaire\n\n+Dr. Americ sbrown@g 1-458-858-261 LuettgeEbert and SCum esse sQuisquam Radio Mechanic\n\n+Grace Corkmarilou.tow+1.847.4489700 Will RMante LLC Est in volupQuibusdamPostmasters\n\n+Dr. Zane Cogbode@mo+1 (973) 23398 Alan LiRatke, WolQuia fugiatEaque modAnimal Husbandry Worker\n\n+Trever Hillshills.hassan1-803-390-463 Skiles SBogisich PLUt et quia dNatus quaeReal Estate Sales Agent\n\n+Glenda Ritcxkulas@ya 417.525.8246182 Hirt Emmerich, Est fuga naEt architectAnimal Breeder\n\n+Leon Gerla fullrich@cr1-754-625-37482 ElbeRosenbaumEarum bea Alias et et nSpeech-Language Pathologist\n\n+Jacky Schamqnienow@ 1.38E+10 741 Hayes Spinka-RodAccusamusIn amet du Insurance Underwriter\n\n+Miss Bernitflatley.den 1-850-872-50381 Kshl Eichmann- Rerum ut cError minu Bindery Machine Operator\n\n+Rick Jenkinawaters@g(210) 663-16543 Lowe Bayer LLC Eum maiorConsectetuSys Admin\n\n+Mr. Kamro elissa.hintz747-447-888169 Karl GZulauf-StreNihil qui quDolores ut Financial Examiner\n\n+Albina Manleonor.pur 602.426.75119 PaytonWhite, GislSimilique eSit maioresMail Clerk\n\n+Adam Bergflabadie@c682-981-0196270 Spo Abshire-ProLaborum a Ipsum repeBroadcast News Analyst\n\n+Rafael Gerlmeggie.zbo858.951.459711 BashiUpton Inc Et quo persId non et mOccupational Therapist Aide\n\n+Prof. Hermxbarton@o+1-412-537936 Mabel Jakubowsk Facilis liberVoluptatib Valve Repairer OR Regulator Repa\n\n+Prof. Montyost.cydne 480.295.0922290 AbshEmard-Ber Aut repellaCommodi bMarine Cargo Inspector\n\n+Sarah Lednona29@we602.463.4972401 TromJenkins-MaDolores quSunt id ma Telecommunications Facility Exam", + "visual_scores": [ + 0.8323, + 0.8165, + 0.8108 + ], + "visual_avg": 0.8199, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue82_5mb_p1_minipdf.png", + "reference_img": "XlsxIssue82_5mb_p1_reference.png", + "auxiliary_img": "XlsxIssue82_5mb_p1_libreoffice.png", + "heatmap_img": "XlsxIssue82_5mb_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 109, + 127, + 1100, + 1524 + ], + "changed_pixels": 459810, + "changed_fraction": 0.224555, + "mean_abs_rgb": 34.049, + "rmse_rgb": 81.4668, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue82_5mb_p2_minipdf.png", + "reference_img": "XlsxIssue82_5mb_p2_reference.png", + "auxiliary_img": "XlsxIssue82_5mb_p2_libreoffice.png", + "heatmap_img": "XlsxIssue82_5mb_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 109, + 95, + 1100, + 1520 + ], + "changed_pixels": 454355, + "changed_fraction": 0.221891, + "mean_abs_rgb": 33.5839, + "rmse_rgb": 80.8208, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue82_5mb_p3_minipdf.png", + "reference_img": "XlsxIssue82_5mb_p3_reference.png", + "auxiliary_img": "XlsxIssue82_5mb_p3_libreoffice.png", + "heatmap_img": "XlsxIssue82_5mb_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1650 + ], + "difference_bbox_px": [ + 109, + 95, + 1100, + 1524 + ], + "changed_pixels": 464425, + "changed_fraction": 0.226809, + "mean_abs_rgb": 34.3736, + "rmse_rgb": 81.812, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.4474 + }, + { + "name": "XlsxIssue82_SampleTestData5mb", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue82_SampleTestData5mb", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_SampleTestData5mb.xlsx", + "suite": "issue", + "minipdf_size": 15860614, + "reference_size": 32924505, + "pdf_valid": true, + "minipdf_pages": 2860, + "reference_pages": 1668, + "compared_pages": 3, + "text_similarity": 0.202, + "flat_text_similarity": 0.0668, + "word_text_similarity": 0.202, + "text_diff": "--- minipdf/XlsxIssue82_SampleTestData5mb.pdf\n+++ reference/XlsxIssue82_SampleTestData5mb.pdf\n@@ -1,148 +1,146 @@\n-ID Name Email City Country Department Notes Value1 Value2\n\n-1 User 1 user1@example.com Toronto UK IT\n\n-pwJqdCFmi9f3VNV2YwaLNAb0WECYRuULuoi2bEFCgvvrQHlW5DWfeejPxch0lpViV9PQEFb6ckWdKkIjahzoL\n\n-M4m6nQKervGIB7WKk7qrjRpJBhPXRjeMCiFdRbxtQx3FzY8RDaMGl877gVNOie1sVgU3iUCtWTjvOAu5rDzsF\n\n-kejIluN3Ja 760613 0.6770745572576615\n\n-2 User 2 user2@example.com Delhi Germany IT\n\n-S6gIttJQrYiSzyLY3QuHactwcdkwqjtRFxYZlaYhd0BWAJbdNVPXGJZCBNn6txuSk9oNwhnsRzSJ3AzexOMpJ\n\n-NesVMjyJTRjwutzXD4SXwiFrsLdWD2KEL2cAM0zLVAvD5Dd95GlsjH7IV5BgZEKuutgPDI3ASvYJaifbsuKVM\n\n-p95Xr290fp 456305 0.8501621724213791\n\n-3 User 3 user3@example.com Sydney UK Finance\n\n-mmp5R2oKHsB8RROlbucOqdeD4iUl2Hm3V5OZQ4lhAzXVpgoTp1znWZe4W6BrWCwfdvlCpw65blcNJwsQA4a\n\n-TrzxErXZgiaKr7hLayP0W3rSdDcIKqB0KYpMF7Hs8QsGvecoku4ukWgdudxuk0ajy8VwRV2Bqq9hNpuCRKh3d\n\n-P4eXVhgCIF 802115 0.4416719890762297\n\n-4 User 4 user4@example.com Berlin Australia HR\n\n-BpiYtDuC1OUgu2u865UICTyVhEEIX51px6CXqaolV7UbiPCDRyNGQmRO3v0cvf70dCzpBX97uDxTWc6snQM\n\n-qthTCwOnRAuSjbIWE0uqiAWVJyFRyk9SEPzUZJi25u68EkgOoAfH7g45rnObtJanGkpyDojryIyRwEPQM4UoK\n\n-RVZhfY4yqD 929132 0.9823118697747054\n\n-5 User 5 user5@example.com Berlin France HR\n\n-DXnTIbeTy46702rrKDKNzASnQw4ChJpuYhLJzUiKWX2TWU6xHnMI8A5KBm9hfNdpXEWmg1oV5qgC6O0uM\n\n-qNvacvLLAjYG3HSYxcShvOri52FTIT2ZN4ry0qXMZYdXAGa9wpvpBocxGudxh9ssvqHkyfNIJSEvShXppGgoo\n\n-bgoiX1jaXK 178492 0.9325545257171228\n\n-6 User 6 user6@example.com Delhi Australia HR\n\n-Iw9DkBEDhz7cDHI9CUJV9xWexFnDhADCR0wyErovU95yI9AZ4mdHcvErcdCwdcsV14rRWjl84UCSrrzFTdO9W\n\n-hvbGbFbM8463dWtnG96fy871hwlyypE4wzB2Nd8yyiDf6zVBx6mdgv6wPRQLU7obqxz2scbycTt0sVS6VRSPl\n\n-yUa3zK106U 518412 0.1261322195574193\n\n-7 User 7 user7@example.com Toronto Australia Finance\n\n-tN5mvZpZFMcUmvaApxAHahRhVeRmwgPDvDFRKGBacMrr6nD79f5sTNjEKsizYDbZVIA750Gqbw8EyzoiZx4y\n\n-PNJkm2gmshfEr86vGWRHeRTMkNv94nGTLeRUGXBrOKLElADF1wutStrQs5EESyMTHhl0L8s4FqrBX0IqOrfz\n\n-ZYIBeIeluG 72218 0.5143867370818228\n\n-8 User 8 user8@example.com Tokyo USA Ops\n\n-xqmF3Xc2nJ3TGOXl6w8pjktccWZzMdO8IJcgAnoIO2We8OBFEppkCSPTjlHTb2ICCMghnTG0MXZa5tZ4AVNX\n\n-yFFV9T8CihsUoYzNKo7GAOxG0XgpbyYQ2Do6OPwbfDDkbYejtMcg9695fIBuDpYg9ZTIYx3mX3CAM1Sal7DjR\n\n-kqmw7hOPEk 238623 0.8771951486525974\n\n-9 User 9 user9@example.com London Australia Ops\n\n-k099328Ns8OnNYJCuMWnHI9rr952ZY5xreEYYWAvua81WX2eE491PxxHzKPWpYIImR5gKMdH35IqXcRzieqj\n\n-Yv8GeSxFANGaebDDSHGsWaBhHZodIH7mSaIi71O9pTkvgOyJZf91PDHTJg4UyAQTb6pS3GsxqJ8KuumfaQ3\n\n-zGJWBUOY5D 369743 0.6153598149049124\n\n-10 User 10 user10@example.com Delhi Germany IT\n\n-3YvAHvcSGOSeakZF6emxuQclrGOc6siQF0jr9ZLyfRR2o0IuoPYB4Diwa51MywTBVJbNXe8OdWErVr8pDtSZE\n\n-xnKMEgHEeeYsC8QC97KzpD1qElHqHHds9bR4l2B8lYwNZD7PM220sHvF7XHqaRxcKnT1EhDb3iyUn2fcoXqq\n\n-HlvqKawDog 24089 0.9405732921668827\n\n-11 User 11 user11@example.com Sydney France Sales\n\n-r2O9ZtMJy9mYmdZcIGRuXXmGu9FbpsQe5kCkC8tZbNHOFpq06QRQtoVHSlRnpYZEWhip3AfemN5czYclDNp\n\n-UBFrivEPeBBvRk4okbfA4h2ALPE9FBjoNc3ISP7CC6zRKNuM1shRDTh6WDETvsZxyMKwzfLWY7NMxJAco9P\n\n-m2lsgXYr4F 929463 0.4255768927573623\n\n-12 User 12 user12@example.com Tokyo Japan Sales\n\n-y8JVUgTdffvDfzZQz3UYuxhlCu9wU7JLx9G9QeU8UROcXuPCmX9wUXzuhrkBQAVzyaYoqv3HRd88uFvW9W7\n\n-hhGQC9SdIv1hpOPpFyRv6MULncHyo21Kadizsr2CfA8iKTC96XRrpI4DKNYJAipTvJMtTtDKSTLHt99hlUFhZ\n\n+ID Name Email City Country DepartmenNotes Value1 Value2\n\n+1 User 1 user1@exaToronto UK IT pwJqdCFm 760613 0.677075\n\n+2 User 2 user2@exaDelhi Germany IT S6gIttJQrYi 456305 0.850162\n\n+3 User 3 user3@exaSydney UK Finance mmp5R2oK 802115 0.441672\n\n+4 User 4 user4@exaBerlin Australia HR BpiYtDuC1 929132 0.982312\n\n+5 User 5 user5@exaBerlin France HR DXnTIbeTy 178492 0.932555\n\n+6 User 6 user6@exaDelhi Australia HR Iw9DkBEDh 518412 0.126132\n\n+7 User 7 user7@exaToronto Australia Finance tN5mvZpZF 72218 0.514387\n\n+8 User 8 user8@exaTokyo USA Ops xqmF3Xc2n 238623 0.877195\n\n+9 User 9 user9@exaLondon Australia Ops k099328Ns 369743 0.61536\n\n+10 User 10 user10@exDelhi Germany IT 3YvAHvcSG 24089 0.940573\n\n+11 User 11 user11@exSydney France Sales r2O9ZtMJy 929463 0.425577\n\n+12 User 12 user12@exTokyo Japan Sales y8JVUgTdff 777742 0.638975\n\n+13 User 13 user13@exTokyo India Support v5XTbqBUb 223784 0.231851\n\n+14 User 14 user14@exNew York Japan Ops pxwvBMPV 187168 0.756212\n\n+15 User 15 user15@exSydney Japan Ops NPs68SCLX 332785 0.347663\n\n+16 User 16 user16@exDelhi Canada Ops JMgIo6JDv 966595 0.109497\n\n+17 User 17 user17@exParis Australia Ops LWFef8uCc 429423 0.17287\n\n+18 User 18 user18@exTokyo Australia Ops 4y2atULBn 179954 0.914514\n\n+19 User 19 user19@exBerlin France Finance MoiyHIdz6 416476 0.417835\n\n+20 User 20 user20@exLondon India Sales Gg4eeM2f 152083 0.279652\n\n+21 User 21 user21@exTokyo India Finance hk0tj7hQtj 913510 0.521474\n\n+22 User 22 user22@exNew York UK IT FexqT7i2Zp 959850 0.200401\n\n+23 User 23 user23@exSydney Japan Ops wZdZL0KlV 813108 0.075899\n\n+24 User 24 user24@exLondon Germany Support I6go0j9fZK 175461 0.270266\n\n+25 User 25 user25@exLondon Canada Ops eE9wvY61e 582815 0.832595\n\n+26 User 26 user26@exTokyo Japan Support vTlTmSLZK 698910 0.057233\n\n+27 User 27 user27@exDelhi UK Ops 001jLkp56y 463742 0.63661\n\n+28 User 28 user28@exTokyo India Ops JYMn1HVG 185984 0.751651\n\n+29 User 29 user29@exLondon India Sales kDD8aBkfu 110478 0.838007\n\n+30 User 30 user30@exBerlin UK Ops vt3rlC8s2T 165682 0.478451\n\n+31 User 31 user31@exSydney Canada Ops Sy0TGdVhk 300288 0.545536\n\n+32 User 32 user32@exLondon Japan IT nuLK3hv5k 932811 0.932735\n\n+33 User 33 user33@exTokyo Australia Finance 8QxYNykpz 732250 0.084105\n\n+34 User 34 user34@exNew York Germany IT WpY292GK 120021 0.21291\n\n+35 User 35 user35@exParis India IT Jc9UIcHT95 631634 0.349515\n\n+36 User 36 user36@exSydney Canada Ops JuxIUrhxzG 858909 0.846671\n\n+37 User 37 user37@exBerlin Germany Ops f3VPwwbQ 335553 0.828366\n\n+38 User 38 user38@exNew York India Support RK2dsJAxo 77274 0.092323\n\n+39 User 39 user39@exLondon UK Ops h7clcYpBdQ 127744 0.423544\n\n+40 User 40 user40@exParis Canada IT 5fFW0pL9J 766118 0.096212\n\n+41 User 41 user41@exTokyo Australia HR b0aptneoq 18584 0.306941\n\n+42 User 42 user42@exSydney Canada HR zc3bKQDT0 377914 0.114315\n\n+43 User 43 user43@exSydney India IT kOXLmqe2 692339 0.917215\n\n+44 User 44 user44@exNew York Canada Sales IfbMmzIxeT 211604 0.760957\n\n+45 User 45 user45@exSydney Australia Ops pSgTVUUSc 678354 0.735938\n\n+46 User 46 user46@exToronto Australia Sales RfaAbjGWL 538685 0.10975\n\n+47 User 47 user47@exDelhi France IT qIEmsQfW 731498 0.602969\n\n ---PAGE---\n\n-kvHwEAApNw 777742 0.6389745993571132\n\n-13 User 13 user13@example.com Tokyo India Support\n\n-v5XTbqBUbm0ClqLWw1iBJukWQ9QuRTzzSwG7QsIHqVZJdqIrgmzPyhpsP09nkeyaJDsVsNOCKg762LnuZjgq\n\n-HMrXsiZS8UAaLPS8i5M7CjRnMzd9MslphnbT0dxO9pf9GCDD62bUbQBmtpL20BSwMdbGiWVHMLRxl5jweiilf\n\n-q9NETObolF 223784 0.2318513291246594\n\n-14 User 14 user14@example.com New York Japan Ops\n\n-pxwvBMPVyk2tWkpzjymq7zQGMDhPpCzt7rnEqeQdfq3A60Zhsa2ewdYbTGDrEdBQeTxkhOTA1XU7AYW8n4v\n\n-z7vLGyQr3f6Q3zDtNwR50wy1pHTruMycqRJyuTQ0brdG6WifkNjsUMGq3sMxITAyJaWK5DEGM4W8TQ1Dnzkq\n\n-9FMYo1xSJc 187168 0.7562123493853101\n\n-15 User 15 user15@example.com Sydney Japan Ops\n\n-NPs68SCLXqP8eTzmAIMQNOYJwtQQtzZkyVPIvlEJTceRNfbCOpethyroVzm3vjwKhyAt4r6NH22vStBk5vCeB\n\n-cnJR5BJ3UOp8HZHtjSsNQWlhi7Bt6mDrrnaa9MvIG8BhviF7Do8IAk17XrPSkOykgBGYgaBqJDI1vvG3HmolF\n\n-SOrRSYWh28 332785 0.3476629450121304\n\n-16 User 16 user16@example.com Delhi Canada Ops\n\n-JMgIo6JDvHzm5tkCuQpEMGrLWwR8OHMko0yGJZByII79kyInoAixG8jrihoEkvogZEUeECvS97SxCm8DYO33k\n\n-HhFzHjb1lOL9ka98jCvYeptbT6v5G2lma9O5UGdwUV44jHh5zRgra3RdMzq8sB0lMHoRKpcQl44jj3qHJ9KYL\n\n-H8FcAUbAB4 966595 0.1094971807984397\n\n-17 User 17 user17@example.com Paris Australia Ops\n\n-LWFef8uCcecZjQKHkUSJTPnh0y9OIGVxZXJTr32kv0sDtvySAN0wFQtCXbQkjxXrrrY38MfdIvOL1BzfwqhpK\n\n-eZnJxRr8Gpc4bjsDroZtia01VKQjMUw806jr31t665N0yo7KoOFSyadFIE8570t2Z5uTZn95qrEiTuvrEXC9w\n\n-JFiYObtEQU 429423 0.1728704422218843\n\n-18 User 18 user18@example.com Tokyo Australia Ops\n\n-4y2atULBnYl1lJDlv9keFK1ilp8hxAmvJPHwXG4JXudKk5IonYhgpWq5AY9SFfWlJX6RR2r1lkUPms4SAfljt\n\n-4ofD9Ps7Yg3KXmXTuArKXgiuZFzVlHfjl5K4aJvL03jAsoSrYC9WOYuBYvqnoaPpbaoyZlCCKG4nYcY9ggD6S\n\n-mL7kMEBEKA 179954 0.9145142852678655\n\n-19 User 19 user19@example.com Berlin France Finance\n\n-MoiyHIdz62odP8iKsytaGdwlpETVtyQcMD9fywPdVq9Op7dO5bKIGl6TVTjrGlUYDuj9hF4XLVG6u18qJftHT\n\n-FcYfClPsznlRFZGcXrlgPnCM8dwC48oJu1rNhWkhBGJRGgLg8cqfdlid7YmWkatdQTniQtdi7qLlyBWVNXqTz\n\n-jgtvsEgoKy 416476 0.4178345524642597\n\n-20 User 20 user20@example.com London India Sales\n\n-Gg4eeM2fr6idcyhJfXZ6PCnTiK8kWjDpgz8YdDa93It7R74mQucpSk8X3vkZAAIQxovVPzUcKQOafbGG6XDZP\n\n-wmKQcF9VwWGA3BvsIdB9JJeoqlO5XMOFftcwsxxE1E2x1jyyoM70AcB1sddcVaQwywfWXWqOD6WGl2k1Jy3\n\n-r5gWz4hCb4 152083 0.2796520509921012\n\n-21 User 21 user21@example.com Tokyo India Finance\n\n-hk0tj7hQtjXxxN1YOVx9PoxzUkKKCgA2Mn8HplUZQP56q1hRNJ9u4Nscj8clsDkngAvDgogKSxb0zPI6rH0dw\n\n-hKraIyEti8WmOD70SMXXEPY6AX26u5CKxQemSGhalN29VTRtrqfDhZP8yPBdi4g2QE6biUxdYjJbJPp0QqDmf\n\n-q6c22wQ5Qu 913510 0.5214737507502412\n\n-22 User 22 user22@example.com New York UK IT\n\n-FexqT7i2ZpyNYUg8sgHGhwcoWnqz09MH81rv6pN1jaYt4u6zxj9oqb6bvevG96r0ljd7BOMx7Tf4Z7tj6XOwN\n\n-2LBoawto74oWktmtpch77yFPc6ALJhqK5OzjX5FopteUWC2c7c6beavGAnBl4SYDWSQcAxNCo3dOPlGQPYTh\n\n-zSvBwCsLW6 959850 0.2004013719319215\n\n-23 User 23 user23@example.com Sydney Japan Ops\n\n-wZdZL0KlVRPNaAuSq4W7iuj7stnD2VbWu9S3OSNPGPQUp3QN4Lws9lfWbJ7T2Z5J4fehexDcgSqbiYCpKs1sM\n\n-hqKOloFC1FNbYdCkKA3qBXk2wBN0HeDKDOyxpPexjkxIXN5orj3nTfGytrqxK4I83J7q0RCmYcl6MdAOVjeps\n\n-3SCjOvVnvo 813108 0.07589938063675961\n\n-24 User 24 user24@example.com London Germany Support\n\n-I6go0j9fZKfRkontmMPwAsbSUktVSYg9lHWHY9GaoaEi0l7xljFMrnDd2eoioWSRbyP024qj0nKVSXt40dWIx\n\n-9Xa6YwcPaM9lJQ9Oy8aYgsLvVQXi0gjilA4AT7E4n4fatkM1kOus5pVpuoKMWUxq5yJEVYmuGrSUjXMSUbPg0\n\n-DjXtEFzHue 175461 0.2702658939029965\n\n+48 User 48 user48@exToronto Japan HR gHfmzYTIg 949591 0.749436\n\n+49 User 49 user49@exBerlin USA Finance y1rGMU6n 942989 0.676308\n\n+50 User 50 user50@exBerlin India Support 7hM3n4sC 43099 0.821302\n\n+51 User 51 user51@exLondon Australia HR MmV8BaE0 763744 0.809989\n\n+52 User 52 user52@exTokyo USA Sales XYWbId9ra 567945 0.677178\n\n+53 User 53 user53@exSydney India Ops wrhIJ4tOQ 23173 0.772733\n\n+54 User 54 user54@exBerlin UK Ops C1UzUHuIx 640118 0.092871\n\n+55 User 55 user55@exParis India Ops NwN8HJ0o 861057 0.063327\n\n+56 User 56 user56@exTokyo India Sales WCHK12hN 781351 0.812129\n\n+57 User 57 user57@exNew York Japan Finance 52a67MbY 553366 0.636035\n\n+58 User 58 user58@exToronto UK Support zEDfqL3lSk 571081 0.521621\n\n+59 User 59 user59@exLondon Germany Ops GK2yaRjJ8G 886667 0.210423\n\n+60 User 60 user60@exSydney France Support uPoXGLysN 120996 0.56986\n\n+61 User 61 user61@exTokyo France HR a0kjAST01V 626587 0.963265\n\n+62 User 62 user62@exToronto Australia Sales Ca5t9ga4i0 251280 0.857865\n\n+63 User 63 user63@exNew York France Ops X6vKuLHj2 374312 0.100017\n\n+64 User 64 user64@exNew York Germany Sales KV3hqzMU 542032 0.576909\n\n+65 User 65 user65@exNew York USA HR uMT8lMRA 173041 0.131274\n\n+66 User 66 user66@exBerlin India Sales K49Il5UBQ 433186 0.527822\n\n+67 User 67 user67@exToronto India IT J7Y2aeVZO 10813 0.473515\n\n+68 User 68 user68@exDelhi India Support 7jeSfauKvK 19370 0.746615\n\n+69 User 69 user69@exLondon France HR jIpYsY4pZL 364549 0.225333\n\n+70 User 70 user70@exDelhi India IT UwaV8I4Cw 951943 0.749585\n\n+71 User 71 user71@exDelhi France Ops 0Ym9UoP1 893176 0.376667\n\n+72 User 72 user72@exNew York India Support U6V62Wez 70193 0.213979\n\n+73 User 73 user73@exNew York UK Ops wH7id1Sd5 157735 0.069986\n\n+74 User 74 user74@exTokyo Japan IT 6N2f6QTvd 335377 0.04639\n\n+75 User 75 user75@exParis Canada Finance I4WEtHWz 686537 0.369326\n\n+76 User 76 user76@exTokyo India Finance qvPya44Q2 815804 0.346117\n\n+77 User 77 user77@exTokyo Japan Support 0orEFMnW 349017 0.578607\n\n+78 User 78 user78@exSydney India Finance 6wUPnX0T 809884 0.44823\n\n+79 User 79 user79@exBerlin India Sales tOZjLiQMS 585405 0.679362\n\n+80 User 80 user80@exBerlin France HR JmkJcjyJ51 163635 0.65576\n\n+81 User 81 user81@exBerlin India Sales ymLZqumc 336189 0.773493\n\n+82 User 82 user82@exSydney France HR 2ZDBcGlyI8 519574 0.151287\n\n+83 User 83 user83@exParis Australia Sales WJ8UNcsX 739637 0.162423\n\n+84 User 84 user84@exParis USA Sales gJ5JKM9TF 816943 0.368169\n\n+85 User 85 user85@exTokyo Germany Ops 4Lwth3h5t 294727 0.964515\n\n+86 User 86 user86@exBerlin Australia Support qdHkuwuA 26051 0.155339\n\n+87 User 87 user87@exLondon Germany Sales Rm8ULi8zC 510690 0.214005\n\n+88 User 88 user88@exLondon Germany Ops RLiCwPFsf8 882997 0.530643\n\n+89 User 89 user89@exParis UK Ops 8uJGoN4bm 541389 0.648206\n\n+90 User 90 user90@exDelhi Australia Finance s3OwOdf4 182072 0.197334\n\n+91 User 91 user91@exNew York India Sales WNxiOf7t0 558356 0.110729\n\n+92 User 92 user92@exToronto Australia HR 6Ahj9jv5lv7 456649 0.237787\n\n+93 User 93 user93@exTokyo Japan Support oJ0UurS10 725729 0.667981\n\n+94 User 94 user94@exTokyo France Support 3S1nUyHzL 528395 0.574581\n\n+95 User 95 user95@exLondon Japan Ops pIeB2mVQ 824787 0.36571\n\n ---PAGE---\n\n-25 User 25 user25@example.com London Canada Ops\n\n-eE9wvY61eRoW4HckWcuPVGuduQ82GuhyI6y0hBQreMcLk1gZHtoWdKL9yWxmz4xjpdwpYZ6k2EBBos2ellssK\n\n-ekqoi5iJkaMPgwv5Pd8sruyeNKxsazoQSdl1oa4Se92L3fgbptxGrKuuLuqb4LdUplzBov7NmHUi1FweyDT0B\n\n-uRTLS527E4 582815 0.8325950609838566\n\n-26 User 26 user26@example.com Tokyo Japan Support\n\n-vTlTmSLZKIrSmQKaCDNLyutaLtatGFX3jFC7N9SbaDRoEdqjaEfnysrxogEjB3u0hMGjtJ37yibwro5kuBQqs\n\n-oVbM5X3BxcGHOUuXYRdUiFGl7wrtgjI7tXRF9GRXrg6GFOIFxoM8Xbr0xOJevnApDgI3mkgBnDJ2ugdT5fmvg\n\n-sUbes6of36 698910 0.05723263216223284\n\n-27 User 27 user27@example.com Delhi UK Ops\n\n-001jLkp56yX4fYZ2uKGmvLyW2CN78MiuSzjTRG6upEoOwuc3a5yGDzXh6yClkUaMdQyH3Mc0pedeFC8ELo74\n\n-WPIKUEqxTgwvfHP50IqzVx9nJPERlfK6yklUQzi74asNnS9kcjCVPs7BJJKZBEhGR6j2RjV6ZIGIKmORLudXb\n\n-rqrq1y7FPc 463742 0.6366096127812386\n\n-28 User 28 user28@example.com Tokyo India Ops\n\n-JYMn1HVGbZkZk5ctwe3iYz9TGNj4pcdZ7PvikLChcNVxn51BtnACnpzhYIGJdmBPWF67FGmMfFss6xH6XcnUW\n\n-XDhB5XwxmsTHiwkl6E1vLKzoEX68UE1L9gkSHnlLATwvt0JWcC7ePSTgJWdhLhgDGInnIEQdH9hZMWh7KfD\n\n-Xui0WUmVFa 185984 0.7516507314627172\n\n-29 User 29 user29@example.com London India Sales\n\n-kDD8aBkfukWD0yIBku2OzPsxLEz7EAt6RvcofeZDcWTSKsifVWU4c9XVs14mUs493PHDWeBKm0tGJKJ7eUw\n\n-5sOkUymSUdgKtyR28ULU8HBWXJiZgusKFIsz3GS7zqJPEJn9ENELB0smIord9JbcKbjWHTHiVkn833L03lNol\n\n-uNLwNRID8e 110478 0.8380068374045311\n\n-30 User 30 user30@example.com Berlin UK Ops\n\n-vt3rlC8s2TZr1BYKRZG5rIcLoZy7gt0Sv8z39rrPPbBwlUMIc6XqwmMTuw7ArUAR6fXYIM3nZafYFQFpI2sQK\n\n-k2PqodLVVtWsR94CyVyWHs7A9Wdgj0zfLpc5HytW4X1sx50UiPMl8kgD2xGFFiZ67XFgsWeQrQ0KYBiCBfYzO\n\n-8RULwn6Fuc 165682 0.4784513937984582\n\n-31 User 31 user31@example.com Sydney Canada Ops\n\n-Sy0TGdVhkQ1PvI7TXzjQMAQrBCnv90vVaurhxoxaj6hEEuAkGXduHBix0dysbrBqc7T5bFHcaThY17ZAsJ39b\n\n-L57DmZN4AYS1kHAC9wU3Yd1yF76Q6sMzcaGWR6xgiDklnncostDqUtIHYxLcZd1yRTAI8hKVskFQyVIp1YpUE\n\n-gPpbGUQY71 300288 0.5455362532443793\n\n-32 User 32 user32@example.com London Japan IT\n\n-nuLK3hv5kP1TOrhGkJZoeByOe6g8X06r6nwz2uNE9XOjsCQlAOrygl2AtOkUXQyVQif6eYM5q0ksOIq2mU2ys\n\n-UId1kepvcWGKQKeuJ8F8aJrVRxG5Wj3eovdMBYSVeNLNmaCH3edscFwIKaebOvpVStaKQH6LERx1KOLJLA\n\n-YPoMAszlGR 932811 0.9327351876962846\n\n-33 User 33 user33@example.com Tokyo Australia Finance\n\n-8QxYNykpzTRkod3noWGQ9bSS1wnhu9OvRCaVjZCE5kiCT2O9kmmR4H7QTkx4tQkWV9C08fS1C5Xg8yuDM\n\n-RnWMcsLp3Mg43CjB1IV0rONX9IxPN0hevalZrr4VDhy4KVgGiEUVT03ddoW0EhCkvQGptx2ZW2o3rvyIu9Mje\n\n-4jVNRlKZ41 732250 0.08410500691481571\n\n-34 User 34 user34@example.com New York Germany IT\n\n-WpY292GKnyJR0SuOg36yia6PP3T6DpDxDvFqTXArmj9flFU7RX1Ojjl9fkX9A7uAKRI5liSdr42Fsil8f15QQ\n\n-I99RpM9RTozsD4YO6wZcTQuwIS6dWhdjohXA6ITFPXIWKOmp0szHF4oHiW5btoREx3bkeeTRp0xC9J80UvR\n\n-MkswfnnJWz 120021 0.2129102552264025\n\n-35 User 35 user35@example.com Paris India IT\n\n-Jc9UIcHT951bQBdvsdqtvlO2Ee7AcZq8qp0nZxFZxQUf9jPIElfAzGbLgslvgUZfDWKpwiP5kcK3YktNeyvHe\n\n-n7av7MEJ2qlhM1zAK5v9RPmeasHPgD7h9IzmPeUiJAZwrxM0xXyD3zcxizTkK62XyG1cH0e7Yx6yCGkMDhEm\n\n-LOPHGY8RLa 631634 0.3495153326909091\n\n-36 User 36 user36@example.com Sydney Canada Ops\n\n-JuxIUrhxzGySHB9zyFPMvBwBpXTktB6rfYzfCSoypshgCDYZHGxegR3ipTiK20W7rN0x3QPWBboteH66ayYGb\n\n-K3JqEu0CYhZ5Aaz5Mcf0znlNZ90hyOtAtnd6vxUoig9CPT2bvlRFuq49uOTlZLMsoQ0R1V1gf2qufrWQFwuHY\n\n-jo0HTbaPL8 858909 0.8466705351338162\n\n-37 User 37 user37@example.com Berlin Germany Ops\n+96 User 96 user96@exNew York France IT hulUkDiMo 235296 0.569692\n\n+97 User 97 user97@exLondon Japan HR HcWR2JVD 820757 0.311462\n\n+98 User 98 user98@exToronto Canada Finance rzAyXFQJp 424891 0.422231\n\n+99 User 99 user99@exTokyo Canada IT 0812MWb 968152 0.128401\n\n+100 User 100 user100@eParis India IT NufGb8y3N 843439 0.158129\n\n+101 User 101 user101@eToronto Japan IT deU8iHNYk 34908 0.196477\n\n+102 User 102 user102@eLondon Canada IT DhGtReG3 479050 0.761613\n\n+103 User 103 user103@eDelhi Germany IT eDxVpFoh8 458438 0.196428\n\n+104 User 104 user104@eSydney Australia Ops k8PUmmzK 312354 0.713382\n\n+105 User 105 user105@eParis France Ops ZKoxM3lPT 915347 0.369995\n\n+106 User 106 user106@eBerlin Japan Sales h9nfVqLXY 702812 0.74845\n\n+107 User 107 user107@eSydney India Ops ahdv8h3CZ 763038 0.010416\n\n+108 User 108 user108@eSydney USA Finance s4H4yCdRu 758153 0.185018\n\n+109 User 109 user109@eSydney USA IT mkVORAGK 571933 0.431515\n\n+110 User 110 user110@eBerlin USA Finance Y4DpetM8 219537 0.755719\n\n+111 User 111 user111@eDelhi India Ops 1t60ENNne 649507 0.111739\n\n+112 User 112 user112@eBerlin France IT GZkcW97c 187557 0.127556\n\n+113 User 113 user113@eToronto Canada Support sHmAji1IXN 297243 0.80727\n\n+114 User 114 user114@eBerlin India Ops 48Aezwrq6 315163 0.188205\n\n+115 User 115 user115@eTokyo France Ops 5iJn7C2wM 78489 0.158838\n\n+116 User 116 user116@eToronto UK Ops YJwkek68h 160903 0.099286\n\n+117 User 117 user117@eSydney France IT dOkiXIQMk 732106 0.266887\n\n+118 User 118 user118@eLondon Japan HR sfxPBku9Fv 287096 0.09853\n\n+119 User 119 user119@eTokyo India Ops KDVrmeQK 308729 0.416451\n\n+120 User 120 user120@eLondon Canada Ops jD9hrR0Gz 537720 0.793823\n\n+121 User 121 user121@eNew York USA HR c7kZ7tYKbU 441172 0.229473\n\n+122 User 122 user122@eSydney Canada Finance I1MExdeqH 499737 0.900034\n\n+123 User 123 user123@eLondon UK HR OHmzoY1W 567629 0.052512\n\n+124 User 124 user124@eToronto Germany HR h1pzgN8BT 722752 0.79365\n\n+125 User 125 user125@eSydney Canada HR f17e8htrtn 218736 0.997152\n\n+126 User 126 user126@eSydney USA HR upw4M0l4 324442 0.153614\n\n+127 User 127 user127@eLondon France HR AQuCMExF 738485 0.252744\n\n+128 User 128 user128@eTokyo India Finance ExhcxbIlLsC 133333 0.626156\n\n+129 User 129 user129@eSydney Canada HR 3ISteehQH 348122 0.615977\n\n+130 User 130 user130@eTokyo France Ops bDyPWDq4 213592 0.004476\n\n+131 User 131 user131@eToronto Japan Ops gWYJqcRCR 929719 0.58812\n\n+132 User 132 user132@eTokyo Australia Ops 5Gyykn9s6 139678 0.1422\n\n+133 User 133 user133@eSydney Germany Support 7b87Byn4C 532024 0.521675\n\n+134 User 134 user134@eLondon Australia Support mNDhwFlU 184668 0.237346\n\n+135 User 135 user135@eParis USA Support EMsNaracP 578362 0.596993\n\n+136 User 136 user136@eDelhi Germany Support 8KEpYImbB 255681 0.772566\n\n+137 User 137 user137@eNew York Canada IT LR6JoYTkPJ 529150 0.677791\n\n+138 User 138 user138@eBerlin Australia Ops ifrlUWuVD 104741 0.173994\n\n+139 User 139 user139@eTokyo Australia IT rEmdtnwU 680725 0.970682\n\n+140 User 140 user140@eSydney UK Ops FGqYHnrao 644846 0.001783\n\n+141 User 141 user141@eLondon UK Ops JSlUmVmk 844498 0.290946\n\n+142 User 142 user142@eNew York Canada HR oW2cNeNj 186421 0.892564\n\n+143 User 143 user143@eLondon India Ops ui1afoCfLk 139589 0.524195", + "visual_scores": [ + 0.8551, + 0.851, + 0.8429 + ], + "visual_avg": 0.8497, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue82_SampleTestData5mb_p1_minipdf.png", + "reference_img": "XlsxIssue82_SampleTestData5mb_p1_reference.png", + "auxiliary_img": "XlsxIssue82_SampleTestData5mb_p1_libreoffice.png", + "heatmap_img": "XlsxIssue82_SampleTestData5mb_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 112, + 127, + 1241, + 1618 + ], + "changed_pixels": 453240, + "changed_fraction": 0.208222, + "mean_abs_rgb": 35.0604, + "rmse_rgb": 85.3765, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_SampleTestData5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue82_SampleTestData5mb_p2_minipdf.png", + "reference_img": "XlsxIssue82_SampleTestData5mb_p2_reference.png", + "auxiliary_img": "XlsxIssue82_SampleTestData5mb_p2_libreoffice.png", + "heatmap_img": "XlsxIssue82_SampleTestData5mb_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 112, + 96, + 1241, + 1618 + ], + "changed_pixels": 461228, + "changed_fraction": 0.211892, + "mean_abs_rgb": 35.6031, + "rmse_rgb": 86.0294, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_SampleTestData5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue82_SampleTestData5mb_p3_minipdf.png", + "reference_img": "XlsxIssue82_SampleTestData5mb_p3_reference.png", + "auxiliary_img": "XlsxIssue82_SampleTestData5mb_p3_libreoffice.png", + "heatmap_img": "XlsxIssue82_SampleTestData5mb_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 112, + 96, + 1241, + 1618 + ], + "changed_pixels": 464058, + "changed_fraction": 0.213192, + "mean_abs_rgb": 35.8457, + "rmse_rgb": 86.3231, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_SampleTestData5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.5207 + }, + { + "name": "XlsxIssue82_WideTable", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue82_WideTable", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue82_WideTable.xlsx", + "suite": "issue", + "minipdf_size": 54499, + "reference_size": 467940, + "pdf_valid": true, + "minipdf_pages": 15, + "reference_pages": 13, + "compared_pages": 3, + "text_similarity": 0.8139, + "flat_text_similarity": 0.0843, + "word_text_similarity": 0.8139, + "text_diff": "--- minipdf/XlsxIssue82_WideTable.pdf\n+++ reference/XlsxIssue82_WideTable.pdf\n@@ -1,103 +1,113 @@\n-Record ID First Name Last Name Street Address City Region Postal Code Phone Email\n\n-ID-00001 Naveen Adhikari 1000 North Evergreen Avenue Suite 200 Kathmandu WA 98000 555-0100\n\n-naveen.adhikari0@example.test\n\n-ID-00002 Alicia Patel 1001 North Evergreen Avenue Suite 201 Dublin BC 98001 555-0101 alicia.patel1@example.test\n\n-ID-00003 Marcus Bennett 1002 North Evergreen Avenue Suite 202 Austin WA 98002 555-0102 marcus.bennett2@example.test\n\n-ID-00004 Priya Olsen 1003 North Evergreen Avenue Suite 203 Berlin BC 98003 555-0103 priya.olsen3@example.test\n\n-ID-00005 Daniel Chen 1004 North Evergreen Avenue Suite 204 Singapore WA 98004 555-0104 daniel.chen4@example.test\n\n-ID-00006 Mei Tanaka 1005 North Evergreen Avenue Suite 205 Seattle BC 98005 555-0105 mei.tanaka5@example.test\n\n-ID-00007 Sofia Kim 1006 North Evergreen Avenue Suite 206 Melbourne WA 98006 555-0106 sofia.kim6@example.test\n\n-ID-00008 Owen Morrison 1007 North Evergreen Avenue Suite 207 Toronto BC 98007 555-0107 owen.morrison7@example.test\n\n-ID-00009 Ibrahim Rodriguez 1008 North Evergreen Avenue Suite 208 Kathmandu WA 98008 555-0108\n\n-ibrahim.rodriguez8@example.test\n\n-ID-00010 Caroline Singh 1009 North Evergreen Avenue Suite 209 Dublin BC 98009 555-0109 caroline.singh9@example.test\n\n-ID-00011 Naveen Adhikari 1010 North Evergreen Avenue Suite 210 Austin WA 98010 555-0110 naveen.adhikari10@example.test\n\n-ID-00012 Alicia Patel 1011 North Evergreen Avenue Suite 211 Berlin BC 98011 555-0111 alicia.patel11@example.test\n\n-ID-00013 Marcus Bennett 1012 North Evergreen Avenue Suite 212 Singapore WA 98012 555-0112 marcus.bennett12@example.test\n\n-ID-00014 Priya Olsen 1013 North Evergreen Avenue Suite 213 Seattle BC 98013 555-0113 priya.olsen13@example.test\n\n-ID-00015 Daniel Chen 1014 North Evergreen Avenue Suite 214 Melbourne WA 98014 555-0114 daniel.chen14@example.test\n\n-ID-00016 Mei Tanaka 1015 North Evergreen Avenue Suite 215 Toronto BC 98015 555-0115 mei.tanaka15@example.test\n\n-ID-00017 Sofia Kim 1016 North Evergreen Avenue Suite 216 Kathmandu WA 98016 555-0116 sofia.kim16@example.test\n\n-ID-00018 Owen Morrison 1017 North Evergreen Avenue Suite 217 Dublin BC 98017 555-0117 owen.morrison17@example.test\n\n-ID-00019 Ibrahim Rodriguez 1018 North Evergreen Avenue Suite 218 Austin WA 98018 555-0118\n\n-ibrahim.rodriguez18@example.test\n\n-ID-00020 Caroline Singh 1019 North Evergreen Avenue Suite 219 Berlin BC 98019 555-0119 caroline.singh19@example.test\n\n-ID-00021 Naveen Adhikari 1020 North Evergreen Avenue Suite 220 Singapore WA 98020 555-0120\n\n-naveen.adhikari20@example.test\n\n-ID-00022 Alicia Patel 1021 North Evergreen Avenue Suite 221 Seattle BC 98021 555-0121 alicia.patel21@example.test\n\n-ID-00023 Marcus Bennett 1022 North Evergreen Avenue Suite 222 Melbourne WA 98022 555-0122 marcus.bennett22@example.test\n\n-ID-00024 Priya Olsen 1023 North Evergreen Avenue Suite 223 Toronto BC 98023 555-0123 priya.olsen23@example.test\n\n-ID-00025 Daniel Chen 1024 North Evergreen Avenue Suite 224 Kathmandu WA 98024 555-0124 daniel.chen24@example.test\n\n-ID-00026 Mei Tanaka 1025 North Evergreen Avenue Suite 225 Dublin BC 98025 555-0125 mei.tanaka25@example.test\n\n-ID-00027 Sofia Kim 1026 North Evergreen Avenue Suite 226 Austin WA 98026 555-0126 sofia.kim26@example.test\n\n-ID-00028 Owen Morrison 1027 North Evergreen Avenue Suite 227 Berlin BC 98027 555-0127 owen.morrison27@example.test\n\n+Record ID First Name Last Name Street Address City Region Postal Code\n\n+ID-00001 Naveen Adhikari 1000 North Evergreen Avenue Suite 200 Kathmandu WA 98000\n\n+ID-00002 Alicia Patel 1001 North Evergreen Avenue Suite 201 Dublin BC 98001\n\n+ID-00003 Marcus Bennett 1002 North Evergreen Avenue Suite 202 Austin WA 98002\n\n+ID-00004 Priya Olsen 1003 North Evergreen Avenue Suite 203 Berlin BC 98003\n\n+ID-00005 Daniel Chen 1004 North Evergreen Avenue Suite 204 Singapore WA 98004\n\n+ID-00006 Mei Tanaka 1005 North Evergreen Avenue Suite 205 Seattle BC 98005\n\n+ID-00007 Sofia Kim 1006 North Evergreen Avenue Suite 206 Melbourne WA 98006\n\n+ID-00008 Owen Morrison 1007 North Evergreen Avenue Suite 207 Toronto BC 98007\n\n+ID-00009 Ibrahim Rodriguez 1008 North Evergreen Avenue Suite 208 Kathmandu WA 98008\n\n+ID-00010 Caroline Singh 1009 North Evergreen Avenue Suite 209 Dublin BC 98009\n\n+ID-00011 Naveen Adhikari 1010 North Evergreen Avenue Suite 210 Austin WA 98010\n\n+ID-00012 Alicia Patel 1011 North Evergreen Avenue Suite 211 Berlin BC 98011\n\n+ID-00013 Marcus Bennett 1012 North Evergreen Avenue Suite 212 Singapore WA 98012\n\n+ID-00014 Priya Olsen 1013 North Evergreen Avenue Suite 213 Seattle BC 98013\n\n+ID-00015 Daniel Chen 1014 North Evergreen Avenue Suite 214 Melbourne WA 98014\n\n+ID-00016 Mei Tanaka 1015 North Evergreen Avenue Suite 215 Toronto BC 98015\n\n+ID-00017 Sofia Kim 1016 North Evergreen Avenue Suite 216 Kathmandu WA 98016\n\n+ID-00018 Owen Morrison 1017 North Evergreen Avenue Suite 217 Dublin BC 98017\n\n+ID-00019 Ibrahim Rodriguez 1018 North Evergreen Avenue Suite 218 Austin WA 98018\n\n+ID-00020 Caroline Singh 1019 North Evergreen Avenue Suite 219 Berlin BC 98019\n\n+ID-00021 Naveen Adhikari 1020 North Evergreen Avenue Suite 220 Singapore WA 98020\n\n+ID-00022 Alicia Patel 1021 North Evergreen Avenue Suite 221 Seattle BC 98021\n\n+ID-00023 Marcus Bennett 1022 North Evergreen Avenue Suite 222 Melbourne WA 98022\n\n+ID-00024 Priya Olsen 1023 North Evergreen Avenue Suite 223 Toronto BC 98023\n\n+ID-00025 Daniel Chen 1024 North Evergreen Avenue Suite 224 Kathmandu WA 98024\n\n+ID-00026 Mei Tanaka 1025 North Evergreen Avenue Suite 225 Dublin BC 98025\n\n+ID-00027 Sofia Kim 1026 North Evergreen Avenue Suite 226 Austin WA 98026\n\n+ID-00028 Owen Morrison 1027 North Evergreen Avenue Suite 227 Berlin BC 98027\n\n+ID-00029 Ibrahim Rodriguez 1028 North Evergreen Avenue Suite 228 Singapore WA 98028\n\n+ID-00030 Caroline Singh 1029 North Evergreen Avenue Suite 229 Seattle BC 98029\n\n+ID-00031 Naveen Adhikari 1030 North Evergreen Avenue Suite 230 Melbourne WA 98030\n\n+ID-00032 Alicia Patel 1031 North Evergreen Avenue Suite 231 Toronto BC 98031\n\n+ID-00033 Marcus Bennett 1032 North Evergreen Avenue Suite 232 Kathmandu WA 98032\n\n+ID-00034 Priya Olsen 1033 North Evergreen Avenue Suite 233 Dublin BC 98033\n\n+ID-00035 Daniel Chen 1034 North Evergreen Avenue Suite 234 Austin WA 98034\n\n+ID-00036 Mei Tanaka 1035 North Evergreen Avenue Suite 235 Berlin BC 98035\n\n ---PAGE---\n\n-ID-00029 Ibrahim Rodriguez 1028 North Evergreen Avenue Suite 228 Singapore WA 98028 555-0128\n\n-ibrahim.rodriguez28@example.test\n\n-ID-00030 Caroline Singh 1029 North Evergreen Avenue Suite 229 Seattle BC 98029 555-0129 caroline.singh29@example.test\n\n-ID-00031 Naveen Adhikari 1030 North Evergreen Avenue Suite 230 Melbourne WA 98030 555-0130\n\n-naveen.adhikari30@example.test\n\n-ID-00032 Alicia Patel 1031 North Evergreen Avenue Suite 231 Toronto BC 98031 555-0131 alicia.patel31@example.test\n\n-ID-00033 Marcus Bennett 1032 North Evergreen Avenue Suite 232 Kathmandu WA 98032 555-0132 marcus.bennett32@example.test\n\n-ID-00034 Priya Olsen 1033 North Evergreen Avenue Suite 233 Dublin BC 98033 555-0133 priya.olsen33@example.test\n\n-ID-00035 Daniel Chen 1034 North Evergreen Avenue Suite 234 Austin WA 98034 555-0134 daniel.chen34@example.test\n\n-ID-00036 Mei Tanaka 1035 North Evergreen Avenue Suite 235 Berlin BC 98035 555-0135 mei.tanaka35@example.test\n\n-ID-00037 Sofia Kim 1036 North Evergreen Avenue Suite 236 Singapore WA 98036 555-0136 sofia.kim36@example.test\n\n-ID-00038 Owen Morrison 1037 North Evergreen Avenue Suite 237 Seattle BC 98037 555-0137 owen.morrison37@example.test\n\n-ID-00039 Ibrahim Rodriguez 1038 North Evergreen Avenue Suite 238 Melbourne WA 98038 555-0138\n\n-ibrahim.rodriguez38@example.test\n\n-ID-00040 Caroline Singh 1039 North Evergreen Avenue Suite 239 Toronto BC 98039 555-0139 caroline.singh39@example.test\n\n-ID-00041 Naveen Adhikari 1040 North Evergreen Avenue Suite 240 Kathmandu WA 98040 555-0140\n\n-naveen.adhikari40@example.test\n\n-ID-00042 Alicia Patel 1041 North Evergreen Avenue Suite 241 Dublin BC 98041 555-0141 alicia.patel41@example.test\n\n-ID-00043 Marcus Bennett 1042 North Evergreen Avenue Suite 242 Austin WA 98042 555-0142 marcus.bennett42@example.test\n\n-ID-00044 Priya Olsen 1043 North Evergreen Avenue Suite 243 Berlin BC 98043 555-0143 priya.olsen43@example.test\n\n-ID-00045 Daniel Chen 1044 North Evergreen Avenue Suite 244 Singapore WA 98044 555-0144 daniel.chen44@example.test\n\n-ID-00046 Mei Tanaka 1045 North Evergreen Avenue Suite 245 Seattle BC 98045 555-0145 mei.tanaka45@example.test\n\n-ID-00047 Sofia Kim 1046 North Evergreen Avenue Suite 246 Melbourne WA 98046 555-0146 sofia.kim46@example.test\n\n-ID-00048 Owen Morrison 1047 North Evergreen Avenue Suite 247 Toronto BC 98047 555-0147 owen.morrison47@example.test\n\n-ID-00049 Ibrahim Rodriguez 1048 North Evergreen Avenue Suite 248 Kathmandu WA 98048 555-0148\n\n-ibrahim.rodriguez48@example.test\n\n-ID-00050 Caroline Singh 1049 North Evergreen Avenue Suite 249 Dublin BC 98049 555-0149 caroline.singh49@example.test\n\n-ID-00051 Naveen Adhikari 1050 North Evergreen Avenue Suite 200 Austin WA 98050 555-0150 naveen.adhikari50@example.test\n\n-ID-00052 Alicia Patel 1051 North Evergreen Avenue Suite 201 Berlin BC 98051 555-0151 alicia.patel51@example.test\n\n-ID-00053 Marcus Bennett 1052 North Evergreen Avenue Suite 202 Singapore WA 98052 555-0152 marcus.bennett52@example.test\n\n-ID-00054 Priya Olsen 1053 North Evergreen Avenue Suite 203 Seattle BC 98053 555-0153 priya.olsen53@example.test\n\n-ID-00055 Daniel Chen 1054 North Evergreen Avenue Suite 204 Melbourne WA 98054 555-0154 daniel.chen54@example.test\n\n-ID-00056 Mei Tanaka 1055 North Evergreen Avenue Suite 205 Toronto BC 98055 555-0155 mei.tanaka55@example.test\n\n-ID-00057 Sofia Kim 1056 North Evergreen Avenue Suite 206 Kathmandu WA 98056 555-0156 sofia.kim56@example.test\n\n+Record ID First Name Last Name Street Address City Region Postal Code\n\n+ID-00037 Sofia Kim 1036 North Evergreen Avenue Suite 236 Singapore WA 98036\n\n+ID-00038 Owen Morrison 1037 North Evergreen Avenue Suite 237 Seattle BC 98037\n\n+ID-00039 Ibrahim Rodriguez 1038 North Evergreen Avenue Suite 238 Melbourne WA 98038\n\n+ID-00040 Caroline Singh 1039 North Evergreen Avenue Suite 239 Toronto BC 98039\n\n+ID-00041 Naveen Adhikari 1040 North Evergreen Avenue Suite 240 Kathmandu WA 98040\n\n+ID-00042 Alicia Patel 1041 North Evergreen Avenue Suite 241 Dublin BC 98041\n\n+ID-00043 Marcus Bennett 1042 North Evergreen Avenue Suite 242 Austin WA 98042\n\n+ID-00044 Priya Olsen 1043 North Evergreen Avenue Suite 243 Berlin BC 98043\n\n+ID-00045 Daniel Chen 1044 North Evergreen Avenue Suite 244 Singapore WA 98044\n\n+ID-00046 Mei Tanaka 1045 North Evergreen Avenue Suite 245 Seattle BC 98045\n\n+ID-00047 Sofia Kim 1046 North Evergreen Avenue Suite 246 Melbourne WA 98046\n\n+ID-00048 Owen Morrison 1047 North Evergreen Avenue Suite 247 Toronto BC 98047\n\n+ID-00049 Ibrahim Rodriguez 1048 North Evergreen Avenue Suite 248 Kathmandu WA 98048\n\n+ID-00050 Caroline Singh 1049 North Evergreen Avenue Suite 249 Dublin BC 98049\n\n+ID-00051 Naveen Adhikari 1050 North Evergreen Avenue Suite 200 Austin WA 98050\n\n+ID-00052 Alicia Patel 1051 North Evergreen Avenue Suite 201 Berlin BC 98051\n\n+ID-00053 Marcus Bennett 1052 North Evergreen Avenue Suite 202 Singapore WA 98052\n\n+ID-00054 Priya Olsen 1053 North Evergreen Avenue Suite 203 Seattle BC 98053\n\n+ID-00055 Daniel Chen 1054 North Evergreen Avenue Suite 204 Melbourne WA 98054\n\n+ID-00056 Mei Tanaka 1055 North Evergreen Avenue Suite 205 Toronto BC 98055\n\n+ID-00057 Sofia Kim 1056 North Evergreen Avenue Suite 206 Kathmandu WA 98056\n\n+ID-00058 Owen Morrison 1057 North Evergreen Avenue Suite 207 Dublin BC 98057\n\n+ID-00059 Ibrahim Rodriguez 1058 North Evergreen Avenue Suite 208 Austin WA 98058\n\n+ID-00060 Caroline Singh 1059 North Evergreen Avenue Suite 209 Berlin BC 98059\n\n+ID-00061 Naveen Adhikari 1060 North Evergreen Avenue Suite 210 Singapore WA 98060\n\n+ID-00062 Alicia Patel 1061 North Evergreen Avenue Suite 211 Seattle BC 98061\n\n+ID-00063 Marcus Bennett 1062 North Evergreen Avenue Suite 212 Melbourne WA 98062\n\n+ID-00064 Priya Olsen 1063 North Evergreen Avenue Suite 213 Toronto BC 98063\n\n+ID-00065 Daniel Chen 1064 North Evergreen Avenue Suite 214 Kathmandu WA 98064\n\n+ID-00066 Mei Tanaka 1065 North Evergreen Avenue Suite 215 Dublin BC 98065\n\n+ID-00067 Sofia Kim 1066 North Evergreen Avenue Suite 216 Austin WA 98066\n\n+ID-00068 Owen Morrison 1067 North Evergreen Avenue Suite 217 Berlin BC 98067\n\n+ID-00069 Ibrahim Rodriguez 1068 North Evergreen Avenue Suite 218 Singapore WA 98068\n\n+ID-00070 Caroline Singh 1069 North Evergreen Avenue Suite 219 Seattle BC 98069\n\n+ID-00071 Naveen Adhikari 1070 North Evergreen Avenue Suite 220 Melbourne WA 98070\n\n+ID-00072 Alicia Patel 1071 North Evergreen Avenue Suite 221 Toronto BC 98071\n\n ---PAGE---\n\n-ID-00058 Owen Morrison 1057 North Evergreen Avenue Suite 207 Dublin BC 98057 555-0157 owen.morrison57@example.test\n\n-ID-00059 Ibrahim Rodriguez 1058 North Evergreen Avenue Suite 208 Austin WA 98058 555-0158\n\n-ibrahim.rodriguez58@example.test\n\n-ID-00060 Caroline Singh 1059 North Evergreen Avenue Suite 209 Berlin BC 98059 555-0159 caroline.singh59@example.test\n\n-ID-00061 Naveen Adhikari 1060 North Evergreen Avenue Suite 210 Singapore WA 98060 555-0160\n\n-naveen.adhikari60@example.test\n\n-ID-00062 Alicia Patel 1061 North Evergreen Avenue Suite 211 Seattle BC 98061 555-0161 alicia.patel61@example.test\n\n-ID-00063 Marcus Bennett 1062 North Evergreen Avenue Suite 212 Melbourne WA 98062 555-0162 marcus.bennett62@example.test\n\n-ID-00064 Priya Olsen 1063 North Evergreen Avenue Suite 213 Toronto BC 98063 555-0163 priya.olsen63@example.test\n\n-ID-00065 Daniel Chen 1064 North Evergreen Avenue Suite 214 Kathmandu WA 98064 555-0164 daniel.chen64@example.test\n\n-ID-00066 Mei Tanaka 1065 North Evergreen Avenue Suite 215 Dublin BC 98065 555-0165 mei.tanaka65@example.test\n\n-ID-00067 Sofia Kim 1066 North Evergreen Avenue Suite 216 Austin WA 98066 555-0166 sofia.kim66@example.test\n\n-ID-00068 Owen Morrison 1067 North Evergreen Avenue Suite 217 Berlin BC 98067 555-0167 owen.morrison67@example.test\n\n-ID-00069 Ibrahim Rodriguez 1068 North Evergreen Avenue Suite 218 Singapore WA 98068 555-0168\n\n-ibrahim.rodriguez68@example.test\n\n-ID-00070 Caroline Singh 1069 North Evergreen Avenue Suite 219 Seattle BC 98069 555-0169 caroline.singh69@example.test\n\n-ID-00071 Naveen Adhikari 1070 North Evergreen Avenue Suite 220 Melbourne WA 98070 555-0170\n\n-naveen.adhikari70@example.test\n\n-ID-00072 Alicia Patel 1071 North Evergreen Avenue Suite 221 Toronto BC 98071 555-0171 alicia.patel71@example.test\n\n-ID-00073 Marcus Bennett 1072 North Evergreen Avenue Suite 222 Kathmandu WA 98072 555-0172 marcus.bennett72@example.test\n\n-ID-00074 Priya Olsen 1073 North Evergreen Avenue Suite 223 Dublin BC 98073 555-0173 priya.olsen73@example.test\n\n-ID-00075 Daniel Chen 1074 North Evergreen Avenue Suite 224 Austin WA 98074 555-0174 daniel.chen74@example.test\n\n-ID-00076 Mei Tanaka 1075 North Evergreen Avenue Suite 225 Berlin BC 98075 555-0175 mei.tanaka75@example.test\n\n-ID-00077 Sofia Kim 1076 North Evergreen Avenue Suite 226 Singapore WA 98076 555-0176 sofia.kim76@example.test\n\n-ID-00078 Owen Morrison 1077 North Evergreen Avenue Suite 227 Seattle BC 98077 555-0177 owen.morrison77@example.test\n\n-ID-00079 Ibrahim Rodriguez 1078 North Evergreen Avenue Suite 228 Melbourne WA 98078 555-0178\n\n-ibrahim.rodriguez78@example.test\n\n-ID-00080 Caroline Singh 1079 North Evergreen Avenue Suite 229 Toronto BC 98079 555-0179 caroline.singh79@example.test\n\n-ID-00081 Naveen Adhikari 1080 North Evergreen Avenue Suite 230 Kathmandu WA 98080 555-0180\n\n-naveen.adhikari80@example.test\n\n-ID-00082 Alicia Patel 1081 North Evergreen Avenue Suite 231 Dublin BC 98081 555-0181 alicia.patel81@example.test\n\n-ID-00083 Marcus Bennett 1082 North Evergreen Avenue Suite 232 Austin WA 98082 555-0182 marcus.bennett82@example.test\n\n-ID-00084 Priya Olsen 1083 North Evergreen Avenue Suite 233 Berlin BC 98083 555-0183 priya.olsen83@example.test\n\n-ID-00085 Daniel Chen 1084 North Evergreen Avenue Suite 234 Singapore WA 98084 555-0184 daniel.chen84@example.test\n+Record ID First Name Last Name Street Address City Region Postal Code\n\n+ID-00073 Marcus Bennett 1072 North Evergreen Avenue Suite 222 Kathmandu WA 98072\n\n+ID-00074 Priya Olsen 1073 North Evergreen Avenue Suite 223 Dublin BC 98073\n\n+ID-00075 Daniel Chen 1074 North Evergreen Avenue Suite 224 Austin WA 98074\n\n+ID-00076 Mei Tanaka 1075 North Evergreen Avenue Suite 225 Berlin BC 98075\n\n+ID-00077 Sofia Kim 1076 North Evergreen Avenue Suite 226 Singapore WA 98076\n\n+ID-00078 Owen Morrison 1077 North Evergreen Avenue Suite 227 Seattle BC 98077\n\n+ID-00079 Ibrahim Rodriguez 1078 North Evergreen Avenue Suite 228 Melbourne WA 98078\n\n+ID-00080 Caroline Singh 1079 North Evergreen Avenue Suite 229 Toronto BC 98079\n\n+ID-00081 Naveen Adhikari 1080 North Evergreen Avenue Suite 230 Kathmandu WA 98080\n\n+ID-00082 Alicia Patel 1081 North Evergreen Avenue Suite 231 Dublin BC 98081\n\n+ID-00083 Marcus Bennett 1082 North Evergreen Avenue Suite 232 Austin WA 98082\n\n+ID-00084 Priya Olsen 1083 North Evergreen Avenue Suite 233 Berlin BC 98083\n\n+ID-00085 Daniel Chen 1084 North Evergreen Avenue Suite 234 Singapore WA 98084\n\n+ID-00086 Mei Tanaka 1085 North Evergreen Avenue Suite 235 Seattle BC 98085\n\n+ID-00087 Sofia Kim 1086 North Evergreen Avenue Suite 236 Melbourne WA 98086\n\n+ID-00088 Owen Morrison 1087 North Evergreen Avenue Suite 237 Toronto BC 98087\n\n+ID-00089 Ibrahim Rodriguez 1088 North Evergreen Avenue Suite 238 Kathmandu WA 98088\n\n+ID-00090 Caroline Singh 1089 North Evergreen Avenue Suite 239 Dublin BC 98089\n\n+ID-00091 Naveen Adhikari 1090 North Evergreen Avenue Suite 240 Austin WA 98090\n\n+ID-00092 Alicia Patel 1091 North Evergreen Avenue Suite 241 Berlin BC 98091\n\n+ID-00093 Marcus Bennett 1092 North Evergreen Avenue Suite 242 Singapore WA 98092\n\n+ID-00094 Priya Olsen 1093 North Evergreen Avenue Suite 243 Seattle BC 98093\n\n+ID-00095 Daniel Chen 1094 North Evergreen Avenue Suite 244 Melbourne WA 98094\n\n+ID-00096 Mei Tanaka 1095 North Evergreen Avenue Suite 245 Toronto BC 98095\n\n+ID-00097 Sofia Kim 1096 North Evergreen Avenue Suite 246 Kathmandu WA 98096\n\n+ID-00098 Owen Morrison 1097 North Evergreen Avenue Suite 247 Dublin BC 98097\n\n+ID-00099 Ibrahim Rodriguez 1098 North Evergreen Avenue Suite 248 Austin WA 98098\n\n+ID-00100 Caroline Singh 1099 North Evergreen Avenue Suite 249 Berlin BC 98099\n\n+ID-00101 Naveen Adhikari 1100 North Evergreen Avenue Suite 200 Singapore WA 98100\n\n+ID-00102 Alicia Patel 1101 North Evergreen Avenue Suite 201 Seattle BC 98101\n\n+ID-00103 Marcus Bennett 1102 North Evergreen Avenue Suite 202 Melbourne WA 98102\n\n+ID-00104 Priya Olsen 1103 North Evergreen Avenue Suite 203 Toronto BC 98103\n\n+ID-00105 Daniel Chen 1104 North Evergreen Avenue Suite 204 Kathmandu WA 98104\n\n+ID-00106 Mei Tanaka 1105 North Evergreen Avenue Suite 205 Dublin BC 98105\n\n+ID-00107 Sofia Kim 1106 North Evergreen Avenue Suite 206 Austin WA 98106\n\n+ID-00108 Owen Morrison 1107 North Evergreen Avenue Suite 207 Berlin BC 98107", + "visual_scores": [ + 0.5034, + 0.5286, + 0.5176 + ], + "visual_avg": 0.5165, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue82_WideTable_p1_minipdf.png", + "reference_img": "XlsxIssue82_WideTable_p1_reference.png", + "auxiliary_img": "XlsxIssue82_WideTable_p1_libreoffice.png", + "heatmap_img": "XlsxIssue82_WideTable_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1650, + 1241 + ], + "difference_bbox_px": [ + 114, + 75, + 1467, + 1141 + ], + "changed_pixels": 545646, + "changed_fraction": 0.266474, + "mean_abs_rgb": 34.4706, + "rmse_rgb": 80.1001, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_WideTable_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 2, + "minipdf_img": "XlsxIssue82_WideTable_p2_minipdf.png", + "reference_img": "XlsxIssue82_WideTable_p2_reference.png", + "auxiliary_img": "XlsxIssue82_WideTable_p2_libreoffice.png", + "heatmap_img": "XlsxIssue82_WideTable_p2_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1650, + 1241 + ], + "difference_bbox_px": [ + 114, + 75, + 1476, + 1141 + ], + "changed_pixels": 551379, + "changed_fraction": 0.269274, + "mean_abs_rgb": 34.723, + "rmse_rgb": 80.3798, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_WideTable_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + }, + { + "page": 3, + "minipdf_img": "XlsxIssue82_WideTable_p3_minipdf.png", + "reference_img": "XlsxIssue82_WideTable_p3_reference.png", + "auxiliary_img": "XlsxIssue82_WideTable_p3_libreoffice.png", + "heatmap_img": "XlsxIssue82_WideTable_p3_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1650, + 1241 + ], + "difference_bbox_px": [ + 114, + 75, + 1476, + 1141 + ], + "changed_pixels": 542297, + "changed_fraction": 0.264839, + "mean_abs_rgb": 33.8899, + "rmse_rgb": 79.2981, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue82_WideTable_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" + } + ], + "overall_score": 0.6322 + }, + { + "name": "XlsxIssue152_ClusteredNonZeroBarChart", + "minipdf_exists": true, + "reference_exists": true, + "report_scope": "go-issue-xlsx", + "case_id": "XlsxIssue152_ClusteredNonZeroBarChart", + "format": "xlsx", + "source_path": "tests/Issue_Files/xlsx/XlsxIssue152_ClusteredNonZeroBarChart.xlsx", + "suite": "issue", + "minipdf_size": 1086, + "reference_size": 71966, + "pdf_valid": true, + "minipdf_pages": 1, + "reference_pages": 1, + "compared_pages": 3, + "text_similarity": 0.6923, + "flat_text_similarity": 0.6442, + "word_text_similarity": 0.6923, + "text_diff": "--- minipdf/XlsxIssue152_ClusteredNonZeroBarChart.pdf\n+++ reference/XlsxIssue152_ClusteredNonZeroBarChart.pdf\n@@ -3,4 +3,12 @@\n Day 2 145\n\n Day 3 150\n\n Day 4 155\n\n-Day 5 150\n+Day 5 150\n\n+Clustered Non-Zero Prices\n\n+Day 1\n\n+Day 2\n\n+Day 3\n\n+Price\n\n+Day 4\n\n+Day 5\n\n+Trading Day", + "visual_scores": [ + 0.5806 + ], + "visual_avg": 0.5806, + "diff_images": [ + { + "page": 1, + "minipdf_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png", + "reference_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_reference.png", + "auxiliary_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_libreoffice.png", + "heatmap_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png", + "heatmap_metrics": { + "size_px": [ + 1241, + 1754 + ], + "difference_bbox_px": [ + 112, + 127, + 881, + 776 + ], + "changed_pixels": 94879, + "changed_fraction": 0.043588, + "mean_abs_rgb": 5.4351, + "rmse_rgb": 29.1989, + "threshold": 12, + "gain": 5.0 + }, + "composite_img": "XlsxIssue152_ClusteredNonZeroBarChart_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png" } ], - "overall_score": 0.4046 + "overall_score": 0.7092 } ] \ No newline at end of file diff --git a/artifacts/go-benchmark/issue/xlsx/report/comparison_report.md b/artifacts/go-benchmark/issue/xlsx/report/comparison_report.md index c290a885..22705a13 100644 --- a/artifacts/go-benchmark/issue/xlsx/report/comparison_report.md +++ b/artifacts/go-benchmark/issue/xlsx/report/comparison_report.md @@ -1,19 +1,106 @@ # go MiniPdf vs Microsoft 365 Excel Reference PDF Comparison Report -Generated: 2026-09-05T15:55:02.085284 +Generated: 2026-09-14T20:24:21.049172 ## Summary | # | Test Case | Valid | Text Sim | Visual Avg | Pages (M/R) | Overall | |---|-----------|-------|----------|------------|-------------|--------| -| 1 | 🔴 Issue202609031340 | ❌ | 0.175 | 0.5866 | 3/4 | **0.4046** | +| 1 | 🔴 Academic Achievement Summary Table | ✅ | 0.3235 | 0.4218 | 9/2 | **0.3981** | +| 2 | 🔴 AcademicAchievement_temp | ✅ | 0.3235 | 0.4218 | 9/2 | **0.3981** | +| 3 | 🔴 Business expense budget1 | ✅ | 0.4638 | 0.3075 | 2/4 | **0.4085** | +| 4 | 🔴 Business expenses budget2 | ✅ | 0.119 | 0.0808 | 14/4 | **0.1799** | +| 5 | 🔴 Business plan checklist with SWOT analysis1 | ✅ | 0.8729 | 0.2639 | 1/1 | **0.6547** | +| 6 | 🔴 Event budget1 | ✅ | 0.712 | 0.5681 | 4/5 | **0.612** | +| 7 | 🔴 Expense report basic1 | ✅ | 0.6403 | 0.0387 | 2/1 | **0.3716** | +| 8 | 🔴 Grocery list1 | ✅ | 0.7676 | 0.0951 | 2/1 | **0.4451** | +| 9 | 🔴 Issue202609031340 | ✅ | 0.1715 | 0.7138 | 12/4 | **0.4541** | +| 10 | 🔴 payroll-calculator_f | ✅ | 0.2914 | 0.3029 | 72/29 | **0.3377** | +| 11 | 🔴 PO_anonymized | ✅ | 0.2925 | 0.4354 | 235/9 | **0.3912** | +| 12 | 🔴 Simple invoice1 | ✅ | 0.897 | 0.0661 | 1/1 | **0.5852** | +| 13 | 🔴 Small business cash flow forecast1 | ✅ | 0.4982 | 0.5109 | 6/5 | **0.5036** | +| 14 | 🟡 Wedding_timeline_planner1_copy | ✅ | 0.8286 | 0.7221 | 3/8 | **0.7203** | +| 15 | 🔴 Weekly schedule planner1 | ✅ | 0.4 | 0.0614 | 10/1 | **0.2846** | +| 16 | 🔴 XlsxIssue75 | ✅ | 0.0568 | 0.8608 | 74/144 | **0.467** | +| 17 | 🟡 XlsxIssue77_MergedCellAlignment | ✅ | 0.9993 | 0.5052 | 4/2 | **0.7018** | +| 18 | 🔴 XlsxIssue77_Template1 | ✅ | 0.4833 | 0.4881 | 4/6 | **0.4886** | +| 19 | 🔴 XlsxIssue77_Template2_Workaround | ✅ | 0.4833 | 0.4868 | 4/6 | **0.488** | +| 20 | 🔴 XlsxIssue81_LayoutOptions | ✅ | 0.5364 | 0.7908 | 14/16 | **0.6309** | +| 21 | 🔴 XlsxIssue82_5mb | ✅ | 0.0485 | 0.8199 | 3781/766 | **0.4474** | +| 22 | 🔴 XlsxIssue82_SampleTestData5mb | ✅ | 0.202 | 0.8497 | 2860/1668 | **0.5207** | +| 23 | 🔴 XlsxIssue82_WideTable | ✅ | 0.8139 | 0.5165 | 15/13 | **0.6322** | +| 24 | 🟡 XlsxIssue152_ClusteredNonZeroBarChart | ✅ | 0.6923 | 0.5806 | 1/1 | **0.7092** | -**Average Overall Score: 0.4046** +**Average Overall Score: 0.4929** ## Labeled Side-by-Side Comparison + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -27,215 +114,3974 @@ Generated: 2026-09-05T15:55:02.085284 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaseComparison
Academic Achievement Summary Table
format: xlsx | case: Academic Achievement Summary Table | scope: go-issue-xlsx

Page 1
Academic Achievement Summary Table page 1 comparison
Academic Achievement Summary Table
format: xlsx | case: Academic Achievement Summary Table | scope: go-issue-xlsx

Page 2
Academic Achievement Summary Table page 2 comparison
AcademicAchievement_temp
format: xlsx | case: AcademicAchievement_temp | scope: go-issue-xlsx

Page 1
AcademicAchievement_temp page 1 comparison
AcademicAchievement_temp
format: xlsx | case: AcademicAchievement_temp | scope: go-issue-xlsx

Page 2
AcademicAchievement_temp page 2 comparison
Business expense budget1
format: xlsx | case: Business expense budget1 | scope: go-issue-xlsx

Page 1
Business expense budget1 page 1 comparison
Business expense budget1
format: xlsx | case: Business expense budget1 | scope: go-issue-xlsx

Page 2
Business expense budget1 page 2 comparison
Business expense budget1
format: xlsx | case: Business expense budget1 | scope: go-issue-xlsx

Page 3
Business expense budget1 page 3 comparison
Business expenses budget2
format: xlsx | case: Business expenses budget2 | scope: go-issue-xlsx

Page 1
Business expenses budget2 page 1 comparison
Business expenses budget2
format: xlsx | case: Business expenses budget2 | scope: go-issue-xlsx

Page 2
Business expenses budget2 page 2 comparison
Business expenses budget2
format: xlsx | case: Business expenses budget2 | scope: go-issue-xlsx

Page 3
Business expenses budget2 page 3 comparison
Business plan checklist with SWOT analysis1
format: xlsx | case: Business plan checklist with SWOT analysis1 | scope: go-issue-xlsx

Page 1
Business plan checklist with SWOT analysis1 page 1 comparison
Event budget1
format: xlsx | case: Event budget1 | scope: go-issue-xlsx

Page 1
Event budget1 page 1 comparison
Event budget1
format: xlsx | case: Event budget1 | scope: go-issue-xlsx

Page 2
Event budget1 page 2 comparison
Event budget1
format: xlsx | case: Event budget1 | scope: go-issue-xlsx

Page 3
Event budget1 page 3 comparison
Expense report basic1
format: xlsx | case: Expense report basic1 | scope: go-issue-xlsx

Page 1
Expense report basic1 page 1 comparison
Grocery list1
format: xlsx | case: Grocery list1 | scope: go-issue-xlsx

Page 1
Grocery list1 page 1 comparison
Issue202609031340
format: xlsx | case: Issue202609031340 | scope: go-issue-xlsx

Page 1
Issue202609031340 page 1 comparisonIssue202609031340 page 3 comparison
Issue202609031340
format: xlsx | case: Issue202609031340 | scope: go-issue-xlsx

Page 4
Issue202609031340 page 4 comparisonpayroll-calculator_f
format: xlsx | case: payroll-calculator_f | scope: go-issue-xlsx

Page 1
payroll-calculator_f page 1 comparison
payroll-calculator_f
format: xlsx | case: payroll-calculator_f | scope: go-issue-xlsx

Page 2
payroll-calculator_f page 2 comparison
payroll-calculator_f
format: xlsx | case: payroll-calculator_f | scope: go-issue-xlsx

Page 3
payroll-calculator_f page 3 comparison
PO_anonymized
format: xlsx | case: PO_anonymized | scope: go-issue-xlsx

Page 1
PO_anonymized page 1 comparison
PO_anonymized
format: xlsx | case: PO_anonymized | scope: go-issue-xlsx

Page 2
PO_anonymized page 2 comparison
PO_anonymized
format: xlsx | case: PO_anonymized | scope: go-issue-xlsx

Page 3
PO_anonymized page 3 comparison
Simple invoice1
format: xlsx | case: Simple invoice1 | scope: go-issue-xlsx

Page 1
Simple invoice1 page 1 comparison
Small business cash flow forecast1
format: xlsx | case: Small business cash flow forecast1 | scope: go-issue-xlsx

Page 1
Small business cash flow forecast1 page 1 comparison
Small business cash flow forecast1
format: xlsx | case: Small business cash flow forecast1 | scope: go-issue-xlsx

Page 2
Small business cash flow forecast1 page 2 comparison
Small business cash flow forecast1
format: xlsx | case: Small business cash flow forecast1 | scope: go-issue-xlsx

Page 3
Small business cash flow forecast1 page 3 comparison
Wedding_timeline_planner1_copy
format: xlsx | case: Wedding_timeline_planner1_copy | scope: go-issue-xlsx

Page 1
Wedding_timeline_planner1_copy page 1 comparison
Wedding_timeline_planner1_copy
format: xlsx | case: Wedding_timeline_planner1_copy | scope: go-issue-xlsx

Page 2
Wedding_timeline_planner1_copy page 2 comparison
Wedding_timeline_planner1_copy
format: xlsx | case: Wedding_timeline_planner1_copy | scope: go-issue-xlsx

Page 3
Wedding_timeline_planner1_copy page 3 comparison
Weekly schedule planner1
format: xlsx | case: Weekly schedule planner1 | scope: go-issue-xlsx

Page 1
Weekly schedule planner1 page 1 comparison
XlsxIssue75
format: xlsx | case: XlsxIssue75 | scope: go-issue-xlsx

Page 1
XlsxIssue75 page 1 comparison
XlsxIssue75
format: xlsx | case: XlsxIssue75 | scope: go-issue-xlsx

Page 2
XlsxIssue75 page 2 comparison
XlsxIssue75
format: xlsx | case: XlsxIssue75 | scope: go-issue-xlsx

Page 3
XlsxIssue75 page 3 comparison
XlsxIssue77_MergedCellAlignment
format: xlsx | case: XlsxIssue77_MergedCellAlignment | scope: go-issue-xlsx

Page 1
XlsxIssue77_MergedCellAlignment page 1 comparison
XlsxIssue77_MergedCellAlignment
format: xlsx | case: XlsxIssue77_MergedCellAlignment | scope: go-issue-xlsx

Page 2
XlsxIssue77_MergedCellAlignment page 2 comparison
XlsxIssue77_Template1
format: xlsx | case: XlsxIssue77_Template1 | scope: go-issue-xlsx

Page 1
XlsxIssue77_Template1 page 1 comparison
XlsxIssue77_Template1
format: xlsx | case: XlsxIssue77_Template1 | scope: go-issue-xlsx

Page 2
XlsxIssue77_Template1 page 2 comparison
XlsxIssue77_Template1
format: xlsx | case: XlsxIssue77_Template1 | scope: go-issue-xlsx

Page 3
XlsxIssue77_Template1 page 3 comparison
XlsxIssue77_Template2_Workaround
format: xlsx | case: XlsxIssue77_Template2_Workaround | scope: go-issue-xlsx

Page 1
XlsxIssue77_Template2_Workaround page 1 comparison
XlsxIssue77_Template2_Workaround
format: xlsx | case: XlsxIssue77_Template2_Workaround | scope: go-issue-xlsx

Page 2
XlsxIssue77_Template2_Workaround page 2 comparison
XlsxIssue77_Template2_Workaround
format: xlsx | case: XlsxIssue77_Template2_Workaround | scope: go-issue-xlsx

Page 3
XlsxIssue77_Template2_Workaround page 3 comparison
XlsxIssue81_LayoutOptions
format: xlsx | case: XlsxIssue81_LayoutOptions | scope: go-issue-xlsx

Page 1
XlsxIssue81_LayoutOptions page 1 comparison
XlsxIssue81_LayoutOptions
format: xlsx | case: XlsxIssue81_LayoutOptions | scope: go-issue-xlsx

Page 2
XlsxIssue81_LayoutOptions page 2 comparison
XlsxIssue81_LayoutOptions
format: xlsx | case: XlsxIssue81_LayoutOptions | scope: go-issue-xlsx

Page 3
XlsxIssue81_LayoutOptions page 3 comparison
XlsxIssue82_5mb
format: xlsx | case: XlsxIssue82_5mb | scope: go-issue-xlsx

Page 1
XlsxIssue82_5mb page 1 comparison
XlsxIssue82_5mb
format: xlsx | case: XlsxIssue82_5mb | scope: go-issue-xlsx

Page 2
XlsxIssue82_5mb page 2 comparison
XlsxIssue82_5mb
format: xlsx | case: XlsxIssue82_5mb | scope: go-issue-xlsx

Page 3
XlsxIssue82_5mb page 3 comparison
XlsxIssue82_SampleTestData5mb
format: xlsx | case: XlsxIssue82_SampleTestData5mb | scope: go-issue-xlsx

Page 1
XlsxIssue82_SampleTestData5mb page 1 comparison
XlsxIssue82_SampleTestData5mb
format: xlsx | case: XlsxIssue82_SampleTestData5mb | scope: go-issue-xlsx

Page 2
XlsxIssue82_SampleTestData5mb page 2 comparison
XlsxIssue82_SampleTestData5mb
format: xlsx | case: XlsxIssue82_SampleTestData5mb | scope: go-issue-xlsx

Page 3
XlsxIssue82_SampleTestData5mb page 3 comparison
XlsxIssue82_WideTable
format: xlsx | case: XlsxIssue82_WideTable | scope: go-issue-xlsx

Page 1
XlsxIssue82_WideTable page 1 comparison
XlsxIssue82_WideTable
format: xlsx | case: XlsxIssue82_WideTable | scope: go-issue-xlsx

Page 2
XlsxIssue82_WideTable page 2 comparison
XlsxIssue82_WideTable
format: xlsx | case: XlsxIssue82_WideTable | scope: go-issue-xlsx

Page 3
XlsxIssue82_WideTable page 3 comparison
XlsxIssue152_ClusteredNonZeroBarChart
format: xlsx | case: XlsxIssue152_ClusteredNonZeroBarChart | scope: go-issue-xlsx

Page 1
XlsxIssue152_ClusteredNonZeroBarChart page 1 comparison
+ +## Difference Heatmaps + +Blue areas are below the configured difference threshold; red areas have stronger pixel differences. The reference rendering is retained as faint context. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaseHeatmapMetrics
Academic Achievement Summary Table
Page 1
Academic Achievement Summary Table page 1 difference heatmapchanged: 116957 px (5.37%)
bbox: [47, 38, 1700, 1143]
mean abs RGB: 8.3161
RMSE RGB: 40.5955
threshold: 12, gain: 5.0
Academic Achievement Summary Table
Page 2
Academic Achievement Summary Table page 2 difference heatmapchanged: 173965 px (7.99%)
bbox: [47, 25, 1700, 1170]
mean abs RGB: 11.9923
RMSE RGB: 48.605
threshold: 12, gain: 5.0
AcademicAchievement_temp
Page 1
AcademicAchievement_temp page 1 difference heatmapchanged: 116957 px (5.37%)
bbox: [47, 38, 1700, 1143]
mean abs RGB: 8.3161
RMSE RGB: 40.5955
threshold: 12, gain: 5.0
AcademicAchievement_temp
Page 2
AcademicAchievement_temp page 2 difference heatmapchanged: 173965 px (7.99%)
bbox: [47, 25, 1700, 1170]
mean abs RGB: 11.9923
RMSE RGB: 48.605
threshold: 12, gain: 5.0
Business expense budget1
Page 1
Business expense budget1 page 1 difference heatmapchanged: 713208 px (32.77%)
bbox: [113, 127, 996, 1614]
mean abs RGB: 40.6046
RMSE RGB: 86.4236
threshold: 12, gain: 5.0
Business expense budget1
Page 2
Business expense budget1 page 2 difference heatmapchanged: 212045 px (9.74%)
bbox: [114, 96, 996, 1225]
mean abs RGB: 14.3262
RMSE RGB: 50.0036
threshold: 12, gain: 5.0
Business expenses budget2
Page 1
Business expenses budget2 page 1 difference heatmapchanged: 1364636 px (62.69%)
bbox: [119, 75, 1522, 1124]
mean abs RGB: 31.7307
RMSE RGB: 60.2052
threshold: 12, gain: 5.0
Business expenses budget2
Page 2
Business expenses budget2 page 2 difference heatmapchanged: 1454906 px (66.84%)
bbox: [119, 75, 1548, 1163]
mean abs RGB: 34.4136
RMSE RGB: 69.4077
threshold: 12, gain: 5.0
Business expenses budget2
Page 3
Business expenses budget2 page 3 difference heatmapchanged: 1422146 px (65.33%)
bbox: [113, 75, 1598, 1163]
mean abs RGB: 35.8669
RMSE RGB: 62.5559
threshold: 12, gain: 5.0
Business plan checklist with SWOT analysis1
Page 1
Business plan checklist with SWOT analysis1 page 1 difference heatmapchanged: 904603 px (41.56%)
bbox: [92, 62, 1175, 1428]
mean abs RGB: 28.7516
RMSE RGB: 65.6476
threshold: 12, gain: 5.0
Event budget1
Page 1
Event budget1 page 1 difference heatmapchanged: 135911 px (6.24%)
bbox: [73, 153, 1165, 726]
mean abs RGB: 6.8047
RMSE RGB: 36.6761
threshold: 12, gain: 5.0
Event budget1
Page 2
Event budget1 page 2 difference heatmapchanged: 1635662 px (75.14%)
bbox: [66, 143, 1173, 1625]
mean abs RGB: 26.4964
RMSE RGB: 51.019
threshold: 12, gain: 5.0
Event budget1
Page 3
Event budget1 page 3 difference heatmapchanged: 98805 px (4.54%)
bbox: [66, 114, 1172, 1176]
mean abs RGB: 4.3527
RMSE RGB: 29.2246
threshold: 12, gain: 5.0
Expense report basic1
Page 1
Expense report basic1 page 1 difference heatmapchanged: 1282706 px (58.93%)
bbox: [63, 62, 1690, 853]
mean abs RGB: 13.123
RMSE RGB: 31.937
threshold: 12, gain: 5.0
Grocery list1
Page 1
Grocery list1 page 1 difference heatmapchanged: 920813 px (42.30%)
bbox: [52, 77, 1187, 930]
mean abs RGB: 25.5452
RMSE RGB: 59.2982
threshold: 12, gain: 5.0
Issue202609031340
Page 1
Issue202609031340 page 1 difference heatmapchanged: 308117 px (14.16%)
bbox: [43, 55, 1195, 1697]
mean abs RGB: 20.8209
RMSE RGB: 63.7361
threshold: 12, gain: 5.0
Issue202609031340
Page 2
Issue202609031340 page 2 difference heatmapchanged: 72213 px (3.32%)
bbox: [43, 96, 1195, 1014]
mean abs RGB: 5.4394
RMSE RGB: 33.0551
threshold: 12, gain: 5.0
Issue202609031340
Page 3
Issue202609031340 page 3 difference heatmapchanged: 204317 px (9.39%)
bbox: [42, 40, 1196, 1712]
mean abs RGB: 14.5276
RMSE RGB: 53.193
threshold: 12, gain: 5.0
payroll-calculator_f
Page 1
payroll-calculator_f page 1 difference heatmapchanged: 533042 px (24.49%)
bbox: [105, 31, 1578, 1160]
mean abs RGB: 25.9896
RMSE RGB: 60.2138
threshold: 12, gain: 5.0
payroll-calculator_f
Page 2
payroll-calculator_f page 2 difference heatmapchanged: 388000 px (17.82%)
bbox: [105, 30, 1477, 1160]
mean abs RGB: 20.297
RMSE RGB: 54.8465
threshold: 12, gain: 5.0
payroll-calculator_f
Page 3
payroll-calculator_f page 3 difference heatmapchanged: 100655 px (4.62%)
bbox: [104, 30, 913, 1160]
mean abs RGB: 3.7021
RMSE RGB: 23.4894
threshold: 12, gain: 5.0
PO_anonymized
Page 1
PO_anonymized page 1 difference heatmapchanged: 964775 px (44.32%)
bbox: [61, 74, 1173, 1713]
mean abs RGB: 26.8133
RMSE RGB: 66.7456
threshold: 12, gain: 5.0
PO_anonymized
Page 2
PO_anonymized page 2 difference heatmapchanged: 1231858 px (56.59%)
bbox: [61, 74, 1172, 1713]
mean abs RGB: 30.9125
RMSE RGB: 72.3477
threshold: 12, gain: 5.0
PO_anonymized
Page 3
PO_anonymized page 3 difference heatmapchanged: 215742 px (9.91%)
bbox: [61, 74, 1171, 1713]
mean abs RGB: 9.5758
RMSE RGB: 42.4002
threshold: 12, gain: 5.0
Simple invoice1
Page 1
Simple invoice1 page 1 difference heatmapchanged: 1540507 px (70.77%)
bbox: [41, 114, 1198, 1446]
mean abs RGB: 24.9744
RMSE RGB: 57.8848
threshold: 12, gain: 5.0
Small business cash flow forecast1
Page 1
Small business cash flow forecast1 page 1 difference heatmapchanged: 867731 px (39.86%)
bbox: [66, 77, 1173, 1614]
mean abs RGB: 29.8099
RMSE RGB: 68.9976
threshold: 12, gain: 5.0
Small business cash flow forecast1
Page 2
Small business cash flow forecast1 page 2 difference heatmapchanged: 478661 px (31.08%)
bbox: [119, 67, 1084, 1071]
mean abs RGB: 42.0921
RMSE RGB: 87.7954
threshold: 12, gain: 5.0
Small business cash flow forecast1
Page 3
Small business cash flow forecast1 page 3 difference heatmapchanged: 20814 px (1.35%)
bbox: [113, 112, 1084, 1142]
mean abs RGB: 2.0894
RMSE RGB: 20.3324
threshold: 12, gain: 5.0
Wedding_timeline_planner1_copy
Page 1
Wedding_timeline_planner1_copy page 1 difference heatmapchanged: 327473 px (15.04%)
bbox: [105, 158, 1105, 1614]
mean abs RGB: 19.5145
RMSE RGB: 58.6547
threshold: 12, gain: 5.0
Wedding_timeline_planner1_copy
Page 2
Wedding_timeline_planner1_copy page 2 difference heatmapchanged: 347747 px (15.98%)
bbox: [105, 127, 1105, 1618]
mean abs RGB: 20.7725
RMSE RGB: 60.7286
threshold: 12, gain: 5.0
Wedding_timeline_planner1_copy
Page 3
Wedding_timeline_planner1_copy page 3 difference heatmapchanged: 211939 px (9.74%)
bbox: [105, 96, 1105, 1516]
mean abs RGB: 10.5947
RMSE RGB: 39.7731
threshold: 12, gain: 5.0
Weekly schedule planner1
Page 1
Weekly schedule planner1 page 1 difference heatmapchanged: 708927 px (32.57%)
bbox: [125, 96, 1571, 1129]
mean abs RGB: 23.7178
RMSE RGB: 60.2885
threshold: 12, gain: 5.0
XlsxIssue75
Page 1
XlsxIssue75 page 1 difference heatmapchanged: 311593 px (14.31%)
bbox: [113, 114, 1138, 1649]
mean abs RGB: 22.9939
RMSE RGB: 68.7476
threshold: 12, gain: 5.0
XlsxIssue75
Page 2
XlsxIssue75 page 2 difference heatmapchanged: 302322 px (13.89%)
bbox: [113, 95, 1067, 1649]
mean abs RGB: 23.6977
RMSE RGB: 70.4909
threshold: 12, gain: 5.0
XlsxIssue75
Page 3
XlsxIssue75 page 3 difference heatmapchanged: 302146 px (13.88%)
bbox: [113, 95, 1067, 1649]
mean abs RGB: 23.5961
RMSE RGB: 70.296
threshold: 12, gain: 5.0
XlsxIssue77_MergedCellAlignment
Page 1
XlsxIssue77_MergedCellAlignment page 1 difference heatmapchanged: 464635 px (21.35%)
bbox: [36, 121, 1163, 1614]
mean abs RGB: 33.056
RMSE RGB: 83.2732
threshold: 12, gain: 5.0
XlsxIssue77_MergedCellAlignment
Page 2
XlsxIssue77_MergedCellAlignment page 2 difference heatmapchanged: 457328 px (21.01%)
bbox: [36, 96, 1163, 1612]
mean abs RGB: 31.4234
RMSE RGB: 80.7256
threshold: 12, gain: 5.0
XlsxIssue77_Template1
Page 1
XlsxIssue77_Template1 page 1 difference heatmapchanged: 383776 px (17.63%)
bbox: [82, 127, 1157, 1565]
mean abs RGB: 19.6971
RMSE RGB: 62.8623
threshold: 12, gain: 5.0
XlsxIssue77_Template1
Page 2
XlsxIssue77_Template1 page 2 difference heatmapchanged: 363402 px (16.70%)
bbox: [82, 171, 1157, 1565]
mean abs RGB: 17.577
RMSE RGB: 59.2034
threshold: 12, gain: 5.0
XlsxIssue77_Template1
Page 3
XlsxIssue77_Template1 page 3 difference heatmapchanged: 363402 px (16.70%)
bbox: [82, 171, 1157, 1565]
mean abs RGB: 17.577
RMSE RGB: 59.2034
threshold: 12, gain: 5.0
XlsxIssue77_Template2_Workaround
Page 1
XlsxIssue77_Template2_Workaround page 1 difference heatmapchanged: 387312 px (17.79%)
bbox: [78, 127, 1153, 1569]
mean abs RGB: 19.6896
RMSE RGB: 62.9905
threshold: 12, gain: 5.0
XlsxIssue77_Template2_Workaround
Page 2
XlsxIssue77_Template2_Workaround page 2 difference heatmapchanged: 366028 px (16.82%)
bbox: [78, 171, 1153, 1569]
mean abs RGB: 17.6291
RMSE RGB: 59.5168
threshold: 12, gain: 5.0
XlsxIssue77_Template2_Workaround
Page 3
XlsxIssue77_Template2_Workaround page 3 difference heatmapchanged: 366028 px (16.82%)
bbox: [78, 171, 1153, 1569]
mean abs RGB: 17.6291
RMSE RGB: 59.5168
threshold: 12, gain: 5.0
XlsxIssue81_LayoutOptions
Page 1
XlsxIssue81_LayoutOptions page 1 difference heatmapchanged: 501409 px (24.49%)
bbox: [37, 127, 1037, 1524]
mean abs RGB: 31.7008
RMSE RGB: 77.379
threshold: 12, gain: 5.0
XlsxIssue81_LayoutOptions
Page 2
XlsxIssue81_LayoutOptions page 2 difference heatmapchanged: 508221 px (24.82%)
bbox: [37, 95, 1037, 1520]
mean abs RGB: 32.2803
RMSE RGB: 78.1336
threshold: 12, gain: 5.0
XlsxIssue81_LayoutOptions
Page 3
XlsxIssue81_LayoutOptions page 3 difference heatmapchanged: 507436 px (24.78%)
bbox: [37, 95, 1037, 1521]
mean abs RGB: 32.2212
RMSE RGB: 78.0676
threshold: 12, gain: 5.0
XlsxIssue82_5mb
Page 1
XlsxIssue82_5mb page 1 difference heatmapchanged: 459810 px (22.46%)
bbox: [109, 127, 1100, 1524]
mean abs RGB: 34.049
RMSE RGB: 81.4668
threshold: 12, gain: 5.0
XlsxIssue82_5mb
Page 2
XlsxIssue82_5mb page 2 difference heatmapchanged: 454355 px (22.19%)
bbox: [109, 95, 1100, 1520]
mean abs RGB: 33.5839
RMSE RGB: 80.8208
threshold: 12, gain: 5.0
XlsxIssue82_5mb
Page 3
XlsxIssue82_5mb page 3 difference heatmapchanged: 464425 px (22.68%)
bbox: [109, 95, 1100, 1524]
mean abs RGB: 34.3736
RMSE RGB: 81.812
threshold: 12, gain: 5.0
XlsxIssue82_SampleTestData5mb
Page 1
XlsxIssue82_SampleTestData5mb page 1 difference heatmapchanged: 453240 px (20.82%)
bbox: [112, 127, 1241, 1618]
mean abs RGB: 35.0604
RMSE RGB: 85.3765
threshold: 12, gain: 5.0
XlsxIssue82_SampleTestData5mb
Page 2
XlsxIssue82_SampleTestData5mb page 2 difference heatmapchanged: 461228 px (21.19%)
bbox: [112, 96, 1241, 1618]
mean abs RGB: 35.6031
RMSE RGB: 86.0294
threshold: 12, gain: 5.0
XlsxIssue82_SampleTestData5mb
Page 3
XlsxIssue82_SampleTestData5mb page 3 difference heatmapchanged: 464058 px (21.32%)
bbox: [112, 96, 1241, 1618]
mean abs RGB: 35.8457
RMSE RGB: 86.3231
threshold: 12, gain: 5.0
XlsxIssue82_WideTable
Page 1
XlsxIssue82_WideTable page 1 difference heatmapchanged: 545646 px (26.65%)
bbox: [114, 75, 1467, 1141]
mean abs RGB: 34.4706
RMSE RGB: 80.1001
threshold: 12, gain: 5.0
XlsxIssue82_WideTable
Page 2
XlsxIssue82_WideTable page 2 difference heatmapchanged: 551379 px (26.93%)
bbox: [114, 75, 1476, 1141]
mean abs RGB: 34.723
RMSE RGB: 80.3798
threshold: 12, gain: 5.0
XlsxIssue82_WideTable
Page 3
XlsxIssue82_WideTable page 3 difference heatmapchanged: 542297 px (26.48%)
bbox: [114, 75, 1476, 1141]
mean abs RGB: 33.8899
RMSE RGB: 79.2981
threshold: 12, gain: 5.0
XlsxIssue152_ClusteredNonZeroBarChart
Page 1
XlsxIssue152_ClusteredNonZeroBarChart page 1 difference heatmapchanged: 94879 px (4.36%)
bbox: [112, 127, 881, 776]
mean abs RGB: 5.4351
RMSE RGB: 29.1989
threshold: 12, gain: 5.0
-## Difference Heatmaps +## Visual Comparison + +Scores compare go MiniPdf against Microsoft 365 Excel Reference. LibreOffice is an auxiliary rendering and does not affect scores. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Academic Achievement Summary Table
format: xlsx | case: Academic Achievement Summary Table | scope: go-issue-xlsx
Academic Achievement Summary Table 39.8%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfmissingmissing
AcademicAchievement_temp
format: xlsx | case: AcademicAchievement_temp | scope: go-issue-xlsx
AcademicAchievement_temp 39.8%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfmissingmissing
Business expense budget1
format: xlsx | case: Business expense budget1 | scope: go-issue-xlsx
Business expense budget1 40.8%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
missingMicrosoft 365 Excel ReferenceLibreOffice
Business expenses budget2
format: xlsx | case: Business expenses budget2 | scope: go-issue-xlsx
Business expenses budget2 18.0%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Business plan checklist with SWOT analysis1
format: xlsx | case: Business plan checklist with SWOT analysis1 | scope: go-issue-xlsx
Business plan checklist with SWOT analysis1 65.5%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Event budget1
format: xlsx | case: Event budget1 | scope: go-issue-xlsx
Event budget1 61.2%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Expense report basic1
format: xlsx | case: Expense report basic1 | scope: go-issue-xlsx
Expense report basic1 37.2%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfmissingmissing
Grocery list1
format: xlsx | case: Grocery list1 | scope: go-issue-xlsx
Grocery list1 44.5%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfmissingmissing
Issue202609031340
format: xlsx | case: Issue202609031340 | scope: go-issue-xlsx
Issue202609031340 45.4%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
payroll-calculator_f
format: xlsx | case: payroll-calculator_f | scope: go-issue-xlsx
payroll-calculator_f 33.8%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
PO_anonymized
format: xlsx | case: PO_anonymized | scope: go-issue-xlsx
PO_anonymized 39.1%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Simple invoice1
format: xlsx | case: Simple invoice1 | scope: go-issue-xlsx
Simple invoice1 58.5%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Small business cash flow forecast1
format: xlsx | case: Small business cash flow forecast1 | scope: go-issue-xlsx
Small business cash flow forecast1 50.4%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Wedding_timeline_planner1_copy
format: xlsx | case: Wedding_timeline_planner1_copy | scope: go-issue-xlsx
Wedding_timeline_planner1_copy 72.0%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Weekly schedule planner1
format: xlsx | case: Weekly schedule planner1 | scope: go-issue-xlsx
Weekly schedule planner1 28.5%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfmissingmissing
go MiniPdfmissingmissing
XlsxIssue75
format: xlsx | case: XlsxIssue75 | scope: go-issue-xlsx
XlsxIssue75 46.7%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue77_MergedCellAlignment
format: xlsx | case: XlsxIssue77_MergedCellAlignment | scope: go-issue-xlsx
XlsxIssue77_MergedCellAlignment 70.2%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfmissingmissing
XlsxIssue77_Template1
format: xlsx | case: XlsxIssue77_Template1 | scope: go-issue-xlsx
XlsxIssue77_Template1 48.9%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue77_Template2_Workaround
format: xlsx | case: XlsxIssue77_Template2_Workaround | scope: go-issue-xlsx
XlsxIssue77_Template2_Workaround 48.8%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue81_LayoutOptions
format: xlsx | case: XlsxIssue81_LayoutOptions | scope: go-issue-xlsx
XlsxIssue81_LayoutOptions 63.1%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue82_5mb
format: xlsx | case: XlsxIssue82_5mb | scope: go-issue-xlsx
XlsxIssue82_5mb 44.7%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue82_SampleTestData5mb
format: xlsx | case: XlsxIssue82_SampleTestData5mb | scope: go-issue-xlsx
XlsxIssue82_SampleTestData5mb 52.1%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue82_WideTable
format: xlsx | case: XlsxIssue82_WideTable | scope: go-issue-xlsx
XlsxIssue82_WideTable 63.2%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
XlsxIssue152_ClusteredNonZeroBarChart
format: xlsx | case: XlsxIssue152_ClusteredNonZeroBarChart | scope: go-issue-xlsx
XlsxIssue152_ClusteredNonZeroBarChart 70.9%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
+ +## Detailed Results + +### Academic Achievement Summary Table + +- **Case Metadata:** format: xlsx | case: Academic Achievement Summary Table | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Academic Achievement Summary Table.xlsx +- **Text Similarity:** 0.3235 +- **Visual Average:** 0.4218 +- **Overall Score:** 0.3981 +- **Pages:** MiniPdf=9, Reference=2 +- **File Size:** MiniPdf=16516 bytes, Reference=151877 bytes + +
Text Diff + +```diff +--- minipdf/Academic Achievement Summary Table.pdf ++++ reference/Academic Achievement Summary Table.pdf +@@ -1,9 +1,11 @@ +-??3 + +-??????? + +-????? ??????? + +-??????? + +-??????????? + +-?? ?? ???? + ++附件3 + ++学术业绩汇总表 + ++报考岗位: 报考岗位代码: 考生姓名: + ++博士论文题目: 博士论文研究方向: + ++公开发表的主要论文情况 + ++角色 转载刊物、转载字数及 是否为代表作 + ++序号 题目 刊物名称 核心期刊情况 刊号 发表时间 + ++(排名) 转载时间等 (指定1篇) + + 1 + + 2 + + 3 + +@@ -16,27 +18,30 @@ + 10 + + 11 + + 12 + +-????????????????? + +-?? ?? ????? + ++---PAGE--- + ++公开出版的主要专(译)著、教材情况 + ++角色 全书文 本人写 转载刊物、转载字数及 + ++序号 题目 出版社名称 出版号 出版时间 备注 + ++(排名) 字数 作量 转载时间等 + + 1 + + 2 + +-??????????? + +-?? ?? + ++获批的决策咨询报告情况 + ++序号 题目 批示领导级别 获批时间 角色(排名) 备注 + + 1 + + 2 + + 3 + + 4 + +-??????????? + +-?? ???? ???? + ++承担的主要科研课题情况 + ++项目 + ++序号 课题名称 项目来源 课题编号 角色(排名) 起止时间 成果鉴定(评价) 备注 + ++级别 + + 1 + + 2 + +----PAGE--- + + 3 + + 4 + +-?????????????????????????????????? + +-??????? + +-??? ? ? ? + +-?????1.????????????????????????????????????????????A4?????? + +-2.??????????????????????????????????????CSSCI??????????????????????????? + +-?????????????????????SCI???????????SSCI??????SCI?SSCI???????????????Q1?Q2? + +----PAGE--- ++本人承诺以上情况属实,并有相应证明。如有不实之处,愿意承担相应责任。 + ++报名人员签名: + ++日期: 年 月 日 + ++填表说明:1.请将各类学术成果按等级、层次及水平自高到低顺序填写。不加行、减行,不加页、减页,本表采用A4正反面打印。 + ++2.核心期刊是指北京大学图书馆“中文核心期刊”、南京大学“中文社会科学引文索引(CSSCI)来源期刊”(含扩展版、集刊)、中国科学技术信息研究所 + ++“中国科技论文统计源期刊”和科学引文索引(SCI)、社会科学引文索引(SSCI)。其中,被SCI、SSCI收录的期刊要求进入所在学科领域Q1、Q2。 +``` +
+ +### AcademicAchievement_temp + +- **Case Metadata:** format: xlsx | case: AcademicAchievement_temp | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/AcademicAchievement_temp.xlsx +- **Text Similarity:** 0.3235 +- **Visual Average:** 0.4218 +- **Overall Score:** 0.3981 +- **Pages:** MiniPdf=9, Reference=2 +- **File Size:** MiniPdf=16516 bytes, Reference=151877 bytes + +
Text Diff + +```diff +--- minipdf/AcademicAchievement_temp.pdf ++++ reference/AcademicAchievement_temp.pdf +@@ -1,9 +1,11 @@ +-??3 + +-??????? + +-????? ??????? + +-??????? + +-??????????? + +-?? ?? ???? + ++附件3 + ++学术业绩汇总表 + ++报考岗位: 报考岗位代码: 考生姓名: + ++博士论文题目: 博士论文研究方向: + ++公开发表的主要论文情况 + ++角色 转载刊物、转载字数及 是否为代表作 + ++序号 题目 刊物名称 核心期刊情况 刊号 发表时间 + ++(排名) 转载时间等 (指定1篇) + + 1 + + 2 + + 3 + +@@ -16,27 +18,30 @@ + 10 + + 11 + + 12 + +-????????????????? + +-?? ?? ????? + ++---PAGE--- + ++公开出版的主要专(译)著、教材情况 + ++角色 全书文 本人写 转载刊物、转载字数及 + ++序号 题目 出版社名称 出版号 出版时间 备注 + ++(排名) 字数 作量 转载时间等 + + 1 + + 2 + +-??????????? + +-?? ?? + ++获批的决策咨询报告情况 + ++序号 题目 批示领导级别 获批时间 角色(排名) 备注 + + 1 + + 2 + + 3 + + 4 + +-??????????? + +-?? ???? ???? + ++承担的主要科研课题情况 + ++项目 + ++序号 课题名称 项目来源 课题编号 角色(排名) 起止时间 成果鉴定(评价) 备注 + ++级别 + + 1 + + 2 + +----PAGE--- + + 3 + + 4 + +-?????????????????????????????????? + +-??????? + +-??? ? ? ? + +-?????1.????????????????????????????????????????????A4?????? + +-2.??????????????????????????????????????CSSCI??????????????????????????? + +-?????????????????????SCI???????????SSCI??????SCI?SSCI???????????????Q1?Q2? + +----PAGE--- ++本人承诺以上情况属实,并有相应证明。如有不实之处,愿意承担相应责任。 + ++报名人员签名: + ++日期: 年 月 日 + ++填表说明:1.请将各类学术成果按等级、层次及水平自高到低顺序填写。不加行、减行,不加页、减页,本表采用A4正反面打印。 + ++2.核心期刊是指北京大学图书馆“中文核心期刊”、南京大学“中文社会科学引文索引(CSSCI)来源期刊”(含扩展版、集刊)、中国科学技术信息研究所 + ++“中国科技论文统计源期刊”和科学引文索引(SCI)、社会科学引文索引(SSCI)。其中,被SCI、SSCI收录的期刊要求进入所在学科领域Q1、Q2。 +``` +
+ +### Business expense budget1 + +- **Case Metadata:** format: xlsx | case: Business expense budget1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Business expense budget1.xlsx +- **Text Similarity:** 0.4638 +- **Visual Average:** 0.3075 +- **Overall Score:** 0.4085 +- **Pages:** MiniPdf=2, Reference=4 +- **File Size:** MiniPdf=4633 bytes, Reference=159864 bytes + +
Text Diff + +```diff +--- minipdf/Business expense budget1.pdf ++++ reference/Business expense budget1.pdf +@@ -1,42 +1,73 @@ + BUSINESS EXPENSE BUDGET + + Fiscal Year 2026 - Quarterly Report + +-CATEGORY Q1 BUDGET Q1 ACTUAL Q2 BUDGET Q2 ACTUAL VARIANCE + ++CATEGORY Q1 BUDGET Q1 ACTUAL Q2 BUDGET + + PERSONNEL + +-Salaries & Wages 45000 44200 46000 45800 1000 + +-Benefits & Insurance 12000 11850 12500 12400 250 + +-Training & Development 3000 2800 3200 3500 -100 + +-Recruitment 2000 1500 2500 2200 800 + +-Personnel Subtotal + ++Salaries & Wages 45,000.00 44,200.00 46,000.00 + ++Benefits & Insurance 12,000.00 11,850.00 12,500.00 + ++Training & Development 3,000.00 2,800.00 3,200.00 + ++Recruitment 2,000.00 1,500.00 2,500.00 + ++Personnel Subtotal 62,000.00 60,350.00 64,200.00 + + OPERATIONS + +-Rent & Utilities 8000 8000 8200 8150 50 + +-Office Supplies 1500 1650 1500 1400 -50 + +-Equipment & Maintenance 3000 2700 3500 3800 0 + +-IT & Software 4000 4200 4500 4300 0 + +-Telecommunications 2000 1900 2100 2050 150 + +-Operations Subtotal + ++Rent & Utilities 8,000.00 8,000.00 8,200.00 + ++Office Supplies 1,500.00 1,650.00 1,500.00 + ++Equipment & Maintenance 3,000.00 2,700.00 3,500.00 + ++IT & Software 4,000.00 4,200.00 4,500.00 + ++Telecommunications 2,000.00 1,900.00 2,100.00 + ++Operations Subtotal 18,500.00 18,450.00 19,800.00 + + MARKETING + +-Advertising 5000 4800 6000 5500 700 + +-Digital Marketing 3000 3200 3500 3600 -300 + +-Events & Sponsorships 2000 1800 2500 2800 -100 + +-Printing & Design 1000 950 1200 1100 150 + +-Marketing Subtotal + ++Advertising 5,000.00 4,800.00 6,000.00 + ++Digital Marketing 3,000.00 3,200.00 3,500.00 + ++Events & Sponsorships 2,000.00 1,800.00 2,500.00 + ++Printing & Design 1,000.00 950.00 1,200.00 + ++Marketing Subtotal 11,000.00 10,750.00 13,200.00 + + TRAVEL & ENTERTAINMENT + +-Domestic Travel 3000 2500 3500 3200 800 + +-International Travel 5000 4000 6000 5500 1500 + +-Meals & Entertainment 2000 1800 2200 2100 300 + +-Vehicle Expenses 1500 1400 1500 1600 0 + +-Travel & Entertainment Subtotal + ++Domestic Travel 3,000.00 2,500.00 3,500.00 + ++International Travel 5,000.00 4,000.00 6,000.00 + ++Meals & Entertainment 2,000.00 1,800.00 2,200.00 + ++Vehicle Expenses 1,500.00 1,400.00 1,500.00 + ++Travel & Entertainment Subtotal 11,500.00 9,700.00 13,200.00 + + PROFESSIONAL SERVICES + +-Legal Fees 3000 2800 3500 3200 500 + +-Accounting & Audit 2500 2500 2500 2500 0 + +-Consulting 4000 3500 5000 4800 700 + +-Insurance 2000 2000 2100 2100 0 + +-Professional Services Subtotal + +-GRAND TOTAL + ++Legal Fees 3,000.00 2,800.00 3,500.00 + ++Accounting & Audit 2,500.00 2,500.00 2,500.00 + ++Consulting 4,000.00 3,500.00 5,000.00 + ++Insurance 2,000.00 2,000.00 2,100.00 + ++Professional Services Subtotal 11,500.00 10,800.00 13,100.00 + ++---PAGE--- + ++GRAND TOTAL 114,500.00 110,050.00 123,500.00 + + Category Total Budget Total Actual + + Personnel 126200 124250 + + Operations 38300 38150 + + Marketing 24200 23750 + + Travel & Entertainment 24700 22100 + ++Professional Services 24600 23400 + ++Budget vs Actual by Category + ++Amount (\$) + ++Category + + ---PAGE--- + +-Professional Services 24600 +... (503 more characters) + +``` +
+ +### Business expenses budget2 + +- **Case Metadata:** format: xlsx | case: Business expenses budget2 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Business expenses budget2.xlsx +- **Text Similarity:** 0.119 +- **Visual Average:** 0.0808 +- **Overall Score:** 0.1799 +- **Pages:** MiniPdf=14, Reference=4 +- **File Size:** MiniPdf=23794 bytes, Reference=376973 bytes + +
Text Diff + +```diff +--- minipdf/Business expenses budget2.pdf ++++ reference/Business expenses budget2.pdf +@@ -1,56 +1,81 @@ + Market Financial Consulting + + PLANNED EXPENSES + +-January February March April May June July + +-EMPLOYEE COSTS 107950 107950 107950 111125 111125 111125 111125 + +-EMPLOYEE COSTS JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY + +-Wages 85000 85000 85000 87500 87500 87500 87500 + +-Benefits 22950 22950 22950 23625 23625 23625 23625 + +-OFFICE COSTS 11370 11770 11770 11470 11470 11470 11470 + +-OFFICE COSTS JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY + +-Office lease 9800 9800 9800 9800 9800 9800 9800 + +-Gas 0 400 400 100 100 100 100 + +-Electric 300 300 300 300 300 300 300 + +-Water 40 40 40 40 40 40 40 + +-Telephone 250 250 250 250 250 250 250 + +-Internet access 180 180 180 180 180 180 180 + +-Office supplies 200 200 200 200 200 200 200 + +-Security 600 600 600 600 600 600 600 + +-MARKETING COSTS 8100 3100 3100 11100 3100 3900 8100 + +-MARKETING COSTS JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY + +-Web site hosting 500 500 500 500 500 500 500 + +-Web site updates 200 200 200 200 200 1000 200 + +-Collateral preparation 5000 0 0 5000 0 0 5000 + +-Collateral printing 200 200 200 200 200 200 200 + +-Marketing events 2000 2000 2000 5000 2000 2000 2000 + +-Miscellaneous expenses 200 200 200 200 200 200 200 + +-TRAINING / TRAVEL 4000 4000 4000 4000 4000 4000 4000 + ++January February March April May June July August September October November December Total + ++EMPLOYEE COSTS $ 107,950.00 $ 107,950.00 $ 107,950.00 $ 111,125.00 $ 111,125.00 $ 111,125.00 $ 111,125.00 $ 117,348.00 $ 117,348.00 $ 117,348.00 $ 117,348.00 $ 117,348.00 $ 1,355,090.00 + ++Wages $ 85,000.00 $ 85,000.00 $ 85,000.00 $ 87,500.00 $ 87,500.00 $ 87,500.00 $ 87,500.00 $ 92,400.00 $ 92,400.00 $ 92,400.00 $ 92,400.00 $ 92,400.00 $ 1,067,000.00 + ++Benefits $ 22,950.00 $ 22,950.00 $ 22,950.00 $ 23,625.00 $ 23,625.00 $ 23,625.00 $ 23,625.00 $ 24,948.00 $ 24,948.00 $ 24,948.00 $ 24,948.00 $ 24,948.00 $ 288,090.00 + ++OFFICE COSTS $ 11,370.00 $ 11,770.00 $ 11,770.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,470.00 $ 11,770.00 $ 11,770.00 $ 138,740.00 + ++Office lease $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 9,800.00 $ 117,600.00 + ++Gas $ - $ 400.00 $ 400.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 100.00 $ 400.00 $ 400.00 $ 2,300.00 + ++Electric $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 300.00 $ 3,600.00 + ++Water $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 40.00 $ 480.00 + ++Telephone $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 250.00 $ 3,000.00 + ++Internet access $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 180.00 $ 2,160.00 + ++Office supplies $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.0 +... (7214 more characters) + +``` +
+ +### Business plan checklist with SWOT analysis1 + +- **Case Metadata:** format: xlsx | case: Business plan checklist with SWOT analysis1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Business plan checklist with SWOT analysis1.xlsx +- **Text Similarity:** 0.8729 +- **Visual Average:** 0.2639 +- **Overall Score:** 0.6547 +- **Pages:** MiniPdf=1, Reference=1 +- **File Size:** MiniPdf=3625 bytes, Reference=64252 bytes + +
Text Diff + +```diff +--- minipdf/Business plan checklist with SWOT analysis1.pdf ++++ reference/Business plan checklist with SWOT analysis1.pdf +@@ -1,27 +1,37 @@ + Northwind Traders + + Business planning checklist + +-Using the strength, weakness, opportunity, and threat (SWOT) analysis framework, + +-develop a checklist of the key activities that need to be performed when preparing a + +-formal business plan in the table, below. + ++Using the strength, weakness, opportunity, and threat (SWOT) analysis framework, develop a checklist of the key activities + ++that need to be performed when preparing a formal business plan in the table, below. + + Activity Owner Completion date + +-Strengths: Define the company's current mission statement. Luca Richter 44935 + +-Strengths: Identify market segments in which the company will participate by + +-conducting primary and secondary market research. Dylan Williams 44935 + +-Strengths: Identify the company's value proposition and how it will differentiate + +-itself within the marketplace. Kristin Orav 44942 + +-Weaknesses: Identify any barriers to market entry (for example, capital + +-requirements, technical barriers, patents, and process barriers) that the company + +-needs to overcome. Flora Berggren 44932 + +-Weaknesses: Identify any risks inherent to the organization that need to be + +-mitigated so that the company can realize the business plan. Flora Berggren 44932 + +-Opportunities: Identify areas where the current market is underserved that provide + +-an opportunity for the company. Kristin Orav 44932 + +-Opportunities: Identify any key processes, intellectual capital, or other resources + +-that the company can use to its advantage in the marketplace. Ian Hansson 44935 + +-Threats: Identify primary competitors, and then analyze competitor performance by + +-using all available data and additional data that can be verified. Gaurav Cheema + +-44935 + +-Threats: Identify secondary and potential future competitors that might affect the + +-business plan. Chela Arapelli 44942 + +-Threats: Develop strategies for mitigating primary and secondary competitive + +-threats. Gaurav Cheema 44942 ++Strengths: Define the company's current mission + ++Luca Richter 1/9/2023 + ++statement. + ++Strengths: Identify market segments in which the + ++company will participate by conducting primary and Dylan Williams 1/9/2023 + ++secondary market research. + ++Strengths: Identify the company's value proposition and + ++Kristin Orav 1/16/2023 + ++how it will differentiate itself within the marketplace. + ++Weaknesses: Identify any barriers to market entry (for + ++example, capital requirements, technical barriers, patents, + ++Flora Berggren 1/6/2023 + ++and process barriers) that the company needs to + ++overcome. + ++Weaknesses: Identify any risks inherent to the + ++organization that need to be mitigated so that the company Flora Berggren 1/6/2023 + ++can realize the business plan. + ++Opportunities: Identify areas where the current market is + ++Kristin Orav 1/6/2023 + ++underserved that provide an opportunity for the company. + ++Oppo +... (589 more characters) + +``` +
+ +### Event budget1 + +- **Case Metadata:** format: xlsx | case: Event budget1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Event budget1.xlsx +- **Text Similarity:** 0.712 +- **Visual Average:** 0.5681 +- **Overall Score:** 0.612 +- **Pages:** MiniPdf=4, Reference=5 +- **File Size:** MiniPdf=8388 bytes, Reference=121223 bytes + +
Text Diff + +```diff +--- minipdf/Event budget1.pdf ++++ reference/Event budget1.pdf +@@ -1,68 +1,41 @@ + ABOUT THIS TEMPLATE + +-Use this event budget workbook to track expenses incurred on and income earned from + +-an event. + ++Use this event budget workbook to track expenses incurred on and income earned from an + ++event. + + Enter details in tables in expenses worksheet and income worksheet. + + Total expenses and total income are auto-calculated. + + Profit & loss summary and chart are auto-updated in profit-loss summary worksheet. + +-Note:Â + +-Additional instructions have been provided in column A in each worksheet. This text + +-has been intentionally hidden. To remove text, select column A, then select DELETE. + +-To learn more about tables, press SHIFT and then F10 within a table, select the + +-TABLE option, and then select ALTERNATIVE TEXT + ++Note: + ++Additional instructions have been provided in column A in each worksheet. This text has been + ++intentionally hidden. To remove text, select column A, then select DELETE. + ++To learn more about tables, press SHIFT and then F10 within a table, select the TABLE option, and + ++then select ALTERNATIVE TEXT + + ---PAGE--- + +-Event budget EXPENSES + +-TOTAL EXPENSES Estimated Actual + +-882 333 + +-Site Estimated Actual Refreshments Estimated Actual + +-Room and hall fees 500 Food + +-Site staff Drinks 20 + +-Equipment Linens 20 + +-Tables and chairs Staff and gratuities + +-Total 500 0 Total 20 20 + +-Decorations Estimated Actual Program Estimated Actual + +-Flowers 200 300 Performers + +-Candles Speakers 30 + +-Lighting Travel + +-Balloons Hotel + +-Paper supplies Other + +-Total 200 300 Total 30 0 + +-Publicity Estimated Actual Prizes Estimated Actual + +-Graphics work Ribbons/Plaques/Trophies + +-Photocopying/Printing 20 Gifts 100 + +-Postage Total 100 0 + +-Total 20 0 + ++Event budget EXPENSES + ++Estimated Actual + ++TOTAL EXPENSES + ++$882.00 $333.00 + ++Site Estimated Actual Refreshments Estimated Actual + ++Room and hall fees $500.00 Food + ++Site staff Drinks $20.00 + ++Equipment Linens $20.00 + ++Tables and chairs Staff and gratuities + ++Total $500.00 $0.00 Total $20.00 $20.00 + ++Decorations Estimated Actual Program Estimated Actual + ++Flowers $200.00 $300.00 Performers + ++Candles Speakers $30.00 + ++Lighting Travel + ++Balloons Hotel + ++Paper supplies Other + ++Total $200.00 $300.00 Total $30.00 $0.00 + ++Publicity Estimated Actual Prizes Estimated Actual + ++Graphics work Ribbons/Plaques/Trophies + ++Photocopying/Printing $20.00 Gifts $100.00 + ++Postage Total $100.00 $0.00 + ++Total $20.00 $0.00 + + Miscellaneous Estimated Actual + +-Telephone 13 + +-Transportation 12 + ++Telephone $13.00 + ++Transportation $12.00 + + Stationery supplies + + Fax services + +-Total 12 13 + +----PAGE--- + +-Event budget INCOME + +-TOTAL INCOME Estimated Actual + +-1936 1831 + +-ADMISSIONS + +-Estimated no. Actual no. Type Price Estimated income Actual income + +-300 278 Adults @ 5 1500 1390 + +-197 195 Children @ 2 394 390 + +-42 51 Other @ 1 42 51 + +-Total 1936 1831 + +-ADS IN PROGRAM + +-Estimated no. Actua +... (485 more characters) + +``` +
+ +### Expense report basic1 + +- **Case Metadata:** format: xlsx | case: Expense report basic1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Expense report basic1.xlsx +- **Text Similarity:** 0.6403 +- **Visual Average:** 0.0387 +- **Overall Score:** 0.3716 +- **Pages:** MiniPdf=2, Reference=1 +- **File Size:** MiniPdf=3725 bytes, Reference=47896 bytes + +
Text Diff + +```diff +--- minipdf/Expense report basic1.pdf ++++ reference/Expense report basic1.pdf +@@ -1,27 +1,23 @@ ++For Office Use Only + + EXPENSE REPORT + + GENERAL INFORMATION + +-Purpose Budget overview preparation Statement Number 1123 Pay Period from: 10/1/2023 + ++Purpose Budget overview preparation Statement Number 1123 Pay Period from: 10/1/2023 to: 11/1/2023 + + EMPLOYEE INFORMATION + +-Name Cora Thomas Position Sales rep SSN 123-45-**** + +-Department Marketing & sales Manager Liane Cormier Employee ID 8675309 + +-Date Account Description Hotel Transport Fuel Meals Phone + +-45204 Wide World Importers Networking 111 250 60 50 0 + +-Total 111 250 60 50 0 + +-APPROVED NOTES + +----PAGE--- + +-For Office Use Only + +-to: 11/1/2023 + +-Entertainment Misc. Total + +-300 25 796 + +-0 + +-0 + +-0 + +-0 + +-0 + +-0 + +-0 + +-0 + +-300 25 796 + +-Subtotal 796 + +-Advances 0 + +-Total 796 ++Name Cora Thomas Position Sales rep SSN 123-45-**** + ++Department Marketing & sales Manager Liane Cormier Employee ID 8675309 + ++Date Account Description Hotel Transport Fuel Meals Phone Entertainment Misc. Total + ++10/5/2023 Wide World Importers Networking $111.00 $250.00 $60.00 $50.00 $0.00 $300.00 $25.00 $796.00 + ++$0.00 + ++$0.00 + ++$0.00 + ++$0.00 + ++$0.00 + ++$0.00 + ++$0.00 + ++$0.00 + ++Total $111.00 $250.00 $60.00 $50.00 $0.00 $300.00 $25.00 $796.00 + ++Subtotal $796.00 + ++Advances $0.00 + ++APPROVED + ++NOTES + ++Total $796.00 +``` +
+ +### Grocery list1 + +- **Case Metadata:** format: xlsx | case: Grocery list1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Grocery list1.xlsx +- **Text Similarity:** 0.7676 +- **Visual Average:** 0.0951 +- **Overall Score:** 0.4451 +- **Pages:** MiniPdf=2, Reference=1 +- **File Size:** MiniPdf=4576 bytes, Reference=71396 bytes + +
Text Diff + +```diff +--- minipdf/Grocery list1.pdf ++++ reference/Grocery list1.pdf +@@ -1,26 +1,28 @@ ++ORCHARD GROCERY HOME DELIVERY LOCAL MARKET OTHER GRAND TOTAL + + GROCERY LIST + +-ORCHARD GROCERY HOME DELIVERY LOCAL MARKET OTHER GRAND TOTAL + +-Customize this list. Replace the entries above with your own to track your most + +-frequently used categories. 11.95 6.1150000000000002 31.85 216.60000000000002 3.99 + +-270.505 + ++Customize this list. Replace the entries above with your own to track your + ++$11.95 $6.12 $31.85 $216.60 $3.99 $270.51 + ++most frequently used categories. + + DONE? ITEM STORE CATEGORY QTY UNIT UNIT PRICE TOTAL NOTE + +-Yes Peaches Azure River Farm ORCHARD 2 lbs 2.99 5.98 + +-Yes Apples Azure River Farm ORCHARD 3 lbs 1.99 5.97 Have coupon + +-Bananas Wide World Importers OTHER 1 bunch 3.99 3.99 + +-Yes Lettuce Market LOCAL MARKET 2 head 2.29 4.58 + +-Tomatoes Market LOCAL MARKET 4 lbs 3.49 13.96 + +-Yes Squash Market LOCAL MARKET 2 each 1.5 3 + +-Yes Celery Wide World Importers LOCAL MARKET 2 bunch 1.99 3.98 + +-Cucumber Market LOCAL MARKET 1 lbs 2.29 2.29 + +-Mushrooms Wide World Importers GROCERY 0.5 lbs 2.25 1.125 + +-Yes Milk Local Farmer HOME DELIVERY 2 gal 3.99 7.98 + +-Yes Cheese Local Farmer HOME DELIVERY 1 lbs 9.99 9.99 Variety of block cheeses + +-Yes Eggs Local Farmer HOME DELIVERY 2 doz 3.5 7 + +-Yes Cottage cheese Local Farmer HOME DELIVERY 1 16 oz 3.89 3.89 + +-Yes Sour cream Local Farmer HOME DELIVERY 1 8 oz 2.99 2.99 + +-Yogurt Wide World Importers GROCERY 1 16 oz 4.99 4.99 Greek with honey + +-Beef Farmer's Market LOCAL MARKET 10 lbs 7.99 79.900000000000006 Bacon wrapped + ++Yes Peaches Azure River Farm ORCHARD 2 lbs $2.99 $5.98 + ++Yes Apples Azure River Farm ORCHARD 3 lbs $1.99 $5.97 Have coupon + ++Bananas Wide World Importers OTHER 1 bunch $3.99 $3.99 + ++Yes Lettuce Market LOCAL MARKET 2 head $2.29 $4.58 + ++Tomatoes Market LOCAL MARKET 4 lbs $3.49 $13.96 + ++Yes Squash Market LOCAL MARKET 2 each $1.50 $3.00 + ++Yes Celery Wide World Importers LOCAL MARKET 2 bunch $1.99 $3.98 + ++Cucumber Market LOCAL MARKET 1 lbs $2.29 $2.29 + ++Mushrooms Wide World Importers GROCERY 0.5 lbs $2.25 $1.13 + ++Yes Milk Local Farmer HOME DELIVERY 2 gal $3.99 $7.98 + ++Variety of block + ++Yes Cheese Local Farmer HOME DELIVERY 1 lbs $9.99 $9.99 + ++cheeses + ++Yes Eggs Local Farmer HOME DELIVERY 2 doz $3.50 $7.00 + ++Yes Cottage cheese Local Farmer HOME DELIVERY 1 16 oz $3.89 $3.89 + ++Yes Sour cream Local Farmer HOME DELIVERY 1 8 oz $2.99 $2.99 + ++Yogurt Wide World Importers GROCERY 1 16 oz $4.99 $4.99 Greek with honey + ++Bacon wrapped + ++Beef Farmer's Market LOCAL MARKET 10 lbs $7.99 $79.90 + + filets + +-Wild Salmon Fish Market LOCAL MARKET 6 lbs 8.99 53.94 + +-Alaskan King Crab Legs Fish Market LOCAL MARKET 5 lbs 10.99 54.95 + +----PAGE--- ++Wild Salmon Fish Market LOCAL MARKET 6 lbs $8.99 $53.94 + ++Alaskan King Crab Legs Fish Market LOCAL MARKET 5 lbs $10.99 $54.95 +``` +
+ +### Issue202609031340 + +- **Case Metadata:** format: xlsx | case: Issue202609031340 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Issue202609031340.xlsx +- **Text Similarity:** 0.1715 +- **Visual Average:** 0.7138 +- **Overall Score:** 0.4541 +- **Pages:** MiniPdf=12, Reference=4 +- **File Size:** MiniPdf=27541 bytes, Reference=346206 bytes + +
Text Diff + +```diff +--- minipdf/Issue202609031340.pdf ++++ reference/Issue202609031340.pdf +@@ -1,71 +1,109 @@ +-XXXXXX???? + +-????????? + +-???? XXXX ???? ???? + +-???? MO25XXXX0100/MO25XXXX0110 ???? PETG + +-???? ??????:45°-90°,????30cm,??900~1200lux + +-?? ???? ???? + +-?? ??????PPS 1?????????????????PPS????? + +-2???????????????????? + +-?? ?????? 1????????????????????? + +-2?????????????????? + +-?? ?????? 1???????????????????? + +-2?????????????????????? + +-?? ?? ??????????SOP? + +-? ? ?? ?? ????(mm) ???? + +-?? A 68.16 ?0.05/?0.17 ?????? + +-?? B 62.03 ?0.05/?0.20 ?????? + +-?? C 27.9 ?0.03/?0.05 ???????? + +-?? D 18.87 ?0.00/?0.10 ?????????? + +-?? E 6.70?0.00/?0.05 ????????? + +-?? F 5.36 ?0.00/?0.05 ??????????? + +-?? G 1.20±0.02 ???? + +-??? H 58.69?0.02/?0.12 ??????????? + +-?? I 8.35?0.10/?0.05 ????????? + +-??? J 53.93?0.04/?0.03 ???????????????????? + +-?? K 18.61±0.05 ???????? + +-??? L*2 4.65?0.00/?0.10 ????????????? + +-? ? ????/?? ?? ???? + +-????????? + +-XXXX-00???? ?? + +-?? 1# ?? + ++表单编号 XXX-XXX-051-01 + ++XXXXXX有限公司 文件编号QA-SIPI-XXXX-01-1-1 + ++发行日期 2025-04-11 + ++文件版本 03 修订日期 2025-11-25 + ++产品穴号 详见注意事项 产品单重 20.45±1.05 g + ++注塑制程检验标准书 + ++¢1.18*10MM(320度加强 + ++附件编号 / 销钉规格 + ++型) + ++产品型号 XXXX 部件名称 盖塑胶件 抽样计划 ANSI/ASQ Z1.4Ⅱ 巡检频率 2H/次 + ++MO25XXXX0100/MO + ++模具编号 部件材质 PETG 允收水准 CR: 0 MA:1.0 MI: 2.0 + ++25XXXX0110 + ++检验条件 检验光源角度:45°-90°,检验距离30cm,光照900~1200lux + ++参考 图纸文件编号:XXXX系列 内部图纸 2025.4.10 + ++项目 检验工具 巡检内容 + ++图 部件图纸编号:HKXXXX-01-RB + ++结 目视、图 1、首件样品整模结构符合图纸设计、同PPS结构一致; + ++构 纸、PPS 2、制程巡检整模产品结构需同首件结构一致。 + ++颜 目视、限 1、首件样品颜色需无限接近限度样中的标准样; + ++色 度样 2、制程巡检产品颜色需同首件颜色一致。 + ++外 目视、限 1、注塑成型外观缺陷大小不可超出限度样板; + ++观 度样 2、其它外观缺陷无限度样的按常规通用标准判定。 + ++包装 目视 参照注塑作业指导书(SOP) + ++仪器 项目 管控标准(mm) 测量位置 频率 + ++1次/ + ++卡尺 A 68.16 +0.05/-0.17 外形最长距离 + ++班 + ++1次/ + ++卡尺 B 62.03 +0.05/-0.20 外形最宽距离 + ++班 + ++卡尺 C 27.9 +0.03/-0.05 顶部装饰片槽长度 首件 + ++卡尺 D 18.87 +0.00/-0.10 后钮侧面装饰片槽长度 首件 + ++卡尺 E 6.70+0.00/-0.05 后钮侧面大卡槽宽度 首件 + ++尺 + ++卡尺 F 5.36 +0.00/-0.05 后钮侧面小卡槽顶部宽度 首件 + ++寸 针规 G 1.20±0.02 针孔内径 6H + ++投影仪 H 58.69+0.02/-0.12 针孔中心至外形最宽距离 6H + ++卡尺 I 8.35+0.10/-0.05 口部平面至顶部高度 首件 + ++后钮针孔中分线中心点至前扣弧 + ++投影仪 J 53.93+0.04/-0.03 6H + ++线中心点距离 + ++1次/ + ++卡尺 K 18.61±0.05 后钮针孔左右间距 + ++班 + ++1次/ + ++高度规 L*2 4.65+0.00/-0.10 后钮针孔中心至口部平面间距 + ++班 + ++产品后钮装饰片槽缺 + ++口竖边同卡尺贴紧 + ++68.16 mm 62.03 mm + ++产品口部平面同 + ++产品口部平面同 + ++卡尺上平面平行 + ++卡尺上平面平行 + ++产品后钮装饰片槽缺 + ++口竖边同卡尺贴紧 + ++0.00 ~ 300mm卡尺 + ++参考资料/项目 代码 取样数量 频率 代码 取样数量 频率 注意事项及品质履历 + ++1.MO25XXXX0100:1#~4#/MO25XXXX0110:5#~12# + ++尺 + ++寸 + ++组 + ++组装制程检验标 + ++1次/ 1次/ + ++准书 1# 一模 2# 一模 + ++班 班 + ++合 + ++XXXX- + ++功 + ++1次/ 1次/ + ++3# 一模 5# 一模 + ++00组装成品 班 班 + ++能 + ++1次/ + ++6# 一模 + ++班 + ++日期 版本 工程担当 品质担当 修 订 内 容 + ++2025/4/11 00 AAAA AAA 初版发行 + ++修 + + ---PAGE--- + +-3# ?? + +-6# ?? + +-???? ?? ?? ???? ???? ? ? ? ? + +-2025/4/11 00 AAAA AAA ???? + +-2025/5/12 01 BBBB BBB A?68.16 ?0.05/?0.13??68.16 ?0.05/?0.17?B?62.03 + +-?0.05/?0.10??62.03 ?0.05/?0.20?D?18.87 ?0.00/?0.05??18.87 + +-?0.00/?0.10?I?8.35?0.00/?0.16??8.35?0.10/?0.05?J?53.93?0.00/?0.10??53.93?0.05/?0.10?L + +-*2?4.65±0.05??4.65?0.00/?0.10??????? + +-2025/8/6 02 CCCC CCCC ???????MO25XXXX0110 + +-20 +... (1105 more characters) + +``` +
+ +### payroll-calculator_f + +- **Case Metadata:** format: xlsx | case: payroll-calculator_f | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/payroll-calculator_f.xlsx +- **Text Similarity:** 0.2914 +- **Visual Average:** 0.3029 +- **Overall Score:** 0.3377 +- **Pages:** MiniPdf=72, Reference=29 +- **File Size:** MiniPdf=151678 bytes, Reference=606513 bytes + +
Text Diff + +```diff +--- minipdf/payroll-calculator_f.pdf ++++ reference/payroll-calculator_f.pdf +@@ -1,17 +1,49 @@ + Employee Register + +-Information contained in this employee register is highly confidential + +-ID Employee's Name M/F Hire Date Occupation Annual + +-Salary + +-($) Regular + +-Hourly + +-Rate ($) Overtime + +-Hourly + +-Rate ($) Exempt + +-from + +-Overtime + +-1 Adam Jones M 41320 Senior Accountant 42000 20.190000000000001 30.29 Yes + +-2 Nichola Brown F 40814 CR Manager 54481 26.19 39.29 Yes + +-3 Benny Erwin M 40674 Applications PM 48785 23.45 35.18 No + ++Information contained in this employee register is highly confidential Filing Status (W-4 before 2020) Filing St + ++Step 2 + ++Additional Amount to + ++Annual Regular Overtime Exempt + ++Pay Federal Withhold + ++ID Employee's Name M/F Hire Date Occupation Salary Hourly Hourly from W-4 Form Filing Status Filing Status + ++Frequency Allowance (With every paycheck) + ++($) Rate ($) Rate ($) Overtime Box in (c) + ++($) + ++1 Adam Jones M 15-Feb-13 Senior Accountant 42,000.00 20.19 30.29 Yes Monthly W-4 (2020 or later) Exempt 2 50 Single Not Checked + ++2 Nichola Brown F 28-Sep-11 CR Manager 54,481.00 26.19 39.29 Yes Monthly W-4 (2020 or later) Married 4 Single Not Checked + ++3 Benny Erwin M 11-May-11 Applications PM 48,785.00 23.45 35.18 No Monthly W-4 (before 2020) Married 4 + ++When adding more rows, insert new rows above this one + ++Page 1 of 29 + + ---PAGE--- + +-When adding more rows, insert new rows above this one + +----PAGE--- ++tatus (W-4 from 2020 or later) Pre-Tax Adjustments Post-Tax Adjustments Post-Tax Deductions + ++Step 3 Step 4 + ++Tax Deferral Plan Health Insurance Other State Local Other Social + ++(b) (c) Exempt from Insurance + ++(401k) Premiums Withholdings Tax Tax Deductions Address Security + ++Dependents Other Deductions Extra FICA ($) + ++(%) ($) ($) (%) (%) ($) # + ++Under Age 17 Dependents ($) withholding + ++($) + ++100 50 4.00% - - Not Exempt 4.63% 0.00% 45.00 - 111 Street, Town/City, ST, 00000 ***-**-6789 + ++3.00% - - Not Exempt 4.63% 0.00% 42.00 - 111 Street, Town/City, ST, 00000 ***-**-4321 + ++4.50% - - Not Exempt 4.63% 0.00% 14.00 30.00 111 Street, Town/City, ST, 00000 ***-**-0000 + ++Page 2 of 29 + ++---PAGE--- + ++© 2013 - 2026 Spreadsheet123 LTD + ++Payroll Calculator + ++Disclaimer: + ++This template is provided as-is for + ++informational, illustrative, or/and + ++educational purposes only and under no + ++circumstances should be construed as + ++financial, legal, or tax advice. + ++The results provided by this calculator are + ++only estimates and may not apply to your + ++specific situation. + ++Spreadsheet123 LTD strongly + ++recommends seeking the advice of + ++qualified professionals regarding financial + ++or legal decisions. + ++Spreadsheet123 LTD reserves the right to + ++make changes to this software without + ++notification. + ++Page 3 of 29 +``` +
+ +### PO_anonymized + +- **Case Metadata:** format: xlsx | case: PO_anonymized | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/PO_anonymized.xlsx +- **Text Similarity:** 0.2925 +- **Visual Average:** 0.4354 +- **Overall Score:** 0.3912 +- **Pages:** MiniPdf=235, Reference=9 +- **File Size:** MiniPdf=616365 bytes, Reference=409049 bytes + +
Text Diff + +```diff +--- minipdf/PO_anonymized.pdf ++++ reference/PO_anonymized.pdf +@@ -1,96 +1,140 @@ + Final Inspection Report + +-Client: Global Tech Supplier: + +-XXX office: TX Inspector: + +-PM: Avery Wilson Inspection Site: + +-Project#: XXBFNO6 Inspection date: + +-Date of Manufacture: + +-Item#: XX-ABC-68878-C + +-Description: Standard Component Assembly with Seal Insert + +-Sign-off sample: Yes Approved drawings + +-Ship mark Yes Approved ranges + +-Inspection Result: Accept + +-( Comment: + ++Client: Global Tech Supplier: Alpha Labs Client PO#: PO-XX328 + ++XXX office: TX Inspector: Sam Davis XXX PO#: 21668732 + ++PM: Avery Wilson Inspection Site: Greenfield county, Metro city PO Quantity: N/A + ++Project#: XXBFNO6 Inspection date: 24-Jan-2026 Batch Quantity: 88907PCS + ++Date of Manufacture: 1/18/2026~1/21/2026 Lot ID: 9928-539898(1st lot) + ++Item#: XX-ABC-68878-C + ++Description: Standard Component Assembly with Seal Insert + ++Sign-off sample: Yes Approved drawings Yes (Drawing#: K1VRJNVG REV: C ) + ++Ship mark Yes Approved ranges Yes Ship to TBA + ++Inspection Result: Accept + ++Re-inspection: No + ++( Comment: ) + + Inspection Result Summary + +-Check points Sample size Comment + +-Dimension 20 Conformed + +-Aesthetics 500 Conformed + +-Color 500 Conformed + +-Material N/A + +-Decoration 500 Conformed + +-Packaging N/A + +-Labeling N/A + +-Assortment N/A + +-Ship mark 1 Conformed + +-Workmanship 500 Conformed + +-Function 20 Conformed + ++Check points Sample size Comment Remark + ++Dimension 20 Conformed + ++Aesthetics 500 Conformed + ++Color 500 Conformed + ++Material N/A + ++Decoration 500 Conformed + ++Packaging N/A + ++Labeling N/A + ++Assortment N/A + ++Ship mark 1 Conformed + ++Workmanship 500 Conformed + ++Function 20 Conformed + + Aesthetic Inspection + +-Inspection method: ANSI/ASQ Z1.4 Sampling plan: + +----PAGE--- + +-Acceptable Quality Level (AQL): Critical A: + +-Sample size: 500 + +-Opened carton No.: No carton# + +-No. Defects description + +-1 K. Seal gap + +-2 J. Thread irregularity + ++Inspection method: ANSI/ASQ Z1.4 Sampling plan: Single sampling normal inspection Sampling level: Level 2 + ++Acceptable Quality Level (AQL): Critical A: 0 Critical B: 0.65 Major: 1.5 Minor: 4.0 + ++Sample size: 500 No. of carton drawn: 10 + ++Opened carton No.: No carton# + ++No. Defects description Cri. A Cri. B Major Minor + ++1 K. Seal gap 1 1 + ++2 J. Thread irregularity 3 + + 3 + + 4 + + 5 + + 6 + + 7 + +-8 + +-9 + +-10 + +-11 + +-12 + +-13 + +-14 + +-15 + +-16 + +-17 + +-18 + +-19 + +-20 + +-Total Defectives + +-Maximum Defectives + +-Inspection qty: >80% + +-Item# XXX PO No. Batch qty. + +-XX-ABC-57052-C 71662963 61859 + +-Total: + ++Total Defectives 1 4 + ++Maximum Defectives 0 7 14 21 + ++Inspection qty: >80% + ++Inspection quantity No. of carton + ++Item# XXX PO No. Batch qty. + ++Packed Unpacked Packed Unpacked + ++XX-ABC-57052-C 71662963 61,859 41,466 8,462 61 16 + ++Total: 41,466 8,462 61 16 + ++Doc#: FIR-003.5 + ++Effective: 20171109 Page 1 of 9 + + ---PAGE--- + ++Final Inspection Report + ++Client: Global Tech Suppl +... (4881 more characters) + +``` +
+ +### Simple invoice1 + +- **Case Metadata:** format: xlsx | case: Simple invoice1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Simple invoice1.xlsx +- **Text Similarity:** 0.897 +- **Visual Average:** 0.0661 +- **Overall Score:** 0.5852 +- **Pages:** MiniPdf=1, Reference=1 +- **File Size:** MiniPdf=3009 bytes, Reference=94130 bytes + +
Text Diff + +```diff +--- minipdf/Simple invoice1.pdf ++++ reference/Simple invoice1.pdf +@@ -1,22 +1,21 @@ +-Elegant INVOICE + +-Embrace Invoice #: 10654 + +-Invoice date: 46097 + ++Elegant INVOICE + ++Invoice #: 10654 + ++Embrace Invoice date: 8/29/2026 + + Job: Wedding florals + +-345 W Main Bill to: Hailey Clark + +-Los Angeles, CA 14151 Address: 123 Avenue A, + +-P: 915-555-0195 Burbank, CA 56789 + +-F: 915-555-0105 Phone: 805-555-0185 + +-elegantembrace@example.com Fax: NA + ++345 W Main Bill to: Hailey Clark + ++Los Angeles, CA 14151 Address: 123 Avenue A, + ++P: 915-555-0195 Burbank, CA 56789 + ++F: 915-555-0105 Phone: 805-555-0185 + ++elegantembrace@example.com Fax: NA + + Item # Description Qty Unit price Discount Price + +-A875 Peonies 35 1.05 36.75 + +-K245 Tulips 25 2 50 + +-U123 Buttercup 30 1.35 40.5 + +-Invoice Subtotal 127.25 + +-Tax Rate 0.06 + +-Sales Tax 7.6349999999999998 + +-Deposit Received 50 + +-TOTAL 77.25 + ++A875 Peonies 35 $1.05 $36.75 + ++K245 Tulips 25 $2.00 $50.00 + ++U123 Buttercup 30 $1.35 $40.50 + ++Invoice Subtotal $127.25 + ++Tax Rate 6.00% + ++Sales Tax $7.64 + ++Deposit Received $50.00 + ++TOTAL $77.25 + + Please make all checks payable to Elegant Embrace. + +-Total due in 90 days. Overdue accounts subject to a service charge of 1.5% per + +-month. + ++Total due in 90 days. Overdue accounts subject to a service charge of 1.5% per month. + + elegantembrace@example.com | www.interestingsite.com +``` +
+ +### Small business cash flow forecast1 + +- **Case Metadata:** format: xlsx | case: Small business cash flow forecast1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Small business cash flow forecast1.xlsx +- **Text Similarity:** 0.4982 +- **Visual Average:** 0.5109 +- **Overall Score:** 0.5036 +- **Pages:** MiniPdf=6, Reference=5 +- **File Size:** MiniPdf=12465 bytes, Reference=93247 bytes + +
Text Diff + +```diff +--- minipdf/Small business cash flow forecast1.pdf ++++ reference/Small business cash flow forecast1.pdf +@@ -1,53 +1,53 @@ + ELBIDE REALTY + + Cash flow forecast + +-Starting cash on hand 10000 Starting date 46113 Cash minimum balance alert + +-46113 46143 46174 46204 46235 46266 46296 + +-Cash on hand (beginning of month) 10000 8050 9350 890 2190 13590 13790 + ++Starting cash on hand $ 10,000.00 Starting date Sep 2026 Cash minimum balance alert $ 2,000.00 + ++Sep 2026 Oct 2026 Nov 2026 Dec 2026 Jan 2027 Feb 2027 Mar 2027 Apr 2027 May 2027 Jun 2027 Jul 2027 Aug 2027 + ++Total + ++Cash on hand (beginning of month) $ 10,000.00 $ 8,050.00 $ 9,350.00 $ 890.00 $ 2,190.00 $ 13,590.00 $ 13,790.00 $ 15,290.00 $ 16,410.00 $ 14,360.00 $ 16,560.00 $ 18,780.00 + + Cash receipts + +-Cash sales 2500 3000 3600 3000 14000 6000 3000 + +-Returns and allowances 200 + +-Collections on accounts receivable + +-Interest, other income + +-Loan proceeds + +-Owner contributions + +-Other receipts + +-Total cash receipts 2500 3000 3400 3000 14000 6000 3000 + +-Total cash available 12500 11050 12750 3890 16190 19590 16790 + ++Cash sales $ 2,500.00 $ 3,000.00 $ 3,600.00 $ 3,000.00 $ 14,000.00 $ 6,000.00 $ 3,000.00 $ 2,800.00 $ 3,500.00 $ 4,000.00 $ 3,800.00 $ 4,200.00 $ 53,400.00 + ++Returns and allowances $ 200.00 $ 200.00 + ++Collections on accounts receivable $ - + ++Interest, other income $ - + ++Loan proceeds $ - + ++Owner contributions $ - + ++Other receipts $ - + ++Total cash receipts $ 2,500.00 $ 3,000.00 $ 3,400.00 $ 3,000.00 $ 14,000.00 $ 6,000.00 $ 3,000.00 $ 2,800.00 $ 3,500.00 $ 4,000.00 $ 3,800.00 $ 4,200.00 $ 53,600.00 + ++Total cash available $ 12,500.00 $ 11,050.00 $ 12,750.00 $ 3,890.00 $ 16,190.00 $ 19,590.00 $ 16,790.00 $ 18,090.00 $ 19,910.00 $ 18,360.00 $ 20,360.00 $ 22,980.00 + + Cash paid out + +-Advertising 3000 + +-Commissions and fees 250 300 360 300 1400 400 300 + +-Contract labor 200 200 200 + +-Employee benefit programs + +-Insurance (other than health) 4000 4000 + +-Interest expense + +-Materials and supplies (in COGS) 1200 1200 7500 1200 1200 1200 1200 + +-Meals and entertainment + +-Mortgage interest + +-Office expense + +-Other interest expense + +-Pension and profit-sharing plan + +-Purchases for resale + +-Rent or lease + +-Rent or lease: vehicles, equipment + +-Repairs and maintenance + +-Supplies (not in COGS) + +-Taxes and licenses + +-Travel + +-Utilities + +-Wages (less emp. credits) + +-Other expenses + +-Other expenses + +-Other expenses + +-Miscellaneous + +----PAGE--- + +-Subtotal 4450 1700 11860 1700 2600 5800 1500 + +-Loan principal payment + +-Capital purchases + +-Other startup costs + +-To reserve and/or escrow + +-Owners' withdrawal + +-Total cash paid out 4450 1700 11860 1700 2600 5800 1500 + +-Cash on hand (end of month) 8050 9350 890 2190 13590 13790 15290 + ++Advertising $ 3,000.00 $ 3,000.00 + ++Commissions and fees $ 250.00 $ 300.00 $ 360.00 $ 300.00 $ 1,400.00 $ 400.00 $ 300.00 $ 280.00 $ 350.00 $ 400.00 $ 380.00 $ 420.00 $ 5,140.00 + ++Contract labor $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 200.00 $ 1,200.00 + ++Employee benefit pr +... (2435 more characters) + +``` +
+ +### Wedding_timeline_planner1_copy + +- **Case Metadata:** format: xlsx | case: Wedding_timeline_planner1_copy | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Wedding_timeline_planner1_copy.xlsx +- **Text Similarity:** 0.8286 +- **Visual Average:** 0.7221 +- **Overall Score:** 0.7203 +- **Pages:** MiniPdf=3, Reference=8 +- **File Size:** MiniPdf=10835 bytes, Reference=180076 bytes + +
Text Diff + +```diff +--- minipdf/Wedding_timeline_planner1_copy.pdf ++++ reference/Wedding_timeline_planner1_copy.pdf +@@ -1,91 +1,121 @@ + Wedding timeline planner + + DONE? + +-9 - 12 ? Arrange a gathering for you and your parents. + +-? Determine budget and how expenses will be shared. + +-MONTHS TO GO ? Discuss the size, style, location, and scope of the wedding you + +-want. + +-? Choose a target wedding date and time. (The actual date will depend on venue + +-availability.) + +-? Create a binder to store and organize ideas, worksheets, receipts, brochures, + +-etc. + +-? Visit and reserve wedding and reception sites. + +-? Meet with your officiant. + +-? Start compiling your guest list to estimate head count. Consider budget when + +-thinking about ?must-invites? versus ?nice-to-invites.? + +-? Begin shopping for the wedding gown. + +-6 - 9 ? Choose the members of your wedding party. + +-? Enroll in wedding/shower gift registries. + +-MONTHS TO GO ? Hire a photographer and a videographer. + +-? Book an engagement photo session, especially if you plan to include a + ++☐ Arrange a gathering for you and your parents. + ++9 - 12 + ++☐ Determine budget and how expenses will be shared. + ++MONTHS TO GO + ++☐ Discuss the size, style, location, and scope of the wedding you want. + ++Choose a target wedding date and time. (The actual date will depend + ++☐ + ++on venue availability.) + ++Create a binder to store and organize ideas, worksheets, receipts, + ++☐ + ++brochures, etc. + ++☐ Visit and reserve wedding and reception sites. + ++☐ Meet with your officiant. + ++Start compiling your guest list to estimate head count. Consider + ++☐ + ++budget when thinking about “must-invites” versus “nice-to-invites.” + ++☐ Begin shopping for the wedding gown. + ++☐ Choose the members of your wedding party. + ++6 - 9 + ++☐ Enroll in wedding/shower gift registries. + ++MONTHS TO GO + ++☐ Hire a photographer and a videographer. + ++Book an engagement photo session, especially if you plan to include a + ++☐ + + professional engagement picture with Save-the-Date cards. + +-? Hire a caterer. + +-? Hire a florist. + +-? Make arrangements for music to be played at the ceremony and reception. (Tasks + +-might include booking a band or solo musician, hiring a DJ, choosing significant + +-musical selections, and so on.). + +-? Reserve a block of hotel rooms for out-of-town guests. (Ask about group + +-rates.) + +-? Send out Save-the-Date cards. (Include lodging info and maps, as possible.) + +-? Shop for wedding rings. + +-? Select and order wedding gown, leaving ample time for delivery and + ++☐ Hire a caterer. + ++☐ Hire a florist. + ++Make arrangements for music to be played at the ceremony and + ++☐ reception. (Tasks might include booking a band or solo musician, + ++hiring a DJ, choosing significant musical selections, and so on.). + ++Reserve a block of hotel rooms for out-of-town guests. (Ask about + ++☐ + ++group rates.) + ++Send out Save-the-Date cards. (Include lodging info and maps, as + ++☐ + ++possible.) + ++☐ Shop for wedding rings. + ++Select and order wedding gown, leaving ample time for delivery and +... (6103 more characters) + +``` +
+ +### Weekly schedule planner1 + +- **Case Metadata:** format: xlsx | case: Weekly schedule planner1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/Weekly schedule planner1.xlsx +- **Text Similarity:** 0.4 +- **Visual Average:** 0.0614 +- **Overall Score:** 0.2846 +- **Pages:** MiniPdf=10, Reference=1 +- **File Size:** MiniPdf=15322 bytes, Reference=148591 bytes + +
Text Diff + +```diff +--- minipdf/Weekly schedule planner1.pdf ++++ reference/Weekly schedule planner1.pdf +@@ -1,26 +1,15 @@ + Weekly schedule planner + +-Weekly objectives + +-Run 3 miles + +-Read 30 min/day + +-Stretch + +-23 Monday 24 + +-March + +-? Run ? + +-? Read ? + +-? Stretch ? + +-? + +----PAGE--- + +-Notes + +----PAGE--- + +-Week of: + +-To do items + +-Take FiFi to vet + +-Go grocery shopping + +-Pick up dry cleaning + +-Tuesday 25 Wednesday + +-March March + +-Run ? Run + +-Read ? Read + +-Stretch ? Stretch + +-Go to vet ? Shopping + +-? Rehearse ++Week of: 8/24/2026 + ++Weekly objectives To do items Deadlines this week + ++Run 3 miles Take FiFi to vet Presentation on Thursday + ++Read 30 min/day Go grocery shopping + ++Stretch Pick up dry cleaning + ++Monday Tuesday Wednesday Thursday Friday Saturday Sunday + ++24 25 26 27 28 29 30 + ++August August August August August August August + ++✔ Run ✔ Run ✖ Run Run Run Run Run + ++✖ Read ✔ Read ✔ Read Read Read Read Read + ++✔ Stretch ✔ Stretch ✖ Stretch Stretch Stretch Stretch Stretch + ++✔ Go to vet ✔ Shopping Present + ++✔ Rehearse + ++Notes +``` +
+ +### XlsxIssue75 + +- **Case Metadata:** format: xlsx | case: XlsxIssue75 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue75.xlsx +- **Text Similarity:** 0.0568 +- **Visual Average:** 0.8608 +- **Overall Score:** 0.467 +- **Pages:** MiniPdf=74, Reference=144 +- **File Size:** MiniPdf=337621 bytes, Reference=5896201 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue75.pdf ++++ reference/XlsxIssue75.pdf +@@ -1,148 +1,155 @@ +-Vend_ID Vend_Name Doc_Type Doc_Num Doc_Date Posting_Date Due_Date Description Doc_Amt + +-00198 Fred Invoice 100-100-2 45229 45233 45259 A#$%123 50 + +-00198 Fred Invoice 100-100-3 45222 45236 45252 A#$%124 50 + +-00198 Fred Invoice 100-100-4 45226 45231 45256 A#$%125 50 + +-00198 Fred Invoice 100-100-5 45223 45225 45253 A#$%126 50 + +-00198 Fred Invoice 100-100-6 45238 45240 45268 A#$%127 50 + +-00198 Fred Invoice 100-100-7 45233 45240 45263 A#$%128 50 + +-00198 Fred Invoice 100-100-8 45238 45240 45268 A#$%129 50 + +-00198 Fred Invoice 100-100-9 45238 45240 45268 A#$%130 50 + +-00198 Fred Invoice 100-100-10 45233 45240 45263 A#$%131 50 + +-3991030 Fred Credit Memo 100-100-11 44680 44680 44709 A#$%132 50 + +-208 Fred Invoice 100-100-12 45167 45240 45197 A#$%133 50 + +-3991014 Fred Invoice 100-100-13 45208 45212 45253 A#$%134 50 + +-3991014 Fred Invoice 100-100-14 45217 45222 45262 A#$%135 50 + +-3991014 Fred Invoice 100-100-15 45215 45217 45260 A#$%136 50 + +-3991014 Fred Invoice 100-100-16 45215 45217 45260 A#$%137 50 + +-3991014 Fred Invoice 100-100-17 45216 45233 45261 A#$%138 50 + +-3991014 Fred Invoice 100-100-18 45222 45229 45267 A#$%139 50 + +-32250 Fred Invoice 100-100-19 45224 45232 45254 A#$%140 50 + +-32250 Fred Invoice 100-100-20 45230 45231 45260 A#$%141 50 + +-95828 Fred Invoice 100-100-21 45162 45240 45172 A#$%142 50 + +-33343 Fred Invoice 100-100-22 45233 45240 45233 A#$%143 50 + +-91773 Fred Invoice 100-100-23 45226 45229 45256 A#$%144 50 + +-91773 Fred Invoice 100-100-24 45226 45229 45256 A#$%145 50 + +-91773 Fred Invoice 100-100-25 45226 45229 45256 A#$%146 50 + +-91773 Fred Invoice 100-100-26 45232 45233 45262 A#$%147 50 + +-0269 Fred Payment 100-100-27 44515 44515 1 A#$%148 50 + +-0269 Fred Payment 100-100-28 44495 44495 1 A#$%149 50 + +-3991032 Fred Invoice 100-100-29 45222 45232 45252 A#$%150 50 + +-3991032 Fred Invoice 100-100-30 45230 45240 45260 A#$%151 50 + +-3991032 Fred Invoice 100-100-31 45230 45231 45260 A#$%152 50 + +-3991032 Fred Invoice 100-100-32 45230 45231 45260 A#$%153 50 + +-3991032 Fred Invoice 100-100-33 45225 45226 45255 A#$%154 50 + +-3991032 Fred Invoice 100-100-34 45223 45224 45253 A#$%155 50 + +-3991032 Fred Invoice 100-100-35 45231 45233 45261 A#$%156 50 + +-04550 Fred Invoice 100-100-36 45238 45240 45268 A#$%157 50 + +-3991293 Fred Invoice 100-100-37 45232 45238 45262 A#$%158 50 + +-3991293 Fred Invoice 100-100-38 45230 45236 45260 A#$%159 50 + +-3991293 Fred Invoice 100-100-39 45230 45236 45260 A#$%160 50 + +-3991293 Fred Invoice 100-100-40 45225 45226 45255 A#$%161 50 + +-3991293 Fred Invoice 100-100-41 45223 45231 45253 A#$%162 50 + +-39912 +... (10965 more characters) + +``` +
+ +### XlsxIssue77_MergedCellAlignment + +- **Case Metadata:** format: xlsx | case: XlsxIssue77_MergedCellAlignment | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue77_MergedCellAlignment.xlsx +- **Text Similarity:** 0.9993 +- **Visual Average:** 0.5052 +- **Overall Score:** 0.7018 +- **Pages:** MiniPdf=4, Reference=2 +- **File Size:** MiniPdf=13955 bytes, Reference=172385 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue77_MergedCellAlignment.pdf ++++ reference/XlsxIssue77_MergedCellAlignment.pdf +@@ -1,82 +1,69 @@ + Arial Font + +-Horizontal Left + Vertical Bottom Horizontal Center + Vertical Bottom + +-Horizontal Right + Vertical Bottom + +-Single Cell Single Cell Single Cell + +-Apple Apple Apple + +-Double Wide Cell Double Wide Cell Double Wide Cell + +-Apple Apple Apple Apple Apple Apple + +-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High + +-Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Horizontal Left + Vertical Center Horizontal Center + Vertical Center + +-Horizontal Right + Vertical Center + +-Single Cell Single Cell Single Cell + +-Apple Apple Apple + +-Double Wide Cell Double Wide Cell Double Wide Cell + +-Apple Apple Apple Apple Apple Apple + +-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High + +-Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Horizontal Left + Vertical Top Horizontal Center + Vertical Top Horizontal + +-Right + Vertical Top + +-Single Cell Single Cell Single Cell + +-Apple Apple Apple + +-Double Wide Cell Double Wide Cell Double Wide Cell + +-Apple Apple Apple Apple Apple Apple + +-Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + +-Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High + +-Cell + +-Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + ++Horizontal Left + Vertical Bottom Horizontal Center + Vertical Bottom Horizontal Right + Vertical Bottom + ++Single Cell Single Cell Single Cell + ++Apple Apple Apple + ++Double Wide Cell Double Wide Cell Double Wide Cell + ++Apple Apple Apple Apple Apple Apple + ++Double Wide and High Cell Double Wide and High Cell Double Wide and High Cell + ++Apple Apple Apple Apple Apple Apple Apple Apple Apple + ++Tripple Wide Cell Tripple Wide Cell Tripple Wide Cell + ++Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple Apple + ++Tripple Wide and High Cell Tripple Wide and High Cell Tripple Wide and High Cell + ++Apple Apple Apple Apple Apple App +... (5708 more characters) + +``` +
+ +### XlsxIssue77_Template1 + +- **Case Metadata:** format: xlsx | case: XlsxIssue77_Template1 | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue77_Template1.xlsx +- **Text Similarity:** 0.4833 +- **Visual Average:** 0.4881 +- **Overall Score:** 0.4886 +- **Pages:** MiniPdf=4, Reference=6 +- **File Size:** MiniPdf=11282 bytes, Reference=64464 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue77_Template1.pdf ++++ reference/XlsxIssue77_Template1.pdf +@@ -1,16 +1,41 @@ + RMA AUTHORIZATION + +-RMA # 12345 + ++RMA # + ++12345 + + Issue On 1/1/20216 + + *** Void after 60 days *** + + Attn Customer: Please return parts to the return address below. + +-Customer Name Sales Person Requestor + +-Return Address: Reason for Return: + +-NOTE - All parts returned for credit must be in original factory condition, with + +-clean factory label and scannable QR code, original factory packaging, with no extra + +-labels or markings on the product. + +-Part No. Original + +-Invoice # Qty + +-Authorized Per Unit + ++Customer Name Sales Person Requestor + ++Return Address: Reason for Return: + ++NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR + ++code, original factory packaging, with no extra labels or markings on the product. + ++Original Qty + ++Part No. Per Unit + ++Invoice # Authorized + + ---PAGE--- + +- + +----PAGE--- ++RMA AUTHORIZATION + ++RMA # + ++12345 + ++Issue On 1/1/20216 + ++*** Void after 60 days *** + ++Attn Customer: Please return parts to the return address below. + ++Customer Name Sales Person Requestor + ++Return Address: Reason for Return: + ++NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR + ++code, original factory packaging, with no extra labels or markings on the product. + ++Original Qty + ++Part No. Per Unit + ++Invoice # Authorized + ++---PAGE--- + ++RMA AUTHORIZATION + ++RMA # + ++12345 + ++Issue On 1/1/20216 + ++*** Void after 60 days *** + ++Attn Customer: Please return parts to the return address below. + ++Customer Name Sales Person Requestor + ++Return Address: Reason for Return: + ++NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR + ++code, original factory packaging, with no extra labels or markings on the product. + ++Original Qty + ++Part No. Per Unit + ++Invoice # Authorized +``` +
+ +### XlsxIssue77_Template2_Workaround + +- **Case Metadata:** format: xlsx | case: XlsxIssue77_Template2_Workaround | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue77_Template2_Workaround.xlsx +- **Text Similarity:** 0.4833 +- **Visual Average:** 0.4868 +- **Overall Score:** 0.488 +- **Pages:** MiniPdf=4, Reference=6 +- **File Size:** MiniPdf=11461 bytes, Reference=64466 bytes -Blue areas are below the configured difference threshold; red areas have stronger pixel differences. The reference rendering is retained as faint context. +
Text Diff - - - - - - - - - - - - - - - - - -
CaseHeatmapMetrics
Issue202609031340
Page 1
Issue202609031340 page 1 difference heatmapchanged: 393040 px (18.06%)
bbox: [43, 55, 1195, 1697]
mean abs RGB: 27.4393
RMSE RGB: 73.7664
threshold: 12, gain: 5.0
Issue202609031340
Page 2
Issue202609031340 page 2 difference heatmapchanged: 79842 px (3.67%)
bbox: [43, 408, 1195, 1019]
mean abs RGB: 5.9656
RMSE RGB: 34.6037
threshold: 12, gain: 5.0
Issue202609031340
Page 3
Issue202609031340 page 3 difference heatmapchanged: 195416 px (8.98%)
bbox: [42, 40, 1196, 1712]
mean abs RGB: 13.8327
RMSE RGB: 51.7867
threshold: 12, gain: 5.0
+```diff +--- minipdf/XlsxIssue77_Template2_Workaround.pdf ++++ reference/XlsxIssue77_Template2_Workaround.pdf +@@ -1,16 +1,41 @@ + RMA AUTHORIZATION -## Visual Comparison +-RMA # 12345 -Scores compare go MiniPdf against Microsoft 365 Excel Reference. LibreOffice is an auxiliary rendering and does not affect scores. ++RMA # - - - - - - - - - - - - - - - - - - - - - - - - - - -
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
Issue202609031340
format: xlsx | case: Issue202609031340 | scope: go-issue-xlsx
Issue202609031340 40.5%
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
go MiniPdfMicrosoft 365 Excel ReferenceLibreOffice
missingMicrosoft 365 Excel ReferenceLibreOffice
++12345 -## Detailed Results + Issue On 1/1/20216 -### Issue202609031340 + *** Void after 60 days *** -- **Case Metadata:** format: xlsx | case: Issue202609031340 | scope: go-issue-xlsx -- **Source:** tests/Issue_Files/xlsx/Issue202609031340.xlsx -- **Text Similarity:** 0.175 -- **Visual Average:** 0.5866 -- **Overall Score:** 0.4046 -- **Pages:** MiniPdf=3, Reference=4 -- **File Size:** MiniPdf=12125 bytes, Reference=346206 bytes + Attn Customer: Please return parts to the return address below. + +-Customer Name Sales Person Requestor + +-Return Address: Reason for Return: + +-NOTE - All parts returned for credit must be in original factory condition, with + +-clean factory label and scannable QR code, original factory packaging, with no extra + +-labels or markings on the product. + +-Part No. Original + +-Invoice # Qty + +-Authorized Per Unit + ++Customer Name Sales Person Requestor + ++Return Address: Reason for Return: + ++NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR + ++code, original factory packaging, with no extra labels or markings on the product. + ++Original Qty + ++Part No. Per Unit + ++Invoice # Authorized + + ---PAGE--- + +- + +----PAGE--- ++RMA AUTHORIZATION + ++RMA # + ++12345 + ++Issue On 1/1/20216 + ++*** Void after 60 days *** + ++Attn Customer: Please return parts to the return address below. + ++Customer Name Sales Person Requestor + ++Return Address: Reason for Return: + ++NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR + ++code, original factory packaging, with no extra labels or markings on the product. + ++Original Qty + ++Part No. Per Unit + ++Invoice # Authorized + ++---PAGE--- + ++RMA AUTHORIZATION + ++RMA # + ++12345 + ++Issue On 1/1/20216 + ++*** Void after 60 days *** + ++Attn Customer: Please return parts to the return address below. + ++Customer Name Sales Person Requestor + ++Return Address: Reason for Return: + ++NOTE - All parts returned for credit must be in original factory condition, with clean factory label and scannable QR + ++code, original factory packaging, with no extra labels or markings on the product. + ++Original Qty + ++Part No. Per Unit + ++Invoice # Authorized +``` +
+ +### XlsxIssue81_LayoutOptions + +- **Case Metadata:** format: xlsx | case: XlsxIssue81_LayoutOptions | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue81_LayoutOptions.xlsx +- **Text Similarity:** 0.5364 +- **Visual Average:** 0.7908 +- **Overall Score:** 0.6309 +- **Pages:** MiniPdf=14, Reference=16 +- **File Size:** MiniPdf=72164 bytes, Reference=242251 bytes
Text Diff ```diff ---- minipdf/Issue202609031340.pdf -+++ reference/Issue202609031340.pdf -@@ -1,75 +1,113 @@ --Sheet 1 +--- minipdf/XlsxIssue81_LayoutOptions.pdf ++++ reference/XlsxIssue81_LayoutOptions.pdf +@@ -1,139 +1,119 @@ +-Invoice Customer Region Owner Status Submitted Reviewed Amount Tax --XXXXXX???? +-INV-00001 Customer account with extended legal name 001 Europe Operations owner 2 In --???? QA-SIPI-XXXX-01-1-1 ???? XXX-XXX-051-01 +-Review 2026-07-02 2026-08-02 1263.37 63.17 --???? 45758 +-INV-00002 Customer account with extended legal name 002 Asia Pacific Operations owner 3 --???? 03 ???? 45986 +-Approved 2026-07-03 2026-08-03 1276.74 63.84 --????????? ???? ?????? ???? 20.45±1.05 g +-INV-00003 Customer account with extended legal name 003 Latin America Operations owner --???? / ???? ?1.18*10MM(320????) +-4 Needs Follow-up 2026-07-04 2026-08-04 1290.11 64.51000000000001 --???? XXXX ???? ???? ???? ANSI/ASQ Z1.4? ???? 2H/? +-INV-00004 Customer account with extended legal name 004 North America Operations owner --???? MO25XXXX0100/MO25XXXX0110 ???? PETG ???? CR: 0 MA:1.0 MI: 2.0 +-5 Queued 2026-07-05 2026-08-05 1303.48 65.17 --???? ??????:45°-90°,????30cm,??900~1200lux ??? ???????XXXX?? ???? +-INV-00005 Customer account with extended legal name 005 Europe Operations owner 6 In --2025.4.10 +-Review 2026-07-06 2026-08-06 1316.85 65.84 --???????HKXXXX-01-RB +-INV-00006 Customer account with extended legal name 006 Asia Pacific Operations owner 7 --?? ???? ???? +-Approved 2026-07-07 2026-08-07 1330.22 66.51000000000001 --?? ??????PPS 1?????????????????PPS????? +-INV-00007 Customer account with extended legal name 007 Latin America Operations owner --2???????????????????? +-8 Needs Follow-up 2026-07-08 2026-08-08 1343.59 67.18000000000001 --?? ?????? 1????????????????????? +-INV-00008 Customer account with extended legal name 008 North America Operations owner --2?????????????????? +-9 Queued 2026-07-09 2026-08-09 1356.96 67.84999999999999 --?? ?????? 1???????????????????? +-INV-00009 Customer account with extended legal name 009 Europe Operations owner 1 In --2?????????????????????? +-Review 2026-07-10 2026-08-10 1370.33 68.52 --?? ?? ??????????SOP? +-INV-00010 Customer account with extended legal name 010 Asia Pacific Operations owner 2 --? ? ?? ?? ????(mm) ???? ?? ?? ??? ??? ??? ??????? ??????? ???? ?? +-Approved 2026-07-11 2026-08-11 1383.7 69.19 --?? A 68.16 ?0.05/?0.17 ?????? 1?/? A 68.16 68.06 68.13 +-INV-00011 Customer account with extended legal name 011 Latin America Operations owner ---9.9999999999994316E-2 -3.0000000000001137E-2 ±0.20 +-3 Needs Follow-up 2026-07-12 2026-08-12 1397.07 69.84999999999999 --?? B 62.03 ?0.05/?0.20 ?????? 1?/? B 62.03 61.96 62 +-INV-00012 Customer account with extended legal name 012 North America Operations owner ---7.0000000000000284E-2 -3.0000000000001137E-2 ±0.20 +-4 Queued 2026-07-13 2026-08-13 1410.44 70.52 --?? C 27.9 ?0.03/?0.05 ???????? ?? C 27.9 27.86 27.88 +-INV-00013 Customer account with extended legal name 013 Europe Operations owner 5 In ---3.9999999999999147E-2 -1.9999999999999574E-2 ±0.05 +-Review 2026-07-14 2026-08-14 1423.81 71.19 --?? D 18.87 ?0.00/?0.10 ?????????? ?? D 18.87 18.8 18.82 +-INV-00014 Customer account with extended legal name 014 Asia Pacific Operations owner 6 ---7.0000000000000284E-2 -5.0000000000000711E-2 ?0.10/?0.05 +-Approved 2026-07-15 2026-08-15 1437.18 71.86 --?? E 6.70?0.00/?0.05 ????????? ?? E 6.7 6.62 6.65 +-INV-00015 Customer account with extended legal name 015 Latin America Operations owner ---8.0000000000000071E-2 -4.9999999999999822E-2 ±0.05 +-7 Needs Follow-up 2026-07-16 2026-08-16 1450.55 72.53 --?? F 5.36 ?0.00/?0.05 ??????????? ?? F 5.36 5.3 5.33 +-INV-00016 Customer account with extended legal name 016 North America Operations owner ---6.0000000000000497E-2 -3.0000000000000249E-2 ±0.05 +-8 Queued 2026-07-17 2026-08-17 1463.92 73.2 --?? G 1.20±0.02 ???? 6H G 1.2 1.18 1.18 -2.0000000000000018E-2 +-INV-00017 Customer account with extended legal name 017 Europe Operations owner 9 In ---2.0000000000000018E-2 ±0.02 +-Review 2026-07-18 2026-08-18 1477.29 73.86 --??? H 58.69?0.02/?0.12 ??????????? 6H H 58.69 58.6 58.66 +-INV-00018 Customer account with extended legal name 018 Asia Pacific Operations owner 1 ---8.9999999999996305E-2 -3.0000000000001137E-2 ±0.15 +-Approved 2026-07-19 2026-08-19 1490.66 74.53 --?? I 8.35?0.10/?0.05 ????????? ?? I 8.35 8.2100000000000009 +-INV-00019 Customer account with extended legal name 019 Latin America Operations owner --8.2799999999999994 -0.13999999999999879 -7.0000000000000284E-2 ±0.20 +-2 Needs Follow-up 2026-07-20 2026-08-20 1504.03 75.2 --??? J 53.93?0.04/?0.03 ???????????????????? 6H J 53.93 53.76 +-INV-00020 Customer account with extended legal name 020 North America Operations owner --53.85 -0.17000000000000171 -7.9999999999998295E-2 ?0.05/?0.10 +-3 Queued 2026-07-21 2026-08-21 1517.4 75.87 --?? K 18.61±0.05 ???????? 1?/? K 18.61 18.61 18.649999999999999 0 +-INV-00021 Customer +... (16333 more characters) --3.9999999999999147E-2 ±0.05 +``` +
--??? L*2 4.65?0.00/?0.10 ????????????? 1?/? L 4.6500000000000004 +### XlsxIssue82_5mb --4.63 4.68 -2.0000000000000462E-2 2.9999999999999361E-2 ±0.05 +- **Case Metadata:** format: xlsx | case: XlsxIssue82_5mb | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue82_5mb.xlsx +- **Text Similarity:** 0.0485 +- **Visual Average:** 0.8199 +- **Overall Score:** 0.4474 +- **Pages:** MiniPdf=3781, Reference=766 +- **File Size:** MiniPdf=21668282 bytes, Reference=21494385 bytes -+表单编号 XXX-XXX-051-01 +
Text Diff -+XXXXXX有限公司 文件编号QA-SIPI-XXXX-01-1-1 +```diff +--- minipdf/XlsxIssue82_5mb.pdf ++++ reference/XlsxIssue82_5mb.pdf +@@ -1,139 +1,143 @@ +-Name Email Phone Address Company Text Description Job Title -+发行日期 2025-04-11 +-Quentin Hyatt oschiller@huels.com 573.920.9800 22808 Lueilwitz Street Apt. 357 -+文件版本 03 修订日期 2025-11-25 +-Elysemouth, FL 79081 Mraz and Sons Labore et modi cupiditate ratione quisquam aliquid -+产品穴号 详见注意事项 产品单重 20.45±1.05 g +-porro. Quia laborum ut aliquam quos veritatis magni consequatur. Non deleniti aut -+注塑制程检验标准书 +-necessitatibus sint. Minus sed nihil reprehenderit. Sit commodi voluptate in. Sed -+¢1.18*10MM(320度加强 +-aliquid id tempora distinctio. Nisi id porro rerum modi ipsum. Est sint autem error -+附件编号 / 销钉规格 +-nisi a tempore voluptatem. Rerum incidunt aliquam unde occaecati. Commodi voluptas -+型) +-expedita qui molestiae quasi sed. Nemo qui totam quia enim error. Atque est est -+产品型号 XXXX 部件名称 盖塑胶件 抽样计划 ANSI/ASQ Z1.4Ⅱ 巡检频率 2H/次 +-voluptatem. Rerum aut laudantium et laboriosam deleniti. Ut et quia omnis voluptates -+MO25XXXX0100/MO +-accusamus aspernatur nihil. Emergency Management Specialist -+模具编号 部件材质 PETG 允收水准 CR: 0 MA:1.0 MI: 2.0 +-Lowell Olson eve.lind@braun.info 720.754.6402 67029 Deckow View -+25XXXX0110 +-Lake Marvin, NJ 39600 Rosenbaum, Bechtelar and Leannon Soluta nihil quia voluptate quia -+检验条件 检验光源角度:45°-90°,检验距离30cm,光照900~1200lux +-quae. Est ut quia deleniti qui ex voluptatem eum dolorem. Beatae qui enim expedita enim -+参考 图纸文件编号:XXXX系列 内部图纸 2025.4.10 +-consequatur. Animi similique ut quo facilis. Aut iste quibusdam inventore et. -+项目 检验工具 巡检内容 +-Consectetur ad molestiae aut ea ea vel. Dolorem cupiditate voluptatem omnis deleniti -+图 部件图纸编号:HKXXXX-01-RB +-voluptatum officia qui. Suscipit ut dicta optio aspernatur inventore at. Officia sit -+结 目视、图 1、首件样品整模结构符合图纸设计、同PPS结构一致; +-velit quam consectetur ut. Non molestias illo nisi voluptas sit cumque. Ut debitis eius -+构 纸、PPS 2、制程巡检整模产品结构需同首件结构一致。 +-minima enim cum qui. Deleniti laudantium officia accusamus eos occaecati ratione. + +-Occaecati ad aut et error error magni iste exercitationem. Eos recusandae quis et + +-temporibus quasi distinctio et. Fast Food Cook + +-Sydnee Crist gunnar.schowalter@hotmail.com 13128126117 908 Matteo Terrace Suite 323 + +-Kirlintown, MA 47741 Strosin, Kilback and Cummings Voluptatem quia dolor cum. + +-Consectetur qui ut aliquid possimus rerum nesciunt non. Quibusdam officia aliquam dicta + +-et. Corporis et perferendis quod vitae possimus. Sed aliquid natus et iusto amet + +-quisquam ullam. Consectetur eaque ut rerum officia esse sed molestiae. Dolorum + +-consequatur aspernatur deleniti voluptatem consequatur. Facere sit voluptatem quasi + +-possimus. Vel quo assumenda ad vero sapiente labore. Sit quia voluptatibus voluptates. + +-Blanditiis est voluptatum exercitationem asperiores illo itaque. Voluptas consectetur + +-corrupti minus distinctio cumque alias sed eos. Rerum quia architecto nostrum ut autem + +-id. Eveniet fuga magnam voluptatem aut perspiciatis ratione iste velit. Fugit dolor ex + +-ipsum. Qui occaecati expedita aut consectetur. Interaction Designer + +-Tomasa Dietrich gerlach.arnold@gmail.com +1 (276) 970-4523 787 Rey Haven + +-Keeblermouth, WA 08523-9305 Balistreri-Koepp Provident hic ad sed autem praesentium. + +-Alias fugit eveniet nihil delectus aut quas dolores. Quia delectus est quia sed sit eos + +-sit. Et cupiditate quia animi labore sit quisquam nostrum. Qui deleniti rerum est + +-possimus corporis. Vel explicabo sit u +... (21738 more characters) + +``` +
+ +### XlsxIssue82_SampleTestData5mb + +- **Case Metadata:** format: xlsx | case: XlsxIssue82_SampleTestData5mb | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue82_SampleTestData5mb.xlsx +- **Text Similarity:** 0.202 +- **Visual Average:** 0.8497 +- **Overall Score:** 0.5207 +- **Pages:** MiniPdf=2860, Reference=1668 +- **File Size:** MiniPdf=15860614 bytes, Reference=32924505 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue82_SampleTestData5mb.pdf ++++ reference/XlsxIssue82_SampleTestData5mb.pdf +@@ -1,148 +1,146 @@ +-ID Name Email City Country Department Notes Value1 Value2 + +-1 User 1 user1@example.com Toronto UK IT + +-pwJqdCFmi9f3VNV2YwaLNAb0WECYRuULuoi2bEFCgvvrQHlW5DWfeejPxch0lpViV9PQEFb6ckWdKkIjahzoL + +-M4m6nQKervGIB7WKk7qrjRpJBhPXRjeMCiFdRbxtQx3FzY8RDaMGl877gVNOie1sVgU3iUCtWTjvOAu5rDzsF + +-kejIluN3Ja 760613 0.6770745572576615 + +-2 User 2 user2@example.com Delhi Germany IT + +-S6gIttJQrYiSzyLY3QuHactwcdkwqjtRFxYZlaYhd0BWAJbdNVPXGJZCBNn6txuSk9oNwhnsRzSJ3AzexOMpJ + +-NesVMjyJTRjwutzXD4SXwiFrsLdWD2KEL2cAM0zLVAvD5Dd95GlsjH7IV5BgZEKuutgPDI3ASvYJaifbsuKVM + +-p95Xr290fp 456305 0.8501621724213791 + +-3 User 3 user3@example.com Sydney UK Finance + +-mmp5R2oKHsB8RROlbucOqdeD4iUl2Hm3V5OZQ4lhAzXVpgoTp1znWZe4W6BrWCwfdvlCpw65blcNJwsQA4a + +-TrzxErXZgiaKr7hLayP0W3rSdDcIKqB0KYpMF7Hs8QsGvecoku4ukWgdudxuk0ajy8VwRV2Bqq9hNpuCRKh3d + +-P4eXVhgCIF 802115 0.4416719890762297 + +-4 User 4 user4@example.com Berlin Australia HR + +-BpiYtDuC1OUgu2u865UICTyVhEEIX51px6CXqaolV7UbiPCDRyNGQmRO3v0cvf70dCzpBX97uDxTWc6snQM + +-qthTCwOnRAuSjbIWE0uqiAWVJyFRyk9SEPzUZJi25u68EkgOoAfH7g45rnObtJanGkpyDojryIyRwEPQM4UoK + +-RVZhfY4yqD 929132 0.9823118697747054 + +-5 User 5 user5@example.com Berlin France HR + +-DXnTIbeTy46702rrKDKNzASnQw4ChJpuYhLJzUiKWX2TWU6xHnMI8A5KBm9hfNdpXEWmg1oV5qgC6O0uM + +-qNvacvLLAjYG3HSYxcShvOri52FTIT2ZN4ry0qXMZYdXAGa9wpvpBocxGudxh9ssvqHkyfNIJSEvShXppGgoo + +-bgoiX1jaXK 178492 0.9325545257171228 + +-6 User 6 user6@example.com Delhi Australia HR + +-Iw9DkBEDhz7cDHI9CUJV9xWexFnDhADCR0wyErovU95yI9AZ4mdHcvErcdCwdcsV14rRWjl84UCSrrzFTdO9W + +-hvbGbFbM8463dWtnG96fy871hwlyypE4wzB2Nd8yyiDf6zVBx6mdgv6wPRQLU7obqxz2scbycTt0sVS6VRSPl + +-yUa3zK106U 518412 0.1261322195574193 + +-7 User 7 user7@example.com Toronto Australia Finance + +-tN5mvZpZFMcUmvaApxAHahRhVeRmwgPDvDFRKGBacMrr6nD79f5sTNjEKsizYDbZVIA750Gqbw8EyzoiZx4y + +-PNJkm2gmshfEr86vGWRHeRTMkNv94nGTLeRUGXBrOKLElADF1wutStrQs5EESyMTHhl0L8s4FqrBX0IqOrfz + +-ZYIBeIeluG 72218 0.5143867370818228 + +-8 User 8 user8@example.com Tokyo USA Ops + +-xqmF3Xc2nJ3TGOXl6w8pjktccWZzMdO8IJcgAnoIO2We8OBFEppkCSPTjlHTb2ICCMghnTG0MXZa5tZ4AVNX + +-yFFV9T8CihsUoYzNKo7GAOxG0XgpbyYQ2Do6OPwbfDDkbYejtMcg9695fIBuDpYg9ZTIYx3mX3CAM1Sal7DjR + +-kqmw7hOPEk 238623 0.8771951486525974 + +-9 User 9 user9@example.com London Australia Ops + +-k099328Ns8OnNYJCuMWnHI9rr952ZY5xreEYYWAvua81WX2eE491PxxHzKPWpYIImR5gKMdH35IqXcRzieqj + +-Yv8GeSxFANGaebDDSHGsWaBhHZodIH7mSaIi71O9pTkvgOyJZf91PDHTJg4UyAQTb6pS3GsxqJ8KuumfaQ3 + +-zGJWBUOY5D 369743 0.6153598149049124 + +-10 User 10 user10@example.com Delhi Germany IT + +-3YvAHvcSGOSeakZF6emxuQclrGOc6siQF0jr9ZLyfRR2o0IuoPYB4Diwa51MywTBVJbNXe8OdWErVr8pDtSZE + +-xnKMEgHEeeYsC8QC97KzpD1qElHqHHds9bR4l2B8lYwNZD7PM220sHvF7XHqaRxcKnT1EhDb3iyUn2fcoXqq + +-HlvqKawDog 24089 0.9405732921668827 + +-11 User 11 user11@example.com Sydney France Sales + +-r2O9ZtMJy9mYmdZcIGRuXXmGu9FbpsQe5kCkC8tZbNHOFpq06QRQtoVHSlRnpYZEWhip3AfemN5czYclDNp + +-UBFrivEPeBBvRk4okbfA4h2ALPE9FBjoNc3ISP7CC6zRKNuM1shRDTh6WDETvsZxyMKwzfLWY7NMxJ +... (16320 more characters) + +``` +
+ +### XlsxIssue82_WideTable + +- **Case Metadata:** format: xlsx | case: XlsxIssue82_WideTable | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue82_WideTable.xlsx +- **Text Similarity:** 0.8139 +- **Visual Average:** 0.5165 +- **Overall Score:** 0.6322 +- **Pages:** MiniPdf=15, Reference=13 +- **File Size:** MiniPdf=54499 bytes, Reference=467940 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue82_WideTable.pdf ++++ reference/XlsxIssue82_WideTable.pdf +@@ -1,103 +1,113 @@ +-Record ID First Name Last Name Street Address City Region Postal Code Phone Email + +-ID-00001 Naveen Adhikari 1000 North Evergreen Avenue Suite 200 Kathmandu WA 98000 555-0100 + +-naveen.adhikari0@example.test + +-ID-00002 Alicia Patel 1001 North Evergreen Avenue Suite 201 Dublin BC 98001 555-0101 alicia.patel1@example.test + +-ID-00003 Marcus Bennett 1002 North Evergreen Avenue Suite 202 Austin WA 98002 555-0102 marcus.bennett2@example.test + +-ID-00004 Priya Olsen 1003 North Evergreen Avenue Suite 203 Berlin BC 98003 555-0103 priya.olsen3@example.test + +-ID-00005 Daniel Chen 1004 North Evergreen Avenue Suite 204 Singapore WA 98004 555-0104 daniel.chen4@example.test + +-ID-00006 Mei Tanaka 1005 North Evergreen Avenue Suite 205 Seattle BC 98005 555-0105 mei.tanaka5@example.test + +-ID-00007 Sofia Kim 1006 North Evergreen Avenue Suite 206 Melbourne WA 98006 555-0106 sofia.kim6@example.test + +-ID-00008 Owen Morrison 1007 North Evergreen Avenue Suite 207 Toronto BC 98007 555-0107 owen.morrison7@example.test + +-ID-00009 Ibrahim Rodriguez 1008 North Evergreen Avenue Suite 208 Kathmandu WA 98008 555-0108 + +-ibrahim.rodriguez8@example.test + +-ID-00010 Caroline Singh 1009 North Evergreen Avenue Suite 209 Dublin BC 98009 555-0109 caroline.singh9@example.test + +-ID-00011 Naveen Adhikari 1010 North Evergreen Avenue Suite 210 Austin WA 98010 555-0110 naveen.adhikari10@example.test + +-ID-00012 Alicia Patel 1011 North Evergreen Avenue Suite 211 Berlin BC 98011 555-0111 alicia.patel11@example.test + +-ID-00013 Marcus Bennett 1012 North Evergreen Avenue Suite 212 Singapore WA 98012 555-0112 marcus.bennett12@example.test + +-ID-00014 Priya Olsen 1013 North Evergreen Avenue Suite 213 Seattle BC 98013 555-0113 priya.olsen13@example.test + +-ID-00015 Daniel Chen 1014 North Evergreen Avenue Suite 214 Melbourne WA 98014 555-0114 daniel.chen14@example.test + +-ID-00016 Mei Tanaka 1015 North Evergreen Avenue Suite 215 Toronto BC 98015 555-0115 mei.tanaka15@example.test + +-ID-00017 Sofia Kim 1016 North Evergreen Avenue Suite 216 Kathmandu WA 98016 555-0116 sofia.kim16@example.test + +-ID-00018 Owen Morrison 1017 North Evergreen Avenue Suite 217 Dublin BC 98017 555-0117 owen.morrison17@example.test + +-ID-00019 Ibrahim Rodriguez 1018 North Evergreen Avenue Suite 218 Austin WA 98018 555-0118 + +-ibrahim.rodriguez18@example.test + +-ID-00020 Caroline Singh 1019 North Evergreen Avenue Suite 219 Berlin BC 98019 555-0119 caroline.singh19@example.test + +-ID-00021 Naveen Adhikari 1020 North Evergreen Avenue Suite 220 Singapore WA 98020 555-0120 + +-naveen.adhikari20@example.test + +-ID-00022 Alicia Patel 1021 North Evergreen Avenue Suite 221 Seattle BC 98021 555-0121 alicia.patel21@example.test + +-ID-00023 Marcus Bennett 1022 North Evergreen Avenue Suite 222 Melbourne WA 98022 555-0122 marcus.bennett22@example.test + +-ID-00024 Priya Olsen 1023 North Evergreen Avenue Suite 223 Toronto BC 98023 555-0123 priya.olsen23@example.t +... (16063 more characters) + +``` +
+ +### XlsxIssue152_ClusteredNonZeroBarChart + +- **Case Metadata:** format: xlsx | case: XlsxIssue152_ClusteredNonZeroBarChart | scope: go-issue-xlsx +- **Source:** tests/Issue_Files/xlsx/XlsxIssue152_ClusteredNonZeroBarChart.xlsx +- **Text Similarity:** 0.6923 +- **Visual Average:** 0.5806 +- **Overall Score:** 0.7092 +- **Pages:** MiniPdf=1, Reference=1 +- **File Size:** MiniPdf=1086 bytes, Reference=71966 bytes + +
Text Diff + +```diff +--- minipdf/XlsxIssue152_ClusteredNonZeroBarChart.pdf ++++ reference/XlsxIssue152_ClusteredNonZeroBarChart.pdf +@@ -3,4 +3,12 @@ + Day 2 145 + + Day 3 150 + + Day 4 155 + +-Day 5 150 ++Day 5 150 + ++Clustered Non-Zero Prices + ++Day 1 + ++Day 2 + ++Day 3 + ++Price + ++Day 4 -+颜 目视、限 1、首件样品 -... (2714 more characters) ++Day 5 ++Trading Day ```
@@ -243,6 +4089,29 @@ Scores compare go MiniPdf against Microsoft 365 Excel Reference. LibreOffice is ### ⚠ Low-Score Test Cases (below 0.8) -1. **Issue202609031340** (score: 0.4046) +1. **Business expenses budget2** (score: 0.1799) +1. **Weekly schedule planner1** (score: 0.2846) +1. **payroll-calculator_f** (score: 0.3377) +1. **Expense report basic1** (score: 0.3716) +1. **PO_anonymized** (score: 0.3912) +1. **Academic Achievement Summary Table** (score: 0.3981) +1. **AcademicAchievement_temp** (score: 0.3981) +1. **Business expense budget1** (score: 0.4085) +1. **Grocery list1** (score: 0.4451) +1. **XlsxIssue82_5mb** (score: 0.4474) +1. **Issue202609031340** (score: 0.4541) +1. **XlsxIssue75** (score: 0.467) +1. **XlsxIssue77_Template2_Workaround** (score: 0.488) +1. **XlsxIssue77_Template1** (score: 0.4886) +1. **Small business cash flow forecast1** (score: 0.5036) +1. **XlsxIssue82_SampleTestData5mb** (score: 0.5207) +1. **Simple invoice1** (score: 0.5852) +1. **Event budget1** (score: 0.612) +1. **XlsxIssue81_LayoutOptions** (score: 0.6309) +1. **XlsxIssue82_WideTable** (score: 0.6322) +1. **Business plan checklist with SWOT analysis1** (score: 0.6547) +1. **XlsxIssue77_MergedCellAlignment** (score: 0.7018) +1. **XlsxIssue152_ClusteredNonZeroBarChart** (score: 0.7092) +1. **Wedding_timeline_planner1_copy** (score: 0.7203) Review the text diffs and visual comparisons above to identify specific rendering issues. diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_heatmap.png new file mode 100644 index 00000000..c1fd5b10 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_libreoffice.png new file mode 100644 index 00000000..09eeb56a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_minipdf.png new file mode 100644 index 00000000..9ef32ff0 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_reference.png new file mode 100644 index 00000000..258a8575 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_heatmap.png new file mode 100644 index 00000000..9179a660 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_libreoffice.png new file mode 100644 index 00000000..82a881d8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_minipdf.png new file mode 100644 index 00000000..d07fff16 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_reference.png new file mode 100644 index 00000000..6a0986f8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p3_minipdf.png new file mode 100644 index 00000000..3362e473 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Academic Achievement Summary Table_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_heatmap.png new file mode 100644 index 00000000..c1fd5b10 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_libreoffice.png new file mode 100644 index 00000000..09eeb56a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_minipdf.png new file mode 100644 index 00000000..9ef32ff0 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_reference.png new file mode 100644 index 00000000..258a8575 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_heatmap.png new file mode 100644 index 00000000..9179a660 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_libreoffice.png new file mode 100644 index 00000000..82a881d8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_minipdf.png new file mode 100644 index 00000000..d07fff16 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_reference.png new file mode 100644 index 00000000..6a0986f8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p3_minipdf.png new file mode 100644 index 00000000..3362e473 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/AcademicAchievement_temp_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_heatmap.png new file mode 100644 index 00000000..01c4bca8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_libreoffice.png new file mode 100644 index 00000000..80b47a27 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_minipdf.png new file mode 100644 index 00000000..d794e085 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_reference.png new file mode 100644 index 00000000..c39f9932 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_heatmap.png new file mode 100644 index 00000000..2fc53901 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_libreoffice.png new file mode 100644 index 00000000..e5fc8fe7 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_minipdf.png new file mode 100644 index 00000000..2d0a8c1d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_reference.png new file mode 100644 index 00000000..8e6b40f5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p3_libreoffice.png new file mode 100644 index 00000000..9bbcd8a3 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p3_reference.png new file mode 100644 index 00000000..eed71412 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expense budget1_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_heatmap.png new file mode 100644 index 00000000..9fda93e4 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_libreoffice.png new file mode 100644 index 00000000..9a3f532c Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_minipdf.png new file mode 100644 index 00000000..27d81142 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_reference.png new file mode 100644 index 00000000..3b0380a7 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_heatmap.png new file mode 100644 index 00000000..e8a31dd2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_libreoffice.png new file mode 100644 index 00000000..e1d26ab2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_minipdf.png new file mode 100644 index 00000000..fcbeec64 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_reference.png new file mode 100644 index 00000000..b6c913c0 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_heatmap.png new file mode 100644 index 00000000..aaaed95e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_libreoffice.png new file mode 100644 index 00000000..1f2ad150 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_minipdf.png new file mode 100644 index 00000000..5a0f2c4c Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_reference.png new file mode 100644 index 00000000..174fb5f8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business expenses budget2_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_heatmap.png new file mode 100644 index 00000000..46da03d9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_libreoffice.png new file mode 100644 index 00000000..ed79fb96 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_minipdf.png new file mode 100644 index 00000000..26ee0083 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_reference.png new file mode 100644 index 00000000..deb857d1 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Business plan checklist with SWOT analysis1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_heatmap.png new file mode 100644 index 00000000..a4a4eab9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_libreoffice.png new file mode 100644 index 00000000..1177e230 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_minipdf.png new file mode 100644 index 00000000..c32fcc0d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_reference.png new file mode 100644 index 00000000..1177e230 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_heatmap.png new file mode 100644 index 00000000..3b836a5e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_libreoffice.png new file mode 100644 index 00000000..22654d15 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_minipdf.png new file mode 100644 index 00000000..aeabc85b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_reference.png new file mode 100644 index 00000000..22654d15 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_heatmap.png new file mode 100644 index 00000000..a7c1cff6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_libreoffice.png new file mode 100644 index 00000000..5f30bbf8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_minipdf.png new file mode 100644 index 00000000..f51f7cad Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_reference.png new file mode 100644 index 00000000..5f30bbf8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Event budget1_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_heatmap.png new file mode 100644 index 00000000..261bb822 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_libreoffice.png new file mode 100644 index 00000000..53df58b5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_minipdf.png new file mode 100644 index 00000000..c41a6cee Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_reference.png new file mode 100644 index 00000000..53df58b5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p2_minipdf.png new file mode 100644 index 00000000..4685ffde Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Expense report basic1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_heatmap.png new file mode 100644 index 00000000..81a035cd Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_libreoffice.png new file mode 100644 index 00000000..4304bbfb Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_minipdf.png new file mode 100644 index 00000000..87d4a911 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_reference.png new file mode 100644 index 00000000..bc75ae22 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p2_minipdf.png new file mode 100644 index 00000000..2a8b1804 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Grocery list1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_heatmap.png index 0ee944b6..5bca8ace 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_heatmap.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_libreoffice.png index 8cac54a4..cd07b9fa 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_libreoffice.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_minipdf.png index c71f1fb0..31b10756 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_minipdf.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_heatmap.png index b7f23e39..488e39ae 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_heatmap.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_libreoffice.png index 532555d4..1060b344 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_libreoffice.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_minipdf.png index 96c9cbc3..de90a335 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_minipdf.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_heatmap.png index b8aa8bcf..5469c438 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_heatmap.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_libreoffice.png index 56ad74a8..996d7731 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_libreoffice.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_minipdf.png index 0d14e29f..263bbc38 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_minipdf.png and b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p4_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p4_libreoffice.png deleted file mode 100644 index 1dfdaf12..00000000 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p4_libreoffice.png and /dev/null differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p4_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p4_reference.png deleted file mode 100644 index a656ea30..00000000 Binary files a/artifacts/go-benchmark/issue/xlsx/report/images/Issue202609031340_p4_reference.png and /dev/null differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_heatmap.png new file mode 100644 index 00000000..bd25a2da Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_libreoffice.png new file mode 100644 index 00000000..6ab97c8d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_minipdf.png new file mode 100644 index 00000000..92b22977 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_reference.png new file mode 100644 index 00000000..699208b8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_heatmap.png new file mode 100644 index 00000000..a9a426f9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_libreoffice.png new file mode 100644 index 00000000..2b74c1c4 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_minipdf.png new file mode 100644 index 00000000..0c09598d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_reference.png new file mode 100644 index 00000000..8f97089f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_heatmap.png new file mode 100644 index 00000000..bded03ae Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_libreoffice.png new file mode 100644 index 00000000..afcbe979 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_minipdf.png new file mode 100644 index 00000000..a7879da6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_reference.png new file mode 100644 index 00000000..e80fd724 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/PO_anonymized_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_heatmap.png new file mode 100644 index 00000000..00ce8db0 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_libreoffice.png new file mode 100644 index 00000000..81082d5b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_minipdf.png new file mode 100644 index 00000000..dc86dcf7 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_reference.png new file mode 100644 index 00000000..c77c31d6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Simple invoice1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_heatmap.png new file mode 100644 index 00000000..35c1aaa2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_libreoffice.png new file mode 100644 index 00000000..2424d364 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_minipdf.png new file mode 100644 index 00000000..0bb304db Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_reference.png new file mode 100644 index 00000000..4ddd7b38 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_heatmap.png new file mode 100644 index 00000000..4d9075f4 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_libreoffice.png new file mode 100644 index 00000000..4be00a43 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_minipdf.png new file mode 100644 index 00000000..a473ac3f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_reference.png new file mode 100644 index 00000000..61d60588 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_heatmap.png new file mode 100644 index 00000000..e0a2a3cc Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_libreoffice.png new file mode 100644 index 00000000..23a9ced1 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_minipdf.png new file mode 100644 index 00000000..92ddc41c Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_reference.png new file mode 100644 index 00000000..4e8cee67 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Small business cash flow forecast1_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_heatmap.png new file mode 100644 index 00000000..038b8e73 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_libreoffice.png new file mode 100644 index 00000000..e7bac153 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_minipdf.png new file mode 100644 index 00000000..3b0b6137 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_reference.png new file mode 100644 index 00000000..67c50500 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_heatmap.png new file mode 100644 index 00000000..9474ed3d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_libreoffice.png new file mode 100644 index 00000000..ee364ed2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_minipdf.png new file mode 100644 index 00000000..8089e7be Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_reference.png new file mode 100644 index 00000000..c517909d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_heatmap.png new file mode 100644 index 00000000..a9a0d1e8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_libreoffice.png new file mode 100644 index 00000000..b7e9cceb Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_minipdf.png new file mode 100644 index 00000000..6999c805 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_reference.png new file mode 100644 index 00000000..e73e3abc Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Wedding_timeline_planner1_copy_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_heatmap.png new file mode 100644 index 00000000..d85fb6af Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_libreoffice.png new file mode 100644 index 00000000..38ffaa21 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_minipdf.png new file mode 100644 index 00000000..38ddb28b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_reference.png new file mode 100644 index 00000000..25840cb2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p2_minipdf.png new file mode 100644 index 00000000..bbc26c83 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p3_minipdf.png new file mode 100644 index 00000000..0f234f04 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/Weekly schedule planner1_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png new file mode 100644 index 00000000..37b80695 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_libreoffice.png new file mode 100644 index 00000000..02ceff34 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png new file mode 100644 index 00000000..8ff69813 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_reference.png new file mode 100644 index 00000000..ad82b0b5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue152_ClusteredNonZeroBarChart_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_heatmap.png new file mode 100644 index 00000000..85b7ff00 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_libreoffice.png new file mode 100644 index 00000000..a28aef24 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_minipdf.png new file mode 100644 index 00000000..ce1b89fe Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_reference.png new file mode 100644 index 00000000..a28aef24 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_heatmap.png new file mode 100644 index 00000000..7e075adb Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_libreoffice.png new file mode 100644 index 00000000..de6558a8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_minipdf.png new file mode 100644 index 00000000..67decb85 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_reference.png new file mode 100644 index 00000000..de6558a8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_heatmap.png new file mode 100644 index 00000000..f568a3ec Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_libreoffice.png new file mode 100644 index 00000000..f0b4814a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_minipdf.png new file mode 100644 index 00000000..87887eba Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_reference.png new file mode 100644 index 00000000..f0b4814a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue75_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_heatmap.png new file mode 100644 index 00000000..c8cb12ed Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_libreoffice.png new file mode 100644 index 00000000..3b2d6007 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_minipdf.png new file mode 100644 index 00000000..a808f0d7 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_reference.png new file mode 100644 index 00000000..6a3265f6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_heatmap.png new file mode 100644 index 00000000..22ca3f97 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_libreoffice.png new file mode 100644 index 00000000..c12738e3 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_minipdf.png new file mode 100644 index 00000000..c481e991 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_reference.png new file mode 100644 index 00000000..4955048e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p3_minipdf.png new file mode 100644 index 00000000..2a8b1804 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_MergedCellAlignment_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_heatmap.png new file mode 100644 index 00000000..f538d258 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_libreoffice.png new file mode 100644 index 00000000..f8475a94 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_minipdf.png new file mode 100644 index 00000000..272c574b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_reference.png new file mode 100644 index 00000000..5773c2dc Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_heatmap.png new file mode 100644 index 00000000..593921c6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_libreoffice.png new file mode 100644 index 00000000..053de176 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_minipdf.png new file mode 100644 index 00000000..2a8b1804 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_reference.png new file mode 100644 index 00000000..5060df90 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_heatmap.png new file mode 100644 index 00000000..593921c6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_libreoffice.png new file mode 100644 index 00000000..053de176 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_minipdf.png new file mode 100644 index 00000000..2a8b1804 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_reference.png new file mode 100644 index 00000000..5060df90 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template1_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_heatmap.png new file mode 100644 index 00000000..32982341 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_libreoffice.png new file mode 100644 index 00000000..2125323f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_minipdf.png new file mode 100644 index 00000000..272c574b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_reference.png new file mode 100644 index 00000000..fe46b5e2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_heatmap.png new file mode 100644 index 00000000..8356cd5a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_libreoffice.png new file mode 100644 index 00000000..123863ac Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_minipdf.png new file mode 100644 index 00000000..2a8b1804 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_reference.png new file mode 100644 index 00000000..62ef26af Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_heatmap.png new file mode 100644 index 00000000..8356cd5a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_libreoffice.png new file mode 100644 index 00000000..123863ac Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_minipdf.png new file mode 100644 index 00000000..2a8b1804 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_reference.png new file mode 100644 index 00000000..62ef26af Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue77_Template2_Workaround_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_heatmap.png new file mode 100644 index 00000000..3dbf371d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_libreoffice.png new file mode 100644 index 00000000..3a53cf0c Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_minipdf.png new file mode 100644 index 00000000..1b74964f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_reference.png new file mode 100644 index 00000000..936fd1c9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_heatmap.png new file mode 100644 index 00000000..3e901f4f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_libreoffice.png new file mode 100644 index 00000000..2a16c0be Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_minipdf.png new file mode 100644 index 00000000..c67fefaa Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_reference.png new file mode 100644 index 00000000..5fa0264f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_heatmap.png new file mode 100644 index 00000000..94856eaf Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_libreoffice.png new file mode 100644 index 00000000..3f26e3c7 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_minipdf.png new file mode 100644 index 00000000..be7779fb Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_reference.png new file mode 100644 index 00000000..bdeb7962 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue81_LayoutOptions_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_heatmap.png new file mode 100644 index 00000000..8ba81cf2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_libreoffice.png new file mode 100644 index 00000000..e17d9853 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_minipdf.png new file mode 100644 index 00000000..5fdc8fac Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_reference.png new file mode 100644 index 00000000..e17d9853 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_heatmap.png new file mode 100644 index 00000000..31a130b8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_libreoffice.png new file mode 100644 index 00000000..fea444df Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_minipdf.png new file mode 100644 index 00000000..988b73f2 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_reference.png new file mode 100644 index 00000000..fea444df Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_heatmap.png new file mode 100644 index 00000000..0081cb42 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_libreoffice.png new file mode 100644 index 00000000..d3b04f5b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_minipdf.png new file mode 100644 index 00000000..08ba5a00 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_reference.png new file mode 100644 index 00000000..d3b04f5b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_5mb_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_heatmap.png new file mode 100644 index 00000000..3053c45f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_libreoffice.png new file mode 100644 index 00000000..a91828af Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_minipdf.png new file mode 100644 index 00000000..07d77737 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_reference.png new file mode 100644 index 00000000..a91828af Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_heatmap.png new file mode 100644 index 00000000..7c1350dc Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_libreoffice.png new file mode 100644 index 00000000..2d094c51 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_minipdf.png new file mode 100644 index 00000000..3c438f9a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_reference.png new file mode 100644 index 00000000..2d094c51 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_heatmap.png new file mode 100644 index 00000000..d9346eac Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_libreoffice.png new file mode 100644 index 00000000..00dc4e6f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_minipdf.png new file mode 100644 index 00000000..f35aa798 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_reference.png new file mode 100644 index 00000000..00dc4e6f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_SampleTestData5mb_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_heatmap.png new file mode 100644 index 00000000..3eca12e1 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_libreoffice.png new file mode 100644 index 00000000..574b14b6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_minipdf.png new file mode 100644 index 00000000..fc7c4596 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_reference.png new file mode 100644 index 00000000..64a705b6 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_heatmap.png new file mode 100644 index 00000000..9083c96d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_libreoffice.png new file mode 100644 index 00000000..a91bb80b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_minipdf.png new file mode 100644 index 00000000..72d0fd63 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_reference.png new file mode 100644 index 00000000..0ad35071 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_heatmap.png new file mode 100644 index 00000000..aeabfd9b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_libreoffice.png new file mode 100644 index 00000000..459e7f1f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_minipdf.png new file mode 100644 index 00000000..0a3497f9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_reference.png new file mode 100644 index 00000000..79c4fd5f Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/XlsxIssue82_WideTable_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_heatmap.png new file mode 100644 index 00000000..83a85ef5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_libreoffice.png new file mode 100644 index 00000000..cbbb4d4b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_minipdf.png new file mode 100644 index 00000000..cdf2a848 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_reference.png new file mode 100644 index 00000000..3f799a25 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p1_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_heatmap.png new file mode 100644 index 00000000..6f6d9703 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_libreoffice.png new file mode 100644 index 00000000..ed5fe577 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_minipdf.png new file mode 100644 index 00000000..a3778ede Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_reference.png new file mode 100644 index 00000000..17e30902 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p2_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_heatmap.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_heatmap.png new file mode 100644 index 00000000..8c70b7e3 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_heatmap.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_libreoffice.png new file mode 100644 index 00000000..ddd27d0b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_minipdf.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_minipdf.png new file mode 100644 index 00000000..3362e473 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_minipdf.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_reference.png b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_reference.png new file mode 100644 index 00000000..fcda8374 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/images/payroll-calculator_f_p3_reference.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Academic Achievement Summary Table_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Academic Achievement Summary Table_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..46254ba3 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Academic Achievement Summary Table_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Academic Achievement Summary Table_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Academic Achievement Summary Table_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..cc864e17 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Academic Achievement Summary Table_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/AcademicAchievement_temp_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/AcademicAchievement_temp_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..46254ba3 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/AcademicAchievement_temp_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/AcademicAchievement_temp_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/AcademicAchievement_temp_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..cc864e17 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/AcademicAchievement_temp_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..281d3aeb Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..fd139bef Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..68dbcaf5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expense budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..17b452f8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..1fe39b96 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..5680c812 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business expenses budget2_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business plan checklist with SWOT analysis1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business plan checklist with SWOT analysis1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..2990f940 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Business plan checklist with SWOT analysis1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..433a287e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..50cfb337 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..6079e523 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Event budget1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Expense report basic1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Expense report basic1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..1e077a6d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Expense report basic1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Grocery list1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Grocery list1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..b36a1ebc Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Grocery list1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png index 8b02fa7a..9ef7a9ff 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png index 45136378..e3cdb8ad 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png index a9a7ddbc..1b3e6b53 100644 Binary files a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p4_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p4_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png deleted file mode 100644 index 137e3589..00000000 Binary files a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Issue202609031340_p4_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png and /dev/null differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..3ab94f84 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..ea2d79cb Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..3e2d7992 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/PO_anonymized_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Simple invoice1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Simple invoice1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..cf122b93 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Simple invoice1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..c258ebf0 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..df7d014e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..dd4ece86 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Small business cash flow forecast1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..2ac5494a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..cbc7de74 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..6d635c2e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Wedding_timeline_planner1_copy_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Weekly schedule planner1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Weekly schedule planner1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..d5e98b57 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/Weekly schedule planner1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue152_ClusteredNonZeroBarChart_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue152_ClusteredNonZeroBarChart_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..81549528 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue152_ClusteredNonZeroBarChart_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..70f95dc8 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..396fc49b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..e649d219 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue75_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_MergedCellAlignment_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_MergedCellAlignment_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..dfb70c8b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_MergedCellAlignment_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_MergedCellAlignment_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_MergedCellAlignment_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..f7dfab6e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_MergedCellAlignment_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..a1ee57c7 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..d88e65c9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..d88e65c9 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template1_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..57731e52 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..757e0840 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..757e0840 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue77_Template2_Workaround_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..de96688a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..cc748219 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..68bc3065 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue81_LayoutOptions_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..2c32cd4e Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..783b44ba Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..c100ad2b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..d75245e5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..6b3adbe5 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..21aeccf0 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_SampleTestData5mb_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..dd77ef5d Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..8906271b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..717cd16a Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/XlsxIssue82_WideTable_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..f5f9d539 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p1_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..ce6d920b Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p2_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png new file mode 100644 index 00000000..f7877627 Binary files /dev/null and b/artifacts/go-benchmark/issue/xlsx/report/side-by-side/payroll-calculator_f_p3_go_minipdf_vs_microsoft_365_excel_reference_vs_libreoffice.png differ diff --git a/minipdf-go/office.go b/minipdf-go/office.go index 2de1b8d9..13c657eb 100644 --- a/minipdf-go/office.go +++ b/minipdf-go/office.go @@ -33,6 +33,7 @@ type textPage struct { lines []string size PageSize margins Margins + noWrap bool } func openOfficePackage(input []byte) (officePackage, error) { @@ -136,12 +137,12 @@ func renderTextPages(pages []textPage, options ConversionOptions) []byte { if options.Margins != nil { margins = *options.Margins } - addTextPages(document, sourcePage.lines, pageSize, margins) + addTextPages(document, sourcePage.lines, pageSize, margins, sourcePage.noWrap) } return document.BytesWithOptions(PDFSaveOptions{Compress: options.Compress}) } -func addTextPages(document *PDFDocument, lines []string, pageSize PageSize, margins Margins) { +func addTextPages(document *PDFDocument, lines []string, pageSize PageSize, margins Margins, noWrap bool) { const ( fontSize = 11.0 leading = 15.0 @@ -149,13 +150,13 @@ func addTextPages(document *PDFDocument, lines []string, pageSize PageSize, marg if margins == (Margins{}) { margins = Margins{Left: 54, Top: 54, Right: 54, Bottom: 54} } - maxCharacters := int((pageSize.Width - margins.Left - margins.Right) / (fontSize * 0.52)) - if maxCharacters < 10 { - maxCharacters = 10 - } wrapped := make([]string, 0, len(lines)) for _, line := range lines { - wrapped = append(wrapped, wrapText(line, maxCharacters)...) + if noWrap { + wrapped = append(wrapped, line) + } else { + wrapped = append(wrapped, wrapText(line, textCharactersPerLine(pageSize, margins))...) + } } if len(wrapped) == 0 { wrapped = append(wrapped, "") @@ -173,6 +174,18 @@ func addTextPages(document *PDFDocument, lines []string, pageSize PageSize, marg } } +func textCharactersPerLine(pageSize PageSize, margins Margins) int { + const fontSize = 11.0 + if margins == (Margins{}) { + margins = Margins{Left: 54, Top: 54, Right: 54, Bottom: 54} + } + maximum := int((pageSize.Width - margins.Left - margins.Right) / (fontSize * 0.52)) + if maximum < 10 { + return 10 + } + return maximum +} + func wrapText(text string, limit int) []string { if text == "" { return []string{""} diff --git a/minipdf-go/office_test.go b/minipdf-go/office_test.go index 03c473f2..4c1cb7a0 100644 --- a/minipdf-go/office_test.go +++ b/minipdf-go/office_test.go @@ -188,6 +188,53 @@ func TestConvertXLSXToPDF(t *testing.T) { } } +func TestConvertXLSXSkipsEmptyWorksheets(t *testing.T) { + mixed := officePackageBytes(t, map[string]string{ + "xl/workbook.xml": ``, + "xl/worksheets/sheet1.xml": ``, + "xl/worksheets/sheet2.xml": `` + + `First sheet`, + "xl/worksheets/sheet3.xml": ``, + "xl/worksheets/sheet4.xml": `` + + `Second sheet`, + }) + + pdf, err := ConvertBytesToPDF(mixed) + assertPDFContains(t, pdf, err, "First sheet", "Second sheet") + if pages := bytes.Count(pdf, []byte("/Type /Page ")); pages != 2 { + t.Fatalf("mixed workbook page count = %d, want 2", pages) + } + + allEmpty := officePackageBytes(t, map[string]string{ + "xl/workbook.xml": ``, + "xl/worksheets/sheet1.xml": ``, + "xl/worksheets/sheet2.xml": ``, + }) + pdf, err = ConvertBytesToPDF(allEmpty) + if err != nil { + t.Fatal(err) + } + if pages := bytes.Count(pdf, []byte("/Type /Page ")); pages != 1 { + t.Fatalf("empty workbook page count = %d, want 1", pages) + } + + layoutOnly := officePackageBytes(t, map[string]string{ + "xl/workbook.xml": ``, + "xl/worksheets/sheet1.xml": `` + + `Data`, + "xl/worksheets/sheet2.xml": `` + + ``, + "xl/worksheets/sheet3.xml": ``, + }) + pdf, err = ConvertBytesToPDF(layoutOnly) + if err != nil { + t.Fatal(err) + } + if pages := bytes.Count(pdf, []byte("/Type /Page ")); pages != 2 { + t.Fatalf("layout-only workbook page count = %d, want 2", pages) + } +} + func TestSplitWorksheetColumnGroups(t *testing.T) { lines := []string{ "A\tB\tC\tD\tE\tF\tG\tH\tI\tJ", @@ -204,6 +251,90 @@ func TestSplitWorksheetColumnGroups(t *testing.T) { } } +func TestSplitWorksheetTextOverflow(t *testing.T) { + pages := splitWorksheetTextOverflow([]string{"Header", "ABCDEFGHIJK", "Short"}, 5) + + if len(pages) != 3 { + t.Fatalf("page count = %d, want 3", len(pages)) + } + want := [][]string{ + {"Heade", "ABCDE", "Short"}, + {"r", "FGHIJ", ""}, + {"", "K", ""}, + } + for index := range want { + if strings.Join(pages[index], "|") != strings.Join(want[index], "|") { + t.Errorf("page %d = %#v, want %#v", index, pages[index], want[index]) + } + } +} + +func TestConvertXLSXPaginatesSingleColumnTextOverflow(t *testing.T) { + input := officePackageBytes(t, map[string]string{ + "xl/workbook.xml": ``, + "xl/worksheets/sheet1.xml": `` + + strings.Repeat("X", 1000) + ``, + }) + + pdf, err := ConvertBytesToPDF(input) + if err != nil { + t.Fatal(err) + } + if pages := bytes.Count(pdf, []byte("/Type /Page ")); pages != 12 { + t.Fatalf("PDF page count = %d, want 12", pages) + } +} + +func TestExtractWorksheetPreservesSparseRows(t *testing.T) { + worksheet := []byte(`` + + `First` + + `Fifth` + + `Tenth` + + ``) + + lines, _, err := extractWorksheet(worksheet, nil) + if err != nil { + t.Fatal(err) + } + if len(lines) != 10 { + t.Fatalf("line count = %d, want 10", len(lines)) + } + if lines[0] != "First" || lines[4] != "Fifth" || lines[9] != "Tenth" { + t.Fatalf("sparse row values = %#v", lines) + } +} + +func TestExtractWorksheetPreservesSparseColumns(t *testing.T) { + worksheet := []byte(`` + + `Left` + + `Right` + + `Data` + + `Far` + + ``) + + lines, _, err := extractWorksheet(worksheet, nil) + if err != nil { + t.Fatal(err) + } + if lines[0] != "Left\t\t\tRight" || lines[1] != "Data\t\t\t\t\t\t\t\t\tFar" { + t.Fatalf("sparse columns = %#v", lines) + } +} + +func TestExtractWorksheetFormatsBooleanCells(t *testing.T) { + worksheet := []byte(`` + + `10` + + `1`) + + lines, _, err := extractWorksheet(worksheet, nil) + if err != nil { + t.Fatal(err) + } + if len(lines) != 1 || lines[0] != "TRUE\tFALSE\t1" { + t.Fatalf("boolean row = %#v, want TRUE, FALSE, and numeric 1", lines) + } +} + func TestXLSXRowColumnLimitsAndOrientation(t *testing.T) { input := officePackageBytes(t, map[string]string{ "xl/workbook.xml": ``, diff --git a/minipdf-go/xlsx.go b/minipdf-go/xlsx.go index 820ff807..21944730 100644 --- a/minipdf-go/xlsx.go +++ b/minipdf-go/xlsx.go @@ -22,6 +22,7 @@ func convertXLSX(input []byte, options ConversionOptions) ([]byte, error) { return nil, errorsNewMissingWorksheets() } pages := make([]textPage, 0, len(worksheets)) + fallbackPageSize := PageSizeA4 for _, name := range worksheets { worksheetXML, readErr := files.read(name) if readErr != nil { @@ -38,11 +39,30 @@ func convertXLSX(input []byte, options ConversionOptions) ([]byte, error) { pageSize.Width, pageSize.Height = pageSize.Height, pageSize.Width } } + fallbackPageSize = pageSize + if len(lines) == 0 { + continue + } + effectivePageSize := pageSize + if options.PageSize != nil { + effectivePageSize = *options.PageSize + } for _, group := range splitWorksheetColumnGroups(lines, 9) { - group = append([]string{""}, group...) - pages = append(pages, textPage{lines: group, size: pageSize}) + overflowPages := [][]string{group} + noWrap := false + if worksheetColumnCount(group) == 1 { + overflowPages = splitWorksheetTextOverflow(group, textCharactersPerLine(effectivePageSize, Margins{})) + noWrap = len(overflowPages) > 1 + } + for _, overflowPage := range overflowPages { + overflowPage = append([]string{""}, overflowPage...) + pages = append(pages, textPage{lines: overflowPage, size: pageSize, noWrap: noWrap}) + } } } + if len(pages) == 0 { + pages = append(pages, textPage{size: fallbackPageSize}) + } return renderTextPages(pages, options), nil } @@ -65,10 +85,7 @@ func limitWorksheet(lines []string, maxRows, maxColumns int) []string { } func splitWorksheetColumnGroups(lines []string, columnsPerPage int) [][]string { - maximumColumns := 0 - for _, line := range lines { - maximumColumns = max(maximumColumns, len(strings.Split(line, "\t"))) - } + maximumColumns := worksheetColumnCount(lines) if maximumColumns <= columnsPerPage || columnsPerPage <= 0 { return [][]string{lines} } @@ -90,6 +107,40 @@ func splitWorksheetColumnGroups(lines []string, columnsPerPage int) [][]string { return groups } +func worksheetColumnCount(lines []string) int { + maximum := 0 + for _, line := range lines { + maximum = max(maximum, len(strings.Split(line, "\t"))) + } + return maximum +} + +func splitWorksheetTextOverflow(lines []string, charactersPerPage int) [][]string { + if charactersPerPage <= 0 { + return [][]string{lines} + } + maximumCharacters := 0 + rows := make([][]rune, len(lines)) + for index, line := range lines { + rows[index] = []rune(line) + maximumCharacters = max(maximumCharacters, len(rows[index])) + } + pageCount := max(1, (maximumCharacters+charactersPerPage-1)/charactersPerPage) + pages := make([][]string, pageCount) + for pageIndex := range pages { + start := pageIndex * charactersPerPage + end := start + charactersPerPage + pages[pageIndex] = make([]string, len(rows)) + for rowIndex, row := range rows { + if start >= len(row) { + continue + } + pages[pageIndex][rowIndex] = string(row[start:min(end, len(row))]) + } + } + return pages +} + func errorsNewMissingWorksheets() error { return fmt.Errorf("Office package part %q is missing", "xl/worksheets/sheet1.xml") } @@ -141,6 +192,7 @@ func extractWorksheet(data []byte, sharedStrings []string) ([]string, PageSize, pageSize := PageSizeA4 var lines []string var row []string + rowNumber := 0 for { token, err := decoder.Token() if err != nil { @@ -154,7 +206,15 @@ func extractWorksheet(data []byte, sharedStrings []string) ([]string, PageSize, switch element.Name.Local { case "row": row = nil + rowNumber = len(lines) + 1 + if parsed, parseErr := strconv.Atoi(attrValue(element, "r")); parseErr == nil && parsed > 0 { + rowNumber = parsed + } case "c": + columnNumber := worksheetColumnIndex(attrValue(element, "r")) + for len(row)+1 < columnNumber { + row = append(row, "") + } value, cellErr := decodeWorksheetCell(decoder, element, sharedStrings) if cellErr != nil { return nil, PageSize{}, cellErr @@ -170,6 +230,9 @@ func extractWorksheet(data []byte, sharedStrings []string) ([]string, PageSize, } case xml.EndElement: if element.Name.Local == "row" { + for len(lines)+1 < rowNumber { + lines = append(lines, "") + } lines = append(lines, strings.Join(row, "\t")) } } @@ -177,6 +240,20 @@ func extractWorksheet(data []byte, sharedStrings []string) ([]string, PageSize, return lines, pageSize, nil } +func worksheetColumnIndex(reference string) int { + column := 0 + for _, character := range reference { + if character >= 'a' && character <= 'z' { + character -= 'a' - 'A' + } + if character < 'A' || character > 'Z' { + break + } + column = column*26 + int(character-'A'+1) + } + return column +} + func decodeWorksheetCell(decoder *xml.Decoder, start xml.StartElement, sharedStrings []string) (string, error) { cellType := attrValue(start, "t") var value strings.Builder @@ -201,11 +278,20 @@ func decodeWorksheetCell(decoder *xml.Decoder, start xml.StartElement, sharedStr depth-- } } + rawValue := value.String() if cellType == "s" { - index, err := strconv.Atoi(strings.TrimSpace(value.String())) + index, err := strconv.Atoi(strings.TrimSpace(rawValue)) if err == nil && index >= 0 && index < len(sharedStrings) { return sharedStrings[index], nil } } - return value.String(), nil + if cellType == "b" { + switch strings.TrimSpace(rawValue) { + case "1": + return "TRUE", nil + case "0": + return "FALSE", nil + } + } + return rawValue, nil }