diff --git a/src/MiniPdf/ExcelReader.cs b/src/MiniPdf/ExcelReader.cs index 8325f62b..bb4e1ea8 100644 --- a/src/MiniPdf/ExcelReader.cs +++ b/src/MiniPdf/ExcelReader.cs @@ -131,8 +131,7 @@ internal static List ReadSheets(Stream stream, System.Globalization. } if (sheet.PaperSize == 0) { - sheet.PaperSize = firstExplicitPaperSize ?? - (sheet.Rows.Count >= 1000 && sheet.ColumnWidths.Count == 0 && sheet.DefaultColumnWidth <= 0f ? 9 : 1); + sheet.PaperSize = firstExplicitPaperSize ?? 9; } } @@ -3111,7 +3110,7 @@ private static PageSetupInfo ReadPageSetup(ZipArchiveEntry entry) { var isLandscape = false; var scale = 100; - var paperSize = 0; // 0 = not specified (will inherit from first sheet or default to US Letter) + var paperSize = 0; // 0 = not specified (will inherit from first sheet or default to A4) float marginLeft = -1, marginRight = -1, marginTop = -1, marginBottom = -1, footerMargin = -1; var fitToPage = false; var fitToPageInferred = false; diff --git a/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs b/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs index 24682c20..56f1a8d5 100644 --- a/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs +++ b/tests/MiniPdf.Tests/ExcelToPdfConverterTests.cs @@ -26,6 +26,30 @@ public void Convert_SimpleExcel_ProducesValidPdf() Assert.Contains("%%EOF", content); } + [Fact] + public void Convert_WithoutPaperSize_UsesA4Page() + { + using var excelStream = CreateSimpleExcel(new[] { new[] { "A4" } }); + + var page = Assert.Single(ExcelToPdfConverter.Convert(excelStream).Pages); + + Assert.Equal(595.2756f, page.Width, 3); + Assert.Equal(841.8898f, page.Height, 3); + } + + [Fact] + public void Convert_WithExplicitLetterPaperSize_UsesLetterPage() + { + using var excelStream = CreateSimpleExcel( + new[] { new[] { "Letter" } }, + includeUnflaggedFitAttributes: true); + + var page = Assert.Single(ExcelToPdfConverter.Convert(excelStream).Pages); + + Assert.Equal(612f, page.Width, 3); + Assert.Equal(792f, page.Height, 3); + } + [Fact] public void Convert_WorksheetImage_RendersAboveCellText() {