Skip to content

page1.merge_page(page2, expand=True) doesn't seem to work #1035

@GeoTN

Description

@GeoTN

I am trying to merge two PDF page into one page. One thing is, those Pdf are kinda long (3 meters each, so 6 meters in the end)
When I try to merge those two pdf, the second PDF doesn't write past a certain area.

Code

import PyPDF2 as pdf
from PyPDF2.generic import RectangleObject
from PyPDF2 import PageObject, PdfReader, PdfWriter, Transformation

reader = PdfReader("E036_000_Tralongpdf2.0.pdf")
page = reader.pages[0]

x1, y1, x2, y2 = page.cropbox
op1 = Transformation().translate(tx=0, ty=0)
page.add_transformation(op1)
reader2 = PdfReader("E036_000_Tralongpdf1.0.pdf")
page2 = reader2.pages[0]

x21, y21, x22, y22 = page2.cropbox
assert x21 == 0
assert y21 == 0

op2 = Transformation().translate(tx=0, ty=y22 - 2000)  # ty=y2)
page2.add_transformation(op2)
page3 = PageObject.createBlankPage(reader, width=845, height=19000)
rect = RectangleObject((0.0, 0.0, 845.0, 25000.0))
print(page3.mediabox)
page3.cropbox = rect
page3.merge_page(page2)
page3.merge_page(page)

writer = PdfWriter()
page3.trimBox = rect
print(page3.cropbox)
writer.add_page(page3)
with open("output.pdf", "wb") as fp:
    writer.write(fp)

Environment

PyPDF==2.4.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions