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
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,
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>