From e725271d829f54f58b5fe88c45ef56bb973d14dd Mon Sep 17 00:00:00 2001 From: Ian Shen Date: Thu, 26 Feb 2026 11:03:27 -0800 Subject: [PATCH] Fix PDF export/print margins: respect Page Setup and remove double margins The printInfo method hardcoded all four margins (top/bottom 50pt, left/right 0pt), overriding whatever the user configured via File > Page Setup. This made the Page Setup dialog effectively non-functional for margin control. Additionally, all CSS stylesheets added body padding/margin of 2cm in their @media print blocks, which compounded with the NSPrintInfo margins to create unpredictable whitespace. This commit: - Removes hardcoded margin values from printInfo, allowing NSPrintInfo (controlled by Page Setup) to be the single source of truth - Zeros out @media print body padding/margin in all 6 bundled stylesheets to prevent double-margin compounding Users can now control PDF/print margins via File > Page Setup (Cmd+Shift+P). Co-Authored-By: Claude Opus 4.6 --- MacDown/Code/Document/MPDocument.m | 4 ---- MacDown/Resources/Styles/Clearness Dark.css | 2 +- MacDown/Resources/Styles/Clearness.css | 2 +- MacDown/Resources/Styles/GitHub.css | 2 +- MacDown/Resources/Styles/GitHub2.css | 2 +- MacDown/Resources/Styles/Solarized (Dark).css | 2 +- MacDown/Resources/Styles/Solarized (Light).css | 2 +- 7 files changed, 6 insertions(+), 10 deletions(-) diff --git a/MacDown/Code/Document/MPDocument.m b/MacDown/Code/Document/MPDocument.m index acbc77ff..e80539d3 100644 --- a/MacDown/Code/Document/MPDocument.m +++ b/MacDown/Code/Document/MPDocument.m @@ -612,10 +612,6 @@ - (NSPrintInfo *)printInfo info.horizontalPagination = NSAutoPagination; info.verticalPagination = NSAutoPagination; info.verticallyCentered = NO; - info.topMargin = 50.0; - info.leftMargin = 0.0; - info.rightMargin = 0.0; - info.bottomMargin = 50.0; return info; } diff --git a/MacDown/Resources/Styles/Clearness Dark.css b/MacDown/Resources/Styles/Clearness Dark.css index 5f192ca9..f8a6382a 100644 --- a/MacDown/Resources/Styles/Clearness Dark.css +++ b/MacDown/Resources/Styles/Clearness Dark.css @@ -154,6 +154,6 @@ kbd { page-break-inside: avoid; } body { - margin: 2cm; + margin: 0; } } diff --git a/MacDown/Resources/Styles/Clearness.css b/MacDown/Resources/Styles/Clearness.css index 33c094f2..05945d54 100644 --- a/MacDown/Resources/Styles/Clearness.css +++ b/MacDown/Resources/Styles/Clearness.css @@ -155,6 +155,6 @@ kbd { page-break-inside: avoid; } body { - margin: 2cm; + margin: 0; } } diff --git a/MacDown/Resources/Styles/GitHub.css b/MacDown/Resources/Styles/GitHub.css index bf910b0a..83fada7d 100644 --- a/MacDown/Resources/Styles/GitHub.css +++ b/MacDown/Resources/Styles/GitHub.css @@ -91,6 +91,6 @@ kbd { word-wrap: break-word; } body { - padding: 2cm; + padding: 0; } } diff --git a/MacDown/Resources/Styles/GitHub2.css b/MacDown/Resources/Styles/GitHub2.css index 805173aa..b72d6c14 100644 --- a/MacDown/Resources/Styles/GitHub2.css +++ b/MacDown/Resources/Styles/GitHub2.css @@ -310,6 +310,6 @@ kbd { word-wrap: break-word; } body { - padding: 2cm; + padding: 0; } } diff --git a/MacDown/Resources/Styles/Solarized (Dark).css b/MacDown/Resources/Styles/Solarized (Dark).css index 19edc75a..2c1ec7f4 100644 --- a/MacDown/Resources/Styles/Solarized (Dark).css +++ b/MacDown/Resources/Styles/Solarized (Dark).css @@ -191,6 +191,6 @@ kbd { @media print { body { - margin: 2cm; + margin: 0; } } diff --git a/MacDown/Resources/Styles/Solarized (Light).css b/MacDown/Resources/Styles/Solarized (Light).css index ec2f95e6..5007489d 100644 --- a/MacDown/Resources/Styles/Solarized (Light).css +++ b/MacDown/Resources/Styles/Solarized (Light).css @@ -191,6 +191,6 @@ kbd { @media print { body { - margin: 2cm; + margin: 0; } }