import pypdf
except ImportError:
fail_with_msg("Can't run without pypdf installed.")
-try:
- from reportlab.lib.pagesizes import A4
-except ImportError:
- fail_with_msg("Can't run without reportlab installed.")
# some constants
-A4_WIDTH, A4_HEIGHT = A4
POINTS_PER_CM = 10 * 72 / 25.4
+A4_WIDTH = 21 * POINTS_PER_CM
+A4_HEIGHT = 29.7 * POINTS_PER_CM
+A4 = (A4_WIDTH, A4_HEIGHT)
CUT_DEPTH = 1.95 * POINTS_PER_CM
CUT_WIDTH = 1.05 * POINTS_PER_CM
MIDDLE_POINT_DEPTH = 0.4 * POINTS_PER_CM
def main():
args = parse_args()
+ if args.nup4:
+ try:
+ import reportlab
+ except ImportError:
+ raise ImportError("-n: need reportlab library installed for --nup4")
# select pages from input files
pages_to_add = []
print("merged page number %d (of %d)" % (page_count, len(pages_to_add)))
i += 1
if i > 3:
- from reportlab.pdfgen import canvas
if args.analyze:
# borders
packet = io.BytesIO()
- c = canvas.Canvas(packet, pagesize=A4)
+ c = reportlab.pdfgen.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)
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)
+ c = reportlab.pdfgen.canvas.Canvas(packet, pagesize=A4)
if args.analyze:
# # spine lines
c.setLineWidth(0.1)
if __name__ == "__main__":
try:
main()
- except ValueError as e:
+ except (ImportError, ValueError) as e:
fail_with_msg(e)