Python Forum
[SOLVED] Reportlab - change a single page orientation
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[SOLVED] Reportlab - change a single page orientation
#1
Hi, I'm developing PDF reports with Reportlab and Python.

The first page is A4 landscape
the second and third pages are A4 portrait

Is it possible to add pages but by changing the orientation of certain pages?

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.pagesizes import A4, portrait
 
def create_pdf():
    pdf_file = 'C:\\Pdf\\multipage.pdf'
 
    can = canvas.Canvas(pdf_file, pagesize=landscape(A4))
    can.drawString(20, 800, "First Page")
    can.showPage()
    
    can.drawString(20, 800, "Second Page")
    can.showPage()
    
    can.drawString(20, 800, "Third Page")
    can.showPage()
 
    can.save()
 
create_pdf()
Reply
#2
It is possibile to use Reportlab with Merge function of other library like PyPDF2

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.pagesizes import A4, portrait

from PyPDF2 import PdfWriter
 
def create_pdf():
    pdf_file = 'C:\\Users\\Workmobile\\Desktop\\Pdf\\test1.pdf'
    can = canvas.Canvas(pdf_file, pagesize=landscape(A4))
    can.drawString(20, 550, "First Page")
    can.showPage()
    can.save()

    pdf_file = 'C:\\Users\\Workmobile\\Desktop\\Pdf\\test2.pdf'
    can = canvas.Canvas(pdf_file, pagesize=portrait(A4))
    can.drawString(20, 800, "Second Page")
    can.showPage()
    can.save()


    pdf_file = 'C:\\Users\\Workmobile\\Desktop\\Pdf\\test3.pdf'
    can = canvas.Canvas(pdf_file, pagesize=portrait(A4))
    can.drawString(20, 800, "Third Page")
    can.showPage()
    can.save()
 


def pdf_combine():
    merger = PdfWriter()

    for pdf in ["C:\\Users\\Workmobile\\Desktop\\Pdf\\test1.pdf", "C:\\Users\\Workmobile\\Desktop\\Pdf\\test2.pdf", "C:\\Users\\Workmobile\\Desktop\\Pdf\\test3.pdf"]:
        merger.append(pdf)

    merger.write("C:\\Users\\Workmobile\\Desktop\\Pdf\\merged-pdf.pdf")
    merger.close()


create_pdf()
pdf_combine()
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [SOLVED] [Linux] Write file and change owner? Winfried 6 1,554 Oct-17-2024, 01:15 AM
Last Post: Winfried
  Highlight text with Reportlab beetlecad 2 1,917 Aug-07-2024, 09:36 AM
Last Post: Pedroski55
  [SOLVED] Looking for documentation on Reportlab's canvas.transform() function NeilUK 1 1,471 Aug-23-2023, 01:21 PM
Last Post: NeilUK
  Right to left alignment in python report using Reportlab jalal0034 1 3,659 Sep-27-2022, 04:25 AM
Last Post: jalal0034
  [SOLVED] Input parameter: Single file or glob? Winfried 0 2,054 Sep-10-2021, 11:54 AM
Last Post: Winfried
  Label Maker FPDF, Reportlab jamesaarr 1 4,209 Aug-09-2021, 11:57 PM
Last Post: Pedroski55
  fpdf orientation not working properly KatMac 1 4,748 May-02-2021, 10:47 AM
Last Post: Pedroski55
  cyrillic symbols in tables in reportlab. hiroz 5 15,310 Sep-10-2020, 04:57 AM
Last Post: bradmalcom
  Better Understanding Of Object Orientation In Python JoeDainton123 3 3,591 Aug-30-2020, 02:49 PM
Last Post: deanhystad
  Using Reportlab to create a landscape pdf SmukasPlays 2 8,427 Aug-09-2020, 09:31 PM
Last Post: SmukasPlays

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020