Быстрый экспорт картинок JPG в PDF

Автор: | 17 января, 2022

Делимся маленькими удобствами подручной автоматизации. Сейчас мы поговорим о такой рутинной операции как экспорт картинок в PDF документ.

При активации блоков мастерским приходится готовить много документов в формате PDF для загрузки в АРМП.

Вначале делается «заявление КСЭП», сканируется, отправляется на портал, затем после первого шага активации СКЗИ распечатывается «расписка КСЭП» её опять подписывает водитель или механик, и она опять сканируется и загружается в АРМП.

Из-за того, что АРМП имеет ограничения на размер загружаемых документов отсканированные файлы приходится вручную обрабатывать, что не всегда удобно.

Для ускорения процедуры на тех компьютерах, где сканер не выдаёт PDF сразу нужного размера (или не хочется лишний разменять настройки сканирования) можно использовать маленький скрипт на пайтоне, который в качестве аргументов принимает названия файлов, немного сжимает их, и создает PDF.

Достаточно просто перетянуть на иконку скрипта файлы и в его каталоге появится новый файл PDF с текущей датой. Это самый простой экспорт картинок в PDF который вы можете себе настроить.

экспорт картинки в pdf простым перетаскиванием
Перетащите и сразу получите результат

Сделать его очень просто, буквально несколько строк кода:

import argparse
from PIL import Image
from time import strftime,localtime

baseheight = 3000

parser = argparse.ArgumentParser()
parser.add_argument('filename', nargs='*')
args = parser.parse_args()

imagelist = []


if args.filename is not None:
    for filename in args.filename:
        image = Image.open(filename)

        wpercent = (baseheight / float(image.size[1]))
        wsize = int((float(image.size[0]) * float(wpercent)))
        imageResized = image.resize((wsize, baseheight), Image.ANTIALIAS)
        imagelist.append(imageResized)
        print(f'-- {filename}')

imageResized.save(f'Готовое {strftime("%Y-%m-%d %H-%M", localtime())}.pdf', save_all=True, append_images=imagelist[1:])

Для того чтобы получить исполняемый exe файл windows можно использовать pyinstaller.

pip install pyinstaller

Затем открыть в терминале папку Scripts (например «PycharmProjects\img2pdf\venv\Scripts»)

и выполнить команду:

pyinstaller --onefile ../../main.py

В каталоге «Scripts\dist» появится готовый исполняемый файл. Всё легко и просто, но может сэкономить драгоценное время ваших сотрудниц! Пользуйтесь!