
Estoy usando Xubuntu 16.04. No pude configurar correctamente los controladores para que una Xerox 7545 imprima con una configuración de cuenta de grupo predeterminada. Sin embargo, puedo imprimir guardando mi documento como PDF. Luego puedo ir a la dirección IP de la impresora en el navegador. Allí puedo enviar un formulario web para imprimir.
Me gustaría integrar un comando cURL en un script para que el proceso de impresión sea más eficiente. Estoy seguro de que mi sintaxis de cURL es buena. (Pude imprimir correctamente en una impresora diferente).
curl -F "frmFileUpload=@/home/brock/Desktop/example.pdf" -F "frmUserId=####" http://###.##.##.###/print/print.php?submitted=true
Sin embargo, creo que mi trabajo de impresión se sigue eliminando. En la página web donde envía el trabajo de impresión, aparece este mensaje: "Nota: espere la ventana de confirmación de envío del trabajo antes de navegar a otra página. De lo contrario, el trabajo se eliminará".
Cuando envío en la página web, la página se carga (para que se envíe el formulario). Luego aparece un pequeño cuadro de diálogo:
La página de envío tiene dos <form></form>
secciones. A continuación se incluye el campo de carga de archivos.
<form enctype="multipart/form-data" action="/upload/xerox.set" method="post">
Lo siguiente contiene el campo ID de usuario, número de copias, etc.
<form action="#" method="post">
Aquí está el botón de enviar.
<button type="button" onclick="SubmitForm();">Submit Job</button>
Aquí estáel código fuentepara la SubmitForm()
función. La función comienza en la línea 144 y termina en la línea 482.
Cuando envío el formulario usando cURL y luego echo $?
lo ejecuto 0
, no aparece ningún error. Intenté usar las otras dos action
URL, así como la URL de la página misma. La URL en el comando anterior proviene de inspeccionar el elemento y ver la pestaña de red durante el envío.
Creo que el problema es el siguiente: "Nota: espere la ventana de confirmación de envío del trabajo antes de navegar a otra página. De lo contrario, el trabajo se eliminará".
Deshabilité javascript en mi navegador. Luego intenté enviarlo y el envío no se cargaba. La ejecución de Javascript en la página de envío es obviamente un requisito para su envío. ¿Hay alguna forma de evitar esto? Cualquier comentario o idea se agradece. Gracias
Respuesta1
Esa ventana emergente que dice "El trabajo ha sido enviado para impresión" es unaalerta de javascriptventana emergente y no hay forma de reconocer la alerta a través de JS, aunque puede anular la acción de alerta predeterminada; consulteaquí.
Veo que intentaste obtener la URL de acción del formulario, y eso me dio una idea: ¿puedes encontrar la definición de la función que llama el botón de enviar? La acción del botón de envío onclick
se llama SubmitForm()
, así que vea si puede encontrarla en el código fuente y reproducirla en cURL.