Перейти к содержимому

MOAB

- - - - -

Редактирование PDF на PHP


  • Войдите, чтобы ответить
Сообщений в теме: 7

#1 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 778 сообщений
2 080

Отправлено 16 Май 2020 - 19:01

Практически все курьерки передают печатные формы накладных в виде PDF файлов, но вот размеры не всегда те которые хотелось бы. Сейчас открываю файл в ADOBE READER и потом при печати уменьшаю масштаб. В общем лишние телодвижения. Можно уменьшить масштаб и при печати из Хрома, но он при этом выравнивает по левому верхнему углу и при этом обрезается часть текста, т.к. в исходном файле недостаточно большие поля.
Поэтому стоит задача, открыть PDF, изменить размер страницы, сохранить PDF. Пробовал FPDF в сочетании с FPDI, но там на новую страницу существующий PDF файл внедряется как картинка, можно масштаб изменить и открыть в браузере, но вот на печати очень заметно, что это уже не PDF, а картинка. Т.к. все слегка замылено и цвета уходят. В общем можно конечно использовать, но как-то не торт.
Может есть все же какие-то инструменты именно для правки PDF как PDF, или может можно как-то средствами PHP задать размер страницы при выводе на печать.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#2 Матумба

Матумба

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 5 186 сообщений
6 598
  • ИзКрии

Отправлено 16 Май 2020 - 19:37

В жопу ПДФ.
Можно вывести в браузере свёрстанную страницу (особый цинизм - сделать это через css и медиатипы) и вызвать javascript::print() ;)
"Они не могут ничего, у них лапки котят"

#3 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 778 сообщений
2 080

TC Отправлено 17 Май 2020 - 10:28

Матумба, возьмем допустим почту. В ответ на запрос по API на формирование заказа они по API отдают уже сформированный PDF файл, причем сформирован он с маленькими полями и на формат A4. Т.е. если его тупо распечатать в хроме то во первых обрежутся края текста, во вторых по размеру он получается больше маленькой почтовой коробки, т.е. его не удобно клеить. Можно конечно печатать через диалоговое окно и менять настройки в драйвере принтера или открывать документ в акробате и там печатать с уменьшением масштаба. Но все это лишние телодвижения. Кроме того для разных бланков нужен разный масштаб, а еще и другие доки приходится печатать, так что дрова принтера по умолчанию лучше не настраивать на печать с масштабированием.
Если бы я верстал страницу, у меня не было бы вопросов, в том же FPDF я бы спокойно задал размер и вывел бы страницу на экран в нужном размере.
А вот как поможет javascript::print() вывести в нужном размере готовый PDF файл я честно говоря не понял, поясни пжл.

ЗЫ И я к сожалению не могу сказать Почте России, СДЭЕку, Боксберри в жопу ПДФ.
Особенно IT отделу СДЭКа, потому что не дай Бог они и в правду начнут что-то переделывать. Они ничего не делая то умудряются наделать кучу ошибок, а уж если делать начнут, то это будет страшное дело. :lol: Сейчас как раз закончил интеграцию по их новому протоколу 2.0, так вместо двух запросов к серверу которые требовались по протоколу 1.5 сейчас приходится делать 5 запросов, причем два из них зациклены, т.е. внутри этих двух делается еще по 5-10 запросов в каждом, пока в ответе наконец-то не приходит нужная инфа. В общем у них получился не API, а платформа для DDoS-атак на собственный сервер.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#4 madcap

madcap

    Мастер

  • Старая гвардия
  • PipPipPipPip
  • 923 сообщений
863
  • ИзМосквы

Отправлено 17 Май 2020 - 23:49

Ну тут только какой-то готовый класс подключать надо или библиотеку для php.
А потом изучать к ней мануалы и экспериментировать.
Вот, что об этом на хабре писали *(еще в 2008 г.) - https://habr.com/ru/post/31438/
Кстати там и выбор размеров задавать можно - А3, А4 и т.п...
Вопрос в том, как у юзера настроен принтер - будет ли он делать масштабирование, цветокоррекцию и пр..

з.ы. И да. Многие чеки на печать выводят в html. Тот же сбер или МосЭнергоСбыт например...

#5 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 778 сообщений
2 080

TC Отправлено 18 Май 2020 - 12:02

madcap, ну тут не юзер печатает,а я. И конкретно почта и сдек отдают в пдф. Т.е. не я их генерирую, мне приходит готовый PDF. И вопрос именно в том какая библиотека позволяет открывать редактировать и сохранять файл. Как уже писал в принципе это можно сделать на связке FPDF в сочетании с FPDI, но тогда PDF получается уже не совсем PDF, потому что там PDF импортируется в новый PDF как картинка со всеми вытекающими.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#6 noob_saibot

noob_saibot

    Продвинутый

  • Участник
  • PipPipPip
  • 164 сообщений
95

Отправлено 19 Май 2020 - 23:39

Почти у всех служб все влезает в формате 4 ярлыка А6 на 1 листе наклеек А4, что можно без труда печатать на любом принтере.

Просмотр сообщенияМатумба (16 Май 2020 - 19:37) писал:

Можно вывести в браузере свёрстанную страницу (особый цинизм - сделать это через css и медиатипы) и вызвать javascript::print() ;)
В дупу все это. Во всех СД в кабинете есть мышенастройка ярлыков перед выводом на печать. Для всякого малого и среднего бизнеса нормальное решение - выводить 4 А6 на А4 и юзать для этого отдельный принтер, в который запихана соответствующая самоклейка. Можно передергивать бумагу) Можно купить принтер этикеток, но придется покупать под широкую ленту - пропорции у ярлыков будут разные и можно сделать упорото мелкий штрих-код, что плохо для считывания сканером на складе СД и будут проблемы. В общем выше описан самый простой и рабочий способ.

#7 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 778 сообщений
2 080

TC Отправлено 20 Май 2020 - 13:10

Просмотр сообщенияnoob_saibot сказал:

Во всех СД в кабинете есть мышенастройка ярлыков перед выводом на печать
Ткните где эта настройка например есть в СДЭКе или Боксберри? У Почты РФ есть, но там не настройка размеров, а выбор либо ярлык для этикеточного принтера + бланк наложки для обычного принтера (размер которого к слову половина А4, что больше мелкой коробки). Либо вариант для обычного принтера, тогда на 1 листе А4 выводится адресный ярлык+бланк наложки. Что свернутое пополам опять же больше размера мелкой коробки. На самоклейке это не напечатаешь потому, что допустим адресный ярлык можно клеить намертво, а вот бланк наложки нет, его получателю отдают для заполнения.. Кроме того самоклейка не так уж и намертво клеится, она без особых проблем отклеивается от картона. Это пройденный этап. Так что описанный вами способ далеко не простой. Даже батарея принтеров не решает вопрос, при выводе на печать разных бланков нужно будет выбирать разные принтеры, что не особо проще, чем открыть файл в адобе и распечатать в масштабе. А в общем как всегда беда с программистами в том, что им говоришь что тебе нужно, а они делают так как им удобнее, на выходе получается никому не нужное говно.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#8 Drakon

Drakon

    Балбес

  • Основатель
  • PipPipPipPipPip
  • 1 988 сообщений
1 535
  • Изmsk

Отправлено 25 Май 2020 - 21:50

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



ПС: совсем не прочь ошибаться, быть может что то изменилось уже ..
недорогие и надежные vds - инструмент поднятия ТИЦ
монетизация с ссылок: тут и тут
...
успевает тот, кто не спешит (с)




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных



© 2020 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal