Форум программистов, компьютерный форум, киберфорум
Aleks_U
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Оценить эту запись

Объединяем PDF при помощи Python

Запись от Aleks_U размещена 05.08.2019 в 11:21
Метки pdf, python

Уже в который раз возникает необходимость объединить несколько 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()
Размещено в Без категории
Показов 3489 Комментарии 5
Всего комментариев 5
Комментарии
  1. Старый комментарий
    Аватар для ФедосеевПавел
    Для быстрой манипуляции с pdf - перестановка и удаление листов, копирование отдельных листов из другого pdf, объединение нескольких pdf - уже некоторое время использую оффлайн-версию PDF24 Creator ЧАСТНЫЙ. Помимо прочего, устанавливается виртуальный pdf-принтер. Эта программа для Windows. Для Linux, к сожалению, не подскажу.

    Попробуйте посмотреть.
    Запись от ФедосеевПавел размещена 05.08.2019 в 19:00 ФедосеевПавел вне форума
  2. Старый комментарий
    Увы, я не под Windows, но все равно спасибо!
    Запись от Aleks_U размещена 05.08.2019 в 20:02 Aleks_U вне форума
  3. Старый комментарий
    Аватар для Avazart
    Почему увы? Тут скорее на оборот инструментов по более.

    Мое мнение pdf гавеный формат. Хранить лучше в html виде, а по надобности конвернить html в pdf.
    Кстати это можно сделать и с помощью Qt.
    Запись от Avazart размещена 06.08.2019 в 19:24 Avazart вне форума
  4. Старый комментарий
    Может и гавеный, но многие государственные органы предпочитают его как основной формат для предоставления документов в электронном виде. Потому задача манипуляций с ним довольно актуальна. А насчет Qt, думается мне, что гораздо сложнее это будет чем на Python.
    Запись от Aleks_U размещена 07.08.2019 в 12:03 Aleks_U вне форума
  5. Старый комментарий
    Аватар для Avazart
    Поэтому и говорю в pdf экспортировать.

    Нет, к тому же есть PyQt.
    Запись от Avazart размещена 08.08.2019 в 00:17 Avazart вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru