- # outer section transformations
- page.add_transformation(pypdf.Transformation().translate(ty=(1-bonus_shrink_factor)*a4_height))
- if i == 0 or i == 1:
- y_section = a4_height
- page.mediabox.bottom = half_height
- page.mediabox.top = a4_height
- if i == 2 or i == 3:
- y_section = 0
- page.mediabox.bottom = 0
- page.mediabox.top = half_height
- if i == 0 or i == 2:
- x_section = 0
- page.mediabox.left = 0
- page.mediabox.right = half_width
- if i == 1 or i == 3:
- page.add_transformation(pypdf.Transformation().translate(tx=(1-bonus_shrink_factor)*a4_width))
- x_section = a4_width
- page.mediabox.left = half_width
- page.mediabox.right = a4_width
- page.add_transformation(pypdf.Transformation().translate(tx=x_section, ty=y_section))
- page.add_transformation(pypdf.Transformation().scale(section_scale_factor, section_scale_factor))
- new_page.merge_page(page)
- page_count += 1
- print("merged page number", page_count)
- i += 1
- if i > 3:
- from reportlab.pdfgen import canvas
- if args.analyze:
- # borders
- packet = io.BytesIO()
- c = canvas.Canvas(packet, pagesize=A4)
- c.setLineWidth(0.1)
- c.line(0, a4_height, a4_width, a4_height)
- c.line(0, half_height, a4_width, half_height)
- c.line(0, 0, a4_width, 0)
- c.line(0, a4_height, 0, 0)
- c.line(half_width, a4_height, half_width, 0)
- c.line(a4_width, a4_height, a4_width, 0)
- c.save()
- new_pdf = pypdf.PdfReader(packet)
- new_page.merge_page(new_pdf.pages[0])
- printable_offset_x = printable_margin
- printable_offset_y = printable_margin * a4_height / a4_width
- new_page.add_transformation(pypdf.Transformation().scale(printable_scale, printable_scale))
- new_page.add_transformation(pypdf.Transformation().translate(tx=printable_offset_x, ty=printable_offset_y))
- x_left_spine_limit = half_width * bonus_shrink_factor
- x_right_spine_limit = a4_width - x_left_spine_limit
- if args.analyze or front_page:
- packet = io.BytesIO()
- c = canvas.Canvas(packet, pagesize=A4)
- if args.analyze:
- # # spine lines
- c.setLineWidth(0.1)
- c.line(x_left_spine_limit, a4_height, x_left_spine_limit, 0)
- c.line(x_right_spine_limit, a4_height, x_right_spine_limit, 0)
- if front_page:
- c.setLineWidth(0.2)
- cut_depth = 19.5 * points_per_mm
- cut_width = 10.5 * points_per_mm
- middle_point_depth = 4 * points_per_mm
+ # outer section transformations
+ page.add_transformation(pypdf.Transformation().translate(ty=(1-bonus_shrink_factor)*a4_height))
+ if i == 0 or i == 1:
+ y_section = a4_height
+ page.mediabox.bottom = half_height
+ page.mediabox.top = a4_height
+ if i == 2 or i == 3:
+ y_section = 0
+ page.mediabox.bottom = 0
+ page.mediabox.top = half_height
+ if i == 0 or i == 2:
+ x_section = 0
+ page.mediabox.left = 0
+ page.mediabox.right = half_width
+ if i == 1 or i == 3:
+ page.add_transformation(pypdf.Transformation().translate(tx=(1-bonus_shrink_factor)*a4_width))
+ x_section = a4_width
+ page.mediabox.left = half_width
+ page.mediabox.right = a4_width
+ page.add_transformation(pypdf.Transformation().translate(tx=x_section, ty=y_section))
+ page.add_transformation(pypdf.Transformation().scale(section_scale_factor, section_scale_factor))
+ new_page.merge_page(page)
+ page_count += 1
+ print("merged page number", page_count)
+ i += 1
+ if i > 3:
+ from reportlab.pdfgen import canvas
+ if args.analyze:
+ # borders
+ packet = io.BytesIO()
+ c = canvas.Canvas(packet, pagesize=A4)
+ c.setLineWidth(0.1)
+ c.line(0, a4_height, a4_width, a4_height)
+ c.line(0, half_height, a4_width, half_height)
+ c.line(0, 0, a4_width, 0)
+ c.line(0, a4_height, 0, 0)
+ c.line(half_width, a4_height, half_width, 0)
+ c.line(a4_width, a4_height, a4_width, 0)
+ c.save()
+ new_pdf = pypdf.PdfReader(packet)
+ new_page.merge_page(new_pdf.pages[0])
+ printable_offset_x = printable_margin
+ printable_offset_y = printable_margin * a4_height / a4_width
+ new_page.add_transformation(pypdf.Transformation().scale(printable_scale, printable_scale))
+ new_page.add_transformation(pypdf.Transformation().translate(tx=printable_offset_x, ty=printable_offset_y))
+ x_left_spine_limit = half_width * bonus_shrink_factor
+ x_right_spine_limit = a4_width - x_left_spine_limit
+ if args.analyze or front_page:
+ packet = io.BytesIO()
+ c = canvas.Canvas(packet, pagesize=A4)
+ if args.analyze:
+ # # spine lines
+ c.setLineWidth(0.1)
+ c.line(x_left_spine_limit, a4_height, x_left_spine_limit, 0)
+ c.line(x_right_spine_limit, a4_height, x_right_spine_limit, 0)
+ if front_page:
+ c.setLineWidth(0.2)
+ cut_depth = 19.5 * points_per_mm
+ cut_width = 10.5 * points_per_mm
+ middle_point_depth = 4 * points_per_mm