Impressão do Windows Xp

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Darc
Usuário Nível 2
Usuário Nível 2
Mensagens: 73
Registrado em: 09 Jul 2004 12:41
Localização: Juiz de Fora

Impressão do Windows Xp

Mensagem por Darc »

Bom dia.

Tenho um sistema, onde os relatórios são gerados para arquivo (TXT) e abro o Wordpad para visualização e impressão. Até hoje estava funcionando tudo normalmente, no Windows 98, porém no Windows XP, sempre que mando imprimir solta uma página antes da impressão. Alguém pode me ajudar?

Obrigada.
Darc
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Que código você está usando para enviar o TXT para o WordPad?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Darc
Usuário Nível 2
Usuário Nível 2
Mensagens: 73
Registrado em: 09 Jul 2004 12:41
Localização: Juiz de Fora

Re: Impressão do Windows Xp

Mensagem por Darc »

O código é:

SWPRUNCMD("\EXE\WORDPAD.EXE \TXT\RELAT.TXT")
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Re: Impressão do Windows Xp

Mensagem por rubens »

Darc..

Toda impressao que voce manda solta essa pagina?? tipo se mandar o windows imprimir solta essa pagina??

Se sim, verifique na configuração da impressora se não está configurada para imprimir uma pagina antes da impressão.. já que mudou do win98 para xp, teve que reinstalar a imp.. de repente esta opçao ficou setada...
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
pringles
Usuário Nível 3
Usuário Nível 3
Mensagens: 278
Registrado em: 29 Mai 2007 16:35
Localização: Botucatu-SP

Re: Impressão do Windows Xp

Mensagem por pringles »

Por falar em impressão no Windows XP, eu mando a impressão direto para a porta LPT1.
No XP, essa impressão fica salva em memória, mesmo você desligando a impressora, quando ela é ligada a impressão continua, ainda que se reinicie o computador.
Vocês sabem algum jeito de cancelar essa impressão?
CLIPPER 5.2 / BLINKER
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

O driver da sua impressora conectada à LPT deve estar enviando a impressão para o spool. Mude a configuração para imprimir diretamente na impressora.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Cancelar impressão do Windows Xp

Mensagem por Pablo César »

Cancelar os jobs da fila impressão, é um dos serviços mais chato que tem, pois demanda muita manobra e muita paciência. Quantas vezes fiquei ligando e desligado a impressora para esvaziar o buffer da impressora, porque ora mesmo tendo cancelado o job na fila de impressão, esta fica e fica aparecendo excluindo... e nada !

Agora pouco acabei descobrindo algo, que precisa ser re-avaliado mas parece funcionar.

A grande culpa em todo esse processo, é a impressão que é gravada em forma de arquivo pelo SO para posteior enfileiramento e subsequente impressão através do SPOOLSV.EXE. Esse arquivos se encontram (ao menos no meu PC) na pasta C:\WINDOWS\SYSTEM32\SPOOOL\PRINTERS e são gravados com a sigla "FP" e o numero sequencial 0000000 com as extensões shd e spl. (exemplo: fp0000000.shd, fp0000001.shd...)

Na minha primeira tentativa tentei apagar esses arquivos (são dois que o SO cria para cada job), mas só foi possivel deletar quando parei o serviço do spooler de impressão (claro estes arquivos ficam em aberto lidos pelo SPOOLSV.EXE). Cómo fiz isso ? Para quem quiser experimentar:

- Botão direito do mouse no ícone "Meu Computador"
- Gerenciar
- Serviços e aplicativos
- Botão direito do mouse na opção "Spooler de impressão"
- Parar
- <deletar aqueles arquivos da pasta C:\WINDOWS\SYSTEM32\SPOOL\PRINTERS> => DEL *.*
- Iniciar

E não vai ver que funcionou ? ! Se houvesse outra forma mais rápida de parar e iniciar o spooler, na linha de comando seria uma mão na roda. Quem sabe alguma função em C através de alguma API ??? hihih (essa foi uma indireta, não é Maligno ?... hihihi)
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
pringles
Usuário Nível 3
Usuário Nível 3
Mensagens: 278
Registrado em: 29 Mai 2007 16:35
Localização: Botucatu-SP

Re: Impressão do Windows Xp

Mensagem por pringles »

Grande Pablo !!!
Funcionou !!!
Valeu pela ajuda pessoal !!!
CLIPPER 5.2 / BLINKER
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Impressão do Windows Xp

Mensagem por Pablo César »

Quê bom que resolveu também para você ! Pena que o procedimento de desativar/ativar o SPOOLER não é uma operação simples e rápida. Bom seria encontrar algum comando do SO ou até mesmo fazer um aplicativo para desabilitar o spooler e deletar todos os arquivos da fila de impressão. Mas valeu como aprendizado.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
pringles
Usuário Nível 3
Usuário Nível 3
Mensagens: 278
Registrado em: 29 Mai 2007 16:35
Localização: Botucatu-SP

Re: Impressão do Windows Xp

Mensagem por pringles »

Mas até que num dá tanto trabalho...
Você finaliza o processo SPOOLSV.EXE e depois apaga os arquivos C:\WINDOWS\SYSTEM32\SPOOOL\PRINTERS, isso pode ser feito até por arquivos .bat.
CLIPPER 5.2 / BLINKER
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Eliminar arquivos da fila de Impressão - WinXp

Mensagem por Pablo César »

Pois é... o processo de parar o spooler mediante o "services.msc" (Menú Iniciar/Executar/services.msc) e clicar em parar spooler de impressão, não é uma coisa prática. Mas achei na WEB uma dica muito valiosa, principalmente se queremos fazer uma arquivo batch como você indicou. Utilizando o comando NET STOP SPOOLER e NET START SPOOLER faz o spooler parar e iniciar. Portanto ja temos algo de utilidade no nosso alcance, claro que esta solução é somente para o WINXP. Mas ja é um avanço, desta forma nós mesmos poderiamos disponibilizar uma opção no sistema para matar todos os ojbs de impressão do PC local.

Desta forma pode fazer um arquivo BATCH, por exemplo:

Código: Selecionar todos

@ECHO OFF
NET STOP SPOOLER
DEL C:\WINDOWS\SYSTEM32\SPOOL\PRINTERS\*.* /Q
NET START SPOOLER
O parâmetro /Q na linha onde é utilizado o DEL, serve para silenciar o pedido de confirmação. Isto é, irá apagar sem perguntar: Tem certeza ?. Se alguém preferir solicitar a pergunta é só colocar o /P.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
pringles
Usuário Nível 3
Usuário Nível 3
Mensagens: 278
Registrado em: 29 Mai 2007 16:35
Localização: Botucatu-SP

Re: Impressão do Windows Xp

Mensagem por pringles »

Maravilha !!!
O problema era quando o usuário mandava imprimir relatórios grandes pelo sistema e queria cancelar a impressão...
Agora pode-se fazer o seguinte: você cria um BATCH para executar seu programa e no final do batch coloque as linhas postadas pelo Pablo. Feito isso, é só o usuário fechar o sistema (BATCH) e conseguirá cancelar a impressão...
CLIPPER 5.2 / BLINKER
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Cancela Impressão no Windows

Mensagem por Pablo César »

Pelo que me parece, tem mais outra forma de cancelar o job e funciona tanto para XP como para 98. É o comando NET PRINT, só que parece precisar do número do job e não sei onde obter essa informação. Eu sempre procuro uma solução para as outras versões do Windows, mas pelo que me consta no WIN98, não existe tanto problema como no XP para cancelar a impressão na MARRA.

Diria mais: Um desses arquivos com extensão .SPL, quando são impressão de arquivo do tipo TEXTO, poderiamos até fazer um visualizador de jobs de impressão e selecionar quais jobs excluir. Desta forma fariamos um gerenciador próprio de impressão. É só abrir um dos arquivos com extensão SPL (se for impressão do tipo TEXTO) após parar o SPOOLER, que podemos visualizar seu conteúdo.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder