From 0731eef7835c8b7ec60ef2995a7d9c2a10d84280 Mon Sep 17 00:00:00 2001 From: Selene Corbineau Date: Fri, 29 May 2026 18:42:41 +0200 Subject: [PATCH] Add support for cutting guides --- foliator.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/foliator.py b/foliator.py index e09f405..6dc2676 100755 --- a/foliator.py +++ b/foliator.py @@ -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