blob: 654d0a3ec97cedf05935be23c9621d7d3b5473ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#!/usr/bin/env python3
# Generates a PDF file from slides for easy note taking
# David Penkowoj, 2023-04-17
import os
import sys
import getpass
import pikepdf
import subprocess
file = sys.argv[1]
filename = os.path.splitext(file)[0]
key = getpass.getpass()
width = 191
height = width / 4 * 3
tmpfile = "/tmp/reMergeScaled.pdf"
command = f"cpdf -scale-to-fit \"{width}mm {height}mm\" {file} owner={key} -o {tmpfile}"
subprocess.run(command, shell=True)
pdf = pikepdf.Pdf.open("/home/me/documents/remarkable/pdotsa4.pdf")
background = pdf.pages[0]
overlay_pdf = pikepdf.Pdf.open("/tmp/reMergeScaled.pdf")
for overlay in overlay_pdf.pages:
pdf.pages.append(background)
x2 = background.MediaBox[2]
y2 = background.MediaBox[3]
x1 = x2 - (overlay.MediaBox[2] - overlay.MediaBox[0])
y1 = y2 - (overlay.MediaBox[3] - overlay.MediaBox[1])
rect = pikepdf.Rectangle(x1, y1, x2, y2)
pdf.pages[-1].add_overlay(overlay, rect, shrink=False, expand=False)
del pdf.pages[0]
pdf.save(f"{filename}_notes.pdf")
subprocess.run(f"rm -rf {tmpfile}", shell=True)
|