автоматически печатать большое количество PDF-файлов с помощью laravel в фоновом режиме

Мы запускаем наше приложение с Laravel 5.4 с worker, redis и sqs для наших заданий.

Теперь у нас есть запрос функции, где нам нужно напечатать большое количество билетов (около 3000 билетов) в виде пакета. Билеты создаются в формате PDF (размер файла: 500 КБ на билет). Что бы добавить до 1,5gb для 1 партии.

Наша идея на данный момент:

Когда пользователь нажимает кнопку "Создать заявки", запускается событие, которое создает все PDF-файлы в качестве фонового задания и сохраняет все файлы в корзине s3, заархивирует их, и пользователь получит уведомление, когда все будет готово. пользователь получает ссылку для загрузки ZIP-файла и может распечатать его.

При их загрузке пользователю всегда необходимо выбрать некоторое количество билетов и распечатать их. Это не предпочтительное решение.

Есть ли другие возможности?

Могу ли я отправить такое задание непосредственно на принтер пользователя, чтобы пользователю не приходилось сидеть перед компьютером, пока задание на печать не будет выполнено?


person Michael Ploeckinger    schedule 10.04.2018    source источник
comment
Подключен ли принтер этого клиента к Интернету с помощью API или службы?   -  person Nathan Heffley    schedule 10.04.2018
comment
Я так не думаю. Но если это поможет, мы постараемся порекомендовать нашим клиентам новые принтеры с такой возможностью.   -  person Michael Ploeckinger    schedule 10.04.2018
comment
Я не знаю, есть ли такие принтеры, вам нужно провести некоторое исследование. В настоящее время им придется дождаться загрузки, а затем отправить их на принтер вручную.   -  person Nathan Heffley    schedule 10.04.2018
comment
Я видел, например, что у принтеров HP есть какой-то электронный сервис, где их можно подключить к веб-сервису. Мне также нужно копаться в этом дальше.   -  person Michael Ploeckinger    schedule 10.04.2018
comment
Ваш заголовок и вопрос не очень хорошо совпадают. Читая заголовок, я ожидал увидеть жалобу на медленное создание PDF-файлов, но ваш вопрос касается автоматической отправки заданий на печать на принтер...   -  person MonkeyZeus    schedule 10.04.2018
comment
Всегда ли целевой принтер находится в офисе? Ожидал ли пользователь когда-нибудь, что это будет распечатано на его домашнем принтере или на каком-нибудь локальном принтере вне офиса?   -  person MonkeyZeus    schedule 10.04.2018
comment
@MonkeyZeus: я немного сменил тему, спасибо. целевой принтер всегда будет дома или в офисе. подключен через usb к ноутбуку/ПК, над которым они работают.   -  person Michael Ploeckinger    schedule 10.04.2018


Ответы (1)


Если ваш принтер поддерживает облачную печать Google, вы можете отправлять задания на печать через API облачной печати Google. Дополнительную информацию об API облачной печати Google см. в API облачной печати Google. Вы также можете подготовить «классический» принтер для облачной печати Google, см. здесь.

Другой вариант — Printnode, но это платный план.

person Jacob    schedule 10.04.2018
comment
Спасибо. Мы посмотрим на это! - person Michael Ploeckinger; 10.04.2018