Уже в который раз возникает необходимость объединить несколько PDF в один, и в который раз выясняется, что доступные инструменты для этого либо доступны исключительно онлайн и требуют загрузки исходных файлов на некий сторонний ресурс, либо стоят денег, как Adobe Acrobat Reader. Бесплатные онлайн сервисы как правило отлично работают, но как-то немного стрёмно грузить туда сканы паспорта или другие чувствительные документы. Решение нашлось неожиданно и потребовало чуть-чуть программирования
Python | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| from PyPDF2 import PdfFileMerger, PdfFileReader
file_path = '/path/to/files/'
file_names = [
'file1.PDF',
'file2.PDF',
'file3.PDF'
]
merger = PdfFileMerger()
for filename in file_names:
merger.append(PdfFileReader(file(file_path + filename, 'rb')))
merger.write(file_path + "merged.pdf") |
|
Примерно также просто решается и задаче преобразования картинки в PDF
Python | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| import img2pdf
from PIL import Image
file_path = '/path/to/files/'
images = [
"image1.jpeg",
"image2.jpeg"
]
for image_file in images:
image = Image.open(file_path + image_file)
pdf_bytes = img2pdf.convert(image.filename)
file = open(file_path + image_file + ".PDF", "wb")
file.write(pdf_bytes)
image.close()
file.close() |
|
|