Add support for cutting guides

This commit is contained in:
Selene Corbineau 2026-05-29 18:42:41 +02:00
parent e1290687a4
commit 0731eef783

View file

@ -2,6 +2,8 @@
import argparse
from pypdf import PaperSize, PdfReader, PdfWriter, Transformation
from pypdf.annotations import Line
from pypdf.generic import ArrayObject, FloatObject, NameObject
import math
# Interprets input_pdf as a list of A6 pages, and appends to append_to with
@ -50,6 +52,14 @@ def blit_to_A4(input_pdf, append_to=PdfWriter()):
height=PaperSize.A4.height)
back_page = writer.add_blank_page(width=PaperSize.A4.width,
height=PaperSize.A4.height)
midline = Line(rect = (0, PaperSize.A4.height/2, PaperSize.A4.width, PaperSize.A4.height/2),
p1=(10, PaperSize.A4.height/2),
p2=(PaperSize.A4.width-10, PaperSize.A4.height/2))
midline.flags = 4 # print the midline
midline[NameObject("/C")] = ArrayObject([FloatObject(0.5)])
writer.add_annotation(front_page, midline)
front = input_pdf.pages[k]
back = input_pdf.pages[k+1] if (k+1<L) else create_blank_page(None, PaperSize.A5.width, PaperSize.A5.height)