pdf магия
В почте россии прогресс не стоит на месте и с запуском otpravka.pochta.ru взамидействие с ними становиться всё проще. Но тут неожиданно вылезла проблема: документы для печати либо по одному можно скачать или в архиве для всё партии форма 7 и форма 112 на одном бланке А4. А нужно было, чтобы ф7 печаталось на наклейках и по 4 штуки на одном листе.
Т.е. сначала нужно разделить каждый лист на 2 части, взять нужную половину, склеить по 2 на листе и затем результат опять склеить по 2 на листе. Локально ps2pdf отрабатывал как надо, а на сервере результат вылазил за границы листа, пришлост добавить -g5950x8420.
Получился такой однострочник.
1 2 3 4 5 6 | unzip -p arc.zip F7_F112.pdf \ | gs -o %stdout -q -sDEVICE=pdfwrite -g4210x5950 -c "< </PageOffset [-421 0]>> setpagedevice" -f - \ | pdf2ps -dLanguageLevel=3 - - \ | psnup -q -2 -Pa5 -pa4 \ | psnup -q -2 -Pa4 -pa4 \ | ps2pdf -g5950x8420 -dCompatibility=1.4 - print_A4.pdf |
и для формы ф112
1 2 3 4 5 | unzip -p arc.zip F7_F112.pdf \ | gs -o %stdout -sDEVICE=pdfwrite -q -g4210x5950 -c "< </PageOffset [0 0]>> setpagedevice" -f - \ | pdf2ps -dLanguageLevel=3 - - \ | psnup -q -2 -Pa5 -pa4 \ | ps2pdf -g5950x8420 -dCompatibility=1.4 - print_A4.pdf |