Bug 163558 - Landscape orientation for printing not available
Summary: Landscape orientation for printing not available
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
24.8.2.1 release
Hardware: All macOS (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Print-Dialog
  Show dependency treegraph
 
Reported: 2024-10-21 16:24 UTC by fester225@gmail.com
Modified: 2024-11-19 05:58 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fester225@gmail.com 2024-10-21 16:24:03 UTC
Description:
I used to be able to specify Landscape or Portrait in Print..., Print Preview, or Printer Settings. Now I can't find a way to do that anywhere.

Steps to Reproduce:
1.Click on File
2.Click on Print...
3.

Actual Results:
There is no option to change the page orientation.

Expected Results:
I should have had an option to change the orientation between Portrait and Landscape.


Reproducible: Always


User Profile Reset: No

Additional Info:
The software should have given a choice between Portrait and Landscape.
Apparently this app is supposed to come with a Page Setup option. It does not.
Comment 1 Aryeh 2024-11-07 23:25:57 UTC
I also see that option is grayed out for me. Bug replicated.

Version: 24.8.2.1 (AARCH64) / LibreOffice Community
Build ID: 0f794b6e29741098670a3b95d60478a65d05ef13
CPU threads: 8; OS: macOS 14.5; UI render: Skia/Metal; VCL: osx
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 2 Buovjaga 2024-11-13 12:30:01 UTC
It works fine for me, if I pick Landscape from the dropdown Page Layout - Orientation.

Arch Linux 64-bit
Version: 24.8.2.1 (X86_64) / LibreOffice Community
Build ID: 480(Build:1)
CPU threads: 8; OS: Linux 6.11; UI render: default; VCL: kf6 (cairo+wayland)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
24.8.2-2
Calc: threaded
Comment 3 Patrick (volunteer) 2024-11-13 14:58:43 UTC
Maybe I misunderstand the bug description, but this really sounds like a macOS bug.

On macOS, the print dialog is displayed by a macOS service and most of the print options that are displayed are applied by the macOS print subsystem during post-processing.

Only the "LibreOffice" section of print options are controlled by LibreOffice. The other option sections (e.g. Layout, Paper Handling etc.) are populated by macOS based on what macOS thinks your printer will support. That is probably why some of us see a "rotate page" post-processing option and others do not.

So, if the macOS print dialog doesn't have any "rotate page" post-processing option, the only workaround I konw of is to set the page orientation for the document within LibreOffice:

1. Select the Format > Page Style menu item
2. In the dialog that appears, select the Page tab, edit the Paper Format settings, and press the OK button
3. Print
Comment 4 Patrick (volunteer) 2024-11-19 00:22:22 UTC
(In reply to Patrick (volunteer) from comment #3)
> Only the "LibreOffice" section of print options are controlled by
> LibreOffice. The other option sections (e.g. Layout, Paper Handling etc.)
> are populated by macOS based on what macOS thinks your printer will support.
> That is probably why some of us see a "rotate page" post-processing option
> and others do not.

I found how to force the paper size, paper orientation, and scaling sections to appear in the macOS print dialog using the following debug patch. With my debug patch, the print dialog in LibreOffice now looks the same (at least on macOS Sequoia) as Safari: those 3 sections are displayed just below the copies and page range sections.

Unfortunately, changing any of those 3 settings has no effect so the next step is to see if I can find a way to force LibreOffice to relayout the document when any of those 3 settings are changed:

diff --git a/vcl/osx/printaccessoryview.mm b/vcl/osx/printaccessoryview.mm
index 7b61adf9887a..cc165edd2db6 100644
--- a/vcl/osx/printaccessoryview.mm
+++ b/vcl/osx/printaccessoryview.mm
@@ -1248,7 +1248,10 @@ +(NSObject*)setupPrinterPanel: (NSPrintOperation*)pOp
 
     // get the print panel
     NSPrintPanel* pPrintPanel = [pOp printPanel];
-    [pPrintPanel setOptions: [pPrintPanel options] | NSPrintPanelShowsPreview];
+
+    NSPrintPanelOptions nOptions = NSPrintPanelShowsCopies | NSPrintPanelShowsPageRange | NSPrintPanelShowsPaperSize | NSPrintPanelShowsOrientation | NSPrintPanelShowsScaling | NSPrintPanelShowsPreview;
+    [pPrintPanel setOptions: nOptions];
+
     // add the accessory controller to the panel
     [pPrintPanel addAccessoryController: [pAccessoryController autorelease]];