Página 1 de 2
Problema com serviço de impressão
Enviado: 21 Fev 2024 10:41
por marco.prodata
Caros,
Tenho uma aplicação que roda em um servidor Linux e é acessada via Putty. Então desenvolvi um pequeno serviço de impressão para rodar no Windows e receber dados para impressão. E estou com 2 problemas com o serviço, o primeiro é que não consigo iniciar o serviço pela linha de comando, só consigo fazer direto do painel de serviços.
A segunda é que o servidor recebe os dados para impressão, processa tudo como se fosse imprimir, gera os dados na fila de impressão, mas não sai nada na impressora (estou testando com impressora PDF).
Se alguém tiver alguma sugestão para resolver o problema agradeço.
Anexei os arquivos para não ficar muito longa a mensagem.
Problema com serviço de impressão
Enviado: 21 Fev 2024 10:53
por Itamar M. Lins Jr.
Olá!
estou testando com impressora PDF
PDF abre uma tela pra perguntar o nome e onde vai salvar.
No seu código vc previu essa situação ?
Saudações,
Itamar M. Lins Jr.
Problema com serviço de impressão
Enviado: 21 Fev 2024 11:28
por marco.prodata
Itamar M. Lins Jr. escreveu:Olá!
estou testando com impressora PDF
PDF abre uma tela pra perguntar o nome e onde vai salvar.
No seu código vc previu essa situação ?
Saudações,
Itamar M. Lins Jr.
Aqui ele já abre o PDF no navegador, qualquer outra impressão que faço para essa impressora, ele já gera o PDF e abre no navegador que é o leitor padrão de PDF no meu computador.
Problema com serviço de impressão
Enviado: 21 Fev 2024 12:54
por Itamar M. Lins Jr.
Olá!
já gera o PDF
Gera com qual nome ?
Saudações,
Itamar M. Lins Jr.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:21
por marco.prodata
Gera um arquivo temporário como "file:///C:/Users/marco/AppData/Local/Temp/PDFCreator/Temp/Job_tempsave_3awrjko1/P%C3%A1gina%20de%20teste.pdf"
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:27
por Itamar M. Lins Jr.
Olá!
Interessante, não sabia que ele criava o arquivo sem informar nome e lugar.
Saudações,
Itamar M. Lins Jr.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:28
por JoséQuintas
marco.prodata escreveu: o primeiro é que não consigo iniciar o serviço pela linha de comando, só consigo fazer direto do painel de serviços.
Pode colocar no agendador de tarefas, ou se permitir pelo SC.EXE
marco.prodata escreveu:A segunda é que o servidor recebe os dados para impressão, processa tudo como se fosse imprimir, gera os dados na fila de impressão, mas não sai nada na impressora (estou testando com impressora PDF)
Talvez shellexecute com opção PRINT ?
Lembrando que depende da impressora padrão do servidor.
Não olhei os fontes.
Lembrando também: o servidor vai começar a rodar assim que ver o arquivo. Não pode fazer parcial, talvez até primeiro copiar com outro nome e depois renomear, assim quando o servidor enxergar vai estar completo.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:34
por JoséQuintas
Itamar M. Lins Jr. escreveu:Interessante, não sabia que ele criava o arquivo sem informar nome e lugar.
A geração de PDF já passou por várias mudanças.
Lembro que no inícioi aparecia antes de terminar, isso era problema porque ao enviar por email, poderia estar incompleto.
Lembro também que antes não pedia nome, mas agora pede sobre onde quer salvar o PDF.
Mas pelo que ele mostrou, é PDFCreator, esse dá pra configurar pasta, nome, etc.
Usei muito no meu servidor, quando usava UNIDANFE pra gerar PDF de fornecedor.
Tinha licença de UNIDANFE, mas era presa ao CNPJ do emitente, não dava pra usar pra notas de terceiros.
PDFCreator foi a solução pra época.
Depois fizeram contribuição de fonte pra criar PDF pra sefazclass, a partir daí não precisei mais de pdfcreator nem unidanfe.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:42
por Itamar M. Lins Jr.
Olá!
Bom eu trabalho com HTML e os navegadores fazem o serviço.
Como o HTML já tem nome e está em algum lugar, eles salvam em PDF se for o caso ou simplesmente só imprime mesmo e pronto, nem precisar de PDF.
Saudações,
Itamar M. Lins Jr.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:48
por JoséQuintas
Tem outra questão nisso de serviço:
o serviço roda independente, não fica preso a nenhum usuário, exceto se for definido.
Por acaso disco e impressora ficam visíveis pra esse serviço ?
Lembrando que o agendador de tarefas também tem isso, de definir usuário.
Pode configurar lá pra iniciar a tarefa ao ligar o computador, ou todo dia num horário, etc.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:53
por marco.prodata
Itamar M. Lins Jr. escreveu:Olá!
Bom eu trabalho com HTML e os navegadores fazem o serviço.
Como o HTML já tem nome e está em algum lugar, eles salvam em PDF se for o caso ou simplesmente só imprime mesmo e pronto, nem precisa de PDF.
Saudações,
Itamar M. Lins Jr.
Então, no meu caso eu acesso o aplicativo via putty, e o serviço abre uma porta pra receber os dados via putty, e processa-los localmente, e no caso, após receber os dados eu faço o processo de impressão normal usando winprint para imprimir na impressora que for selecionada, serve para imprimir em qualquer impressora, só estou testando local com o PDFCreator, mas é para imprimir em qualquer impressora.
Problema com serviço de impressão
Enviado: 21 Fev 2024 14:56
por marco.prodata
JoséQuintas escreveu:Tem outra questão nisso de serviço:
o serviço roda independente, não fica preso a nenhum usuário, exceto se for definido.
Por acaso disco e impressora ficam visíveis pra esse serviço ?
Lembrando que o agendador de tarefas também tem isso, de definir usuário.
Pode configurar lá pra iniciar a tarefa ao ligar o computador, ou todo dia num horário, etc.
O serviço que criei ele tem duas funções básicas, uma que captura as impressoras que tem instalado local e devolve para o aplicativo que invocar essas informações, e outro que recebe um array de dados, e processa a impressão utilizando a winprint, o serviço tem acesso sim ao disco e impressora, tanto que retorna corretamente a lista de impressoras, e grava corretamente um log mostrando os dados que estão chegando, e como disse, deixando a fila da impressora aberta, ele pisca como se tivesse recebendo as informações, mas não termina o processo de impressão.
Problema com serviço de impressão
Enviado: 21 Fev 2024 15:02
por Itamar M. Lins Jr.
Olá!
Essa impressora está compartilhada ?
Pode ser o tal erro 0x0000011b e outros que existem no windows.
Tem atualização do windows que coloca atributos não sei onde que vira e mexe tenho que roda o fix desse erro.
Saudações,
Itamar M. Lins Jr.
Problema com serviço de impressão
Enviado: 21 Fev 2024 15:03
por marco.prodata
JoséQuintas escreveu:
Pode colocar no agendador de tarefas, ou se permitir pelo SC.EXE
Então, quando ele instala o serviço, ele já marca para iniciar automaticamente, então não precisa de mexer no gerenciador de tarefas, se reiniciar o computador ele levanta o serviço, o que eu gostaria era de assim que instalar o serviço, ele já startar pelo código, ou mesmo se eu desse o comando manual ele startasse, mas fica acusando erro: "Erro executando o modo (service): 1063 O processo do serviço nÒo pôde se conectar ao controlador do serviço."
JoséQuintas escreveu:Talvez shellexecute com opção PRINT ?
Lembrando que depende da impressora padrão do servidor.
Não olhei os fontes.
então, o serviço ele recebe um array de dados, que seriam as linhas a serem impressas, e como já tenho o array pronto, não preciso gerar um arquivo do lado de cá na máquina onde o serviço está instalado para imprimir, só percorre-lo e ir mandando para impressora.
O meu ambiente é o seguinte, as estações conectam no servidor que fica na nuvem via putty, o serviço fica em cada estação com uma porta aberta para comunicação com o putty e tem duas funções, devolver para o aplicativo que tá rodando no putty, quais impressoras tem instalação na estação local, e receber um array de dados para imprimir, basicamente isso.
O serviço está devolvendo a lista de impressoras corretamente, e está recebendo o array de dados e percorrendo o mesmo corretamente, dá pra ver pelos logs, só a impressão mesmo que não está ocorrendo, apesar de chegar a piscar na fila.
Problema com serviço de impressão
Enviado: 21 Fev 2024 15:05
por marco.prodata
Itamar M. Lins Jr. escreveu:Olá!
Essa impressora está compartilhada ?
Saudações,
Itamar M. Lins Jr.
Ela não precisa estar compartilhada, pq no fim das contas quem vai fazer a impressão é a máquina local.