
Estou usando o Xubuntu 16.04. Não consegui configurar corretamente os drivers de uma Xerox 7545 para imprimir com uma configuração de conta de grupo padrão. No entanto, consigo imprimir salvando meu documento como PDF. Então posso acessar o endereço IP da impressora no navegador. Lá posso enviar um formulário da web para impressão.
Gostaria de integrar um comando cURL em um script para tornar o processo de impressão mais eficiente. Estou confiante de que minha sintaxe cURL é boa. (Consegui imprimir com êxito em uma impressora diferente.)
curl -F "frmFileUpload=@/home/brock/Desktop/example.pdf" -F "frmUserId=####" http://###.##.##.###/print/print.php?submitted=true
No entanto, acredito que meu trabalho de impressão continua sendo excluído. Na página da Web onde você envia o trabalho de impressão, há esta mensagem: "Observação: aguarde a janela de confirmação do envio do trabalho antes de navegar para outra página. Caso contrário, o trabalho será excluído."
Quando eu envio na página da web, a página é carregada (para o formulário ser enviado). Em seguida, uma pequena caixa de diálogo aparece:
A página de envio tem duas <form></form>
seções. O seguinte contém o campo de upload de arquivo.
<form enctype="multipart/form-data" action="/upload/xerox.set" method="post">
A seguir contém o campo ID do usuário, número de cópias, etc.
<form action="#" method="post">
Aqui está o botão enviar.
<button type="button" onclick="SubmitForm();">Submit Job</button>
Aqui estáo código fontepara a SubmitForm()
função. A função começa na linha 144 e termina na linha 482.
Quando envio o formulário usando cURL e depois o executo, echo $?
ele não retorna 0
nenhum erro. Tentei usar os outros dois action
URLs, bem como o URL da própria página. O URL no comando acima é feito para inspecionar o elemento e visualizar a guia de rede durante o envio.
Acho que o problema é este: "Observação: aguarde a janela de confirmação do envio do trabalho antes de navegar para outra página. Caso contrário, o trabalho será excluído."
Desativei o javascript no meu navegador. Tentei enviar e o envio não foi carregado. Javascript em execução na página de envio é obviamente um requisito para o envio. Existe uma maneira de contornar isso? Quaisquer comentários ou ideias são apreciados. Obrigado
Responder1
Aquele pop-up dizendo que "O trabalho foi enviado para impressão" é umAlerta JavaScriptpop-up e não há como confirmar o alerta por meio de JS, embora você possa substituir a ação de alerta padrão - consulteaqui.
Vejo que você tentou obter o URL da ação do formulário e isso me deu uma ideia: você pode encontrar a definição da função que o botão enviar chama? A ação do botão de envio onclick
é chamada SubmitForm()
, então veja se você consegue encontrá-la no código-fonte e reproduzi-la em cURL.