Я использую Xubuntu 16.04. Мне не удалось правильно настроить драйверы для Xerox 7545 для печати с настройкой учетной записи группы по умолчанию. Однако я могу печатать, сохраняя свой документ в формате PDF. Затем я могу перейти на IP-адрес принтера в браузере. Там я могу отправить веб-форму для печати.

Я хотел бы интегрировать команду cURL в скрипт, чтобы сделать процесс печати более эффективным. Я уверен, что мой синтаксис cURL хорош. (Мне удалось успешно распечатать на другом принтере.)

curl -F "frmFileUpload=@/home/brock/Desktop/example.pdf" -F "frmUserId=####" http://###.##.##.###/print/print.php?submitted=true

Тем не менее, я считаю, что мое задание на печать продолжает удаляться. На веб-странице, где вы отправляете задание на печать, появляется следующее сообщение: «Примечание. Прежде чем перейти на другую страницу, подождите, пока не появится окно подтверждения отправки задания. В противном случае работа будет удалена. "

Когда я отправляю на веб-страницу, страница загружается (для отправки формы). Затем появляется небольшое диалоговое окно:

Страница отправки имеет два раздела <form></form> . Следующее содержит поле загрузки файла.

<form enctype="multipart/form-data" action="/upload/xerox.set" method="post">

Это следующее содержит поле User ID, количество копий и т.д.

<form action="#" method="post">

Вот кнопка отправки.

<button type="button" onclick="SubmitForm();">Submit Job</button>

Вот исходный код для функции SubmitForm() . Функция начинается в строке 144 и заканчивается в строке 482.

Когда я отправляю форму, используя cURL, и позже запускаю echo $? возвращает 0 без ошибок. Я попытался использовать два других URL-адреса action а также URL-адрес самой страницы. URL в приведенной выше команде относится к элементу inspect и просмотру вкладки сети во время отправки.

Я думаю, что проблема заключается в следующем: «Примечание. Пожалуйста, подождите, пока не появится окно подтверждения приема на работу, прежде чем перейти на другую страницу. В противном случае работа будет удалена. "

Я отключил JavaScript в своем браузере. Затем я попытался представить, и представление не будет загружено. Javascript, работающий на странице отправки, очевидно, является необходимым условием для отправки. Это можно обойти? Любые комментарии или идеи приветствуются. Спасибо

1 ответ1

1

Это всплывающее сообщение о том, что "задание отправлено на печать", представляет собой всплывающее окно с предупреждением JavaScript , и нет способа подтвердить предупреждение через JS, хотя вы можете переопределить действие предупреждения по умолчанию - см. Здесь.

Я вижу, что вы пытались получить URL-адрес действия из формы, и это дало мне идею - вы можете найти определение функции для функции, которую вызывает кнопка отправки? Действие onclick кнопки submit называется SubmitForm() , поэтому посмотрите, сможете ли вы найти его в исходном коде и воспроизвести в cURL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .