Stirling-PDF icon indicating copy to clipboard operation
Stirling-PDF copied to clipboard

Enhance multi-page PDF layout with advanced customization options (#397, #3655)

Open OUNZAR-Aymane opened this issue 1 month ago • 1 comments

Description of Changes

Old behavior :

Previously, the user could only specify the number of pages per sheet, limited to 2, 3, or perfect square values, and the generated PDF was always in portrait orientation. Page ordering was fixed to left-to-right, then top-to-bottom, with no customization option.

New behavior :

  • Introduced two modes :
    • Default : Maintains the classic behavior for setting pages per sheet.
    • Custom : Allows specifying the number of rows and columns for flexible layouts.
  • The user can choose between four page ordering options :
    • Left to right, then top to bottom (Default).
    • Top to bottom, then left to right.
    • Right to left, then top to bottom.
    • Top to bottom, then right to left.
  • The user can choose the orientation of the output PDF document : Portrait (default) or Landscape.

How it was implemented :

The implementation builds on the existing PDFBox workflow, extending it to handle the new inputs and customization options without changing the core logic.

UI changes

  • Default mode : image

  • Custom mode : image

PDF samples :

Closes #397 and #3655


Checklist

General

Documentation

Translations (if applicable)

UI Changes (if applicable)

  • [x] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR)

Testing (if applicable)

  • [x] I have tested my changes locally. Refer to the Testing Guide for more details.

OUNZAR-Aymane avatar Nov 05 '25 10:11 OUNZAR-Aymane

🚀 Translation Verification Summary

🔄 Reference Branch: pr-branch-messages_en_GB.properties

📃 File Check: messages_en_GB.properties

  1. Test Status:Passed
  2. Test Status:Passed
  3. Test Status:Passed

📃 File Check: messages_en_US.properties

  1. Test Status:Passed
  2. Test Status:Passed
  3. Test Status:Passed

📃 File Check: messages_fr_FR.properties

  1. Test Status:Passed
  2. Test Status:Passed
  3. Test Status:Passed

✅ Overall Check Status: Success

Thanks @OUNZAR-Aymane for your help in keeping the translations up to date.

stirlingbot[bot] avatar Nov 05 '25 10:11 stirlingbot[bot]