Re: [python-brasil] Impressora USB ( Explicando melhor )

282 views
Skip to first unread message

Osvaldo Santana Neto

unread,
May 25, 2004, 9:24:57 AM5/25/04
to python...@yahoogrupos.com.br
Vamos lá então:

Existem várias maneiras de você implementar um mecanismo de impressão no
Windows. A que eu gosto mais é a de gerar um arquivo.html com o que eu
quero imprimir e chamar um os.system("arquivo.html") que irá abrir o IE
com o seu relatório. A partir daí é só clicar na 'impressora' do IE e
pimba. Você não tem que se preocupar se vai imprimir texto, gráfico,
driver de impressão, porta usb/paralela, nada. Quem se preocupa com isso
é o IE.

A outra alternativa é a que usamos na empresa onde eu trabalho com um
sistema desenvolvido em SmallTalk. A gente monta um arquivo .doc do Word
com um template de relatório e depos com comandos de OLE/DDE a gente
gera o relatório e manda imprimir. O problema dessa solução: precisa ter
um Word instalado na máquina cliente. (Em compensação pode ser possível
fazer algo semelhante a isso com o OpenOffice).

Outro esquema ainda é usar as win32extensions pro Python e usar os
mecanismos nativos do windows para a impressão.

Ainda deve ser possível também associar uma impressora a uma porta do
tipo LPT1: na qual você pode fazer um os.system("copy relatorio.txt LPT1:").

Com relação à conexão na net: Se você deixa o windows configurado
direitinho acho que quando você tenta acessar um host remoto com um ip
de fora da rede a máquina irá abrir uma dialog box solicitando a conexão
com o modem (ou outro mecanismos que esteja sendo usado).

E depois que tudo isso estiver funcionando fica faltando só você
escrever um tutorial legal pra por lá no site :)

Valeu,
Osvaldo

M&M Assessoria em Informática wrote:
> hum..não expliquei direito..to pensando nesses problemas com o windows
> o sistema que vou fazer precisa ser no windows
> então com um sistema em python ( rodando provavelmente no windows 98 ):
> - Vou conseguir imprimir em impressora usb ?
> - Vou conseguir fazer discagem e conexão de net ?
>
> Valeu
>
> Obrigado

--
Osvaldo Santana Neto - aCiDBaSe
>>> icq, url = (11287184, "http://pythonbrasil.com.br")



Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/python-brasil/

<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

Joao S. O. Bueno

unread,
May 27, 2004, 2:12:00 PM5/27/04
to python...@yahoogrupos.com.br
Nossa ..que maluquice.

Bom, há de fato uma solução usando software livre, na qual voce usa a
impressora do windows como se estivesse usando um Sistema livre.

Basta que o usuário tenha instalado em sua maquina o ghostscript - o
interpretador postscript que é usado como driver de impressão nos sisteams
unix.

O GS pode aceitar entrada de um arquivo em postscript - que seria gerado pelo
seus sistema python, e gerar saida para od dispositivo "winprn2" - que é a
impressora padrão configurada no windows. E ai a impressão acontece. O único
problema deste método é que o ghostscript utiliza as configurações padrão de
impressoara - então o usuário tem que alterar quaisquer configurações que
deseje no painel de controle do windows, antes de imprimir. Mas a impressão
em si é transparente.

Para gerar o postscript, você tem opções em python - há uma biblioteca
específica para isso (fico devendo - de uma olhada no google), como pode
gerar o postcript manualmente, o que pode ser um pouco mais complexo,
dependendo do conteúto desejado - ou, por fim, pode dessenhar o que deseja
imprimir num objeto canvas do TKINTER - o módulo TK que já vem com o
python-windows, e solicitar a sua impressão - isso gera um postscript do
conteúdo do canvas.

Falou,

Fabiano Weimar dos Santos

unread,
May 28, 2004, 6:29:36 PM5/28/04
to python-brasil
Sobre essa questao de impressao com Python... bem... nao sei se é
exatamente o que voce quer, mas costumo dizer que o mais simples,
portavel e confortavel, tanto para o usuario final quanto para os
desenvolvedores é fazer com que sua aplicação gere arquivos PDF. Dessa
forma, se o usuário quiser imprimir numa impressora USB, parelela,
laser, mandar por email, aplicar assinatura digital ou seja la o que
for, basta ele fazer isso da forma que o usuario esta habituado a fazer
no sistema operacional dele, seja windows, linux ou macosX.

Nao sei se a ideia se encaixa, mas se for o caso, recomendo uma
olhadinho na biblioteca reportlab e no platipus (parte integrante do
reportlab).

Agora, se voce gosta do OpenOffice e prefere criar documentos editaveis
a arquivos PDF (prontinhos para impressao), tem a API python-uno que
permite a criacao de documentos usando python. Minha sincera opniao
sobre essa API e: cara... tem que ser "escovador de bit" pra usar esse
troco (eta API chata); mas funciona muuuuuito bem.

Em Qui, 2004-05-27 às 15:12, Joao S. O. Bueno escreveu:
> > A outra alternativa é a que usamos na empresa onde eu trabalho com um
> > sistema desenvolvido em SmallTalk. A gente monta um arquivo .doc do Word
> > com um template de relatório e depos com comandos de OLE/DDE a gente
> > gera o relatório e manda imprimir. O problema dessa solução: precisa ter
> > um Word instalado na máquina cliente. (Em compensação pode ser possível
> > fazer algo semelhante a isso com o OpenOffice).

--
Fabiano Weimar dos Santos <xi...@xiru.org>
[Xiru].org <http://xiru.org>

signature.asc
Reply all
Reply to author
Forward
0 new messages