Небольшая автоматизация почтовых извещений. pdf to png + 2 страницы на лист.

Aug 31, 2018 15:49

В мобильном приложении Почты России есть удобная функция - подготовка извещения.
Формируется готовый бланк, со всеми паспортными данными, в формате pdf.
Далее небольшим скриптом из Tasker переносится в каталог, синхронизуемый Dropbox, и через пару секунд появляется на ПК.
И вот тут был момент, который сильно царапал моего внутреннего перфекциониста и раздражал тараканов.
Извещение располагается на листе вертикально. И в итоге, хотя оно вполне помещается на A5, тратится целый лист A4, после чего ещё надо вырезать извещения.
Уже давно я хотел сделать нормальную печать, по два извещения на лист A4 альбомной ориентации.

Сегодня набралось несколько извещений, и дошли руки до скрипта.
Для корректной работы нужен установленный Ghostscript 32-bit и ImageMagick (можно портабельный, я брал 64-bit).
Скрипт делает преобразование в несколько этапов:
1. Конвертация pdf->png
convert -density 600 -antialias "исходный" -resize 2048x "результат"
2. Обрезка полей справа и снизу
convert -crop 1462x1878+0+0 "исходный" "результат"
3. Объединение по два извещения на один лист.
convert "исходный1" "исходный2" +append "результат"
Если последняя картинка не имеет пары, добавляется просто белый фрагмент справа:
mogrify -extent 2924x1878 "результат"
Полностью скрипт:
https://pastebin.com/sgLbpa1u

Дополнение из конца 2019 года:
Почта России использует кодировку штрих-кода "Interleaved 2 of 5", но если генерировать такой код в Zint (c "--bar-code=3"), он будет совершенно другим и не будет считываться на почте. Скорее всего, дело в контрольном символе.
Но если генерировать с "--bar-code=8" (это "Code 3 of 9 (Code 39)"), то будет то что надо.
Немного переделал скрипт, теперь ему можно скормить список бар-кодов.

cmd, ghostscript, Почта России, imagemagick

Previous post Next post
Up