• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

cheires

Programa para impressão

24 mensagens neste tópico

Olá a todos.

Gostaria de fazer um programa para gestão de clientes.

O problema prende-se com as impressões.

Tipo, queria que o programa imprimisse recibos, facturas, orlamentos, etc.

O problema é que não sei muito bem como posso fazer isso. Que programa usar para desenhar as áreas de impressão?

Em principio é para ser programado em java, com resurso a base de dados, para armazenar clientes, fornecedores, essas tertas todas.

Tenho conhecimento do jasperReports, mas esse apenas imprime relatórios da base de dados, e não dá para desenhar a impressão.

Tipo, queria por o cabecalho, da empresa,, e definir os lugares onde ia ficar o IVA, essas coisas todas que as facturas têm.

Alguém me pode ajudar com isso, sobre que programa/programas usar?

Abraço a todos

Obrigados

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

eu não sei bem e não sei se estou certa, mas será que o crystal report ou algo com um nome do género não resolve o teu problema?

bom trabalho

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

Podias pedir a tua empresa para investir no VS.NEt 2005 pro que tem CR.NET incluído.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

BOm tou na mesma situação que tu. so que eu fui obrigado a usar .net

uso actualmente vs Pro. e para orçamentos e relatórios o programa faz automaticamente a factura e manda a por mail para o cliente.

=P

nao uso crystal reports =)

Uso uma libraria de pdf's paga com licença vitalicia.

Dynamic PDF

=)

espero ter ajudado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pessoal, todos ajudaram.

Estou a falar de cor, mas penso que Crystal Reports será mais ou menos a mesma coisa que o jasper reports. E sendo assim este não me serve.

Infelizmente .Net estaria fora de questão... è pago e não funciona em linux (directamente claro).

Estava a pensar em algo open source, de preferência para usar com java.

Se alguém conhecer uma solução assim...

Obrigado a todos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Creio que o Jasper não imprime apenas só com informação de base de dados.

Mesmo que assim seja, vais ter de suportar a informação numa base de dados...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim certo, mas pelo que estive a ver não me permite  desenhar a página como pretendo.

Ou se permite é um pouco complicado conjugar na mesma página coisas que vêm da base de dados e coisas que estão permanentes na página.

Agradeço a todos as participações

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não se rirem muito eu arranjo uma maneira simples: Microsoft.Office.Interop.Word < -  :cheesygrin: é de doidos, eu sei... mas é a melhor alternativa que encontrei...

Aquilo que usamos todos os dias... e nem isso vemos... para .NET é o best :P

O senão... tens que ter o Word instalado... temos pena :D

1abraço!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imprime para PDF, manda o PDF para a impressora. Imprime para uma imagem manda a imagem para a impressora... as opções são tantas....

Talvez o http://www.lowagie.com/iText/ te ajude, podes criar o PDF e depois enviar para a impressora.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma pergunta à cerca dos relatórios.

Já tenho um relatório criado no iReport.

Tenho um script php associado à base de dados.

É possível integrar a geração do relatório no PHP?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpem lá tar a ressuscitar aqui o velhinho mas isto refere, em parte, uma grande dúvida minha para a qual não encontro solução.

Estou a pensar essencialmente em C. A ideia de mandar um documento para impressora, e corrijam-me se estiver errado, consiste basicamente em enviar texto para um stream, tal como se fosse o monitor. (Não estou muito certo quanto a esta parte, visto não conseguir encontrar fontes que descrevam o processo de impressão ao nível da programação)

Ora, se o processo for como descrito acima, já devo conseguir usar as velhinhas impressoras de agulhas que usavam monospace, desenhando os elementos gráficos com ASCII art. No entanto, pretendo que as minhas aplicações emitam documentos mais modernos que isto, à semelhança dos programas de gestão que encontramos por aí hoje em dia. Isto leva-me a crer, considerando o processo anterior, que existe uma forma de "formatar" o que pretendemos imprimir através do texto que colocamos no stream. Assim sendo, como se faz esta formatação?

Imprime para PDF, manda o PDF para a impressora. Imprime para uma imagem manda a imagem para a impressora... as opções são tantas....

Talvez o http://www.lowagie.com/iText/ te ajude, podes criar o PDF e depois enviar para a impressora.

Esta é sem dúvida uma solução interessante, mas não responde à minha curiosidade.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O iText, Cristal Reports, Jasper, etc. permitem fazer a formatação.

Por vezes têm GUIs que permitem desenhar um template, por vezes tens de ter esse template codificado, depois é só popular com o conteúdo.

Por exemplo, o iText permite-te abrir um PDF (que pode ser o teu template e pode ser desenhado em várias ferramentas), injectar o conteúdo e depois é só gravar/enviar para a impressora.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebeste a minha dúvida M6. Não estou a tentar arranjar uma forma de imprimir, estou a tentar perceber como funciona o processo de impressão. Ou seja, não quero uma ferramenta que me permita formatar documentos, quero é saber como é que as ferramentas formatam os documentos. Quero perceber, se possível, a um nível baixo, o que é que a impressora recebe, como interpreta, etc.

Para resumir, quero saber as bases teóricas para criar uma ferramenta dessas. Estou curioso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah. Efectivamente não tinha compreendido.

Bom, ao nível mais baixo terás de ver como funciona um driver de impressora.

Mas parece-me, se agora compreendi bem a tua questão, que o pretendes é saber como é que elas manipulam os documentos.

Há "muitas luas" atrás, quando essas ferramentas não existiam ou não estavam disponíveis para o comum dos mortais com poucas posses económicas, a técnicas eram:

- DOS: abrir a porta da impressora e mandar comandos lá para dentro (já vão muitos, muitos anos, já nem me recordo como era);

- Windows: usar objectos que o SO disponibiliza. A coisa é como um "canvas", ou seja, uma página em branco onde desenhas, escreves o texto "XPTO" nas coordenadas x:10, y:40, metes esta imagem em x:100, y:150, se não há espaço nesta folha, mete uma quebra de página e começa a escrever na próxima, e por ai adiante. Ou seja, tinhas uma folha em branco onde ias desenhando, quando terminavas o documento este era impresso. Como SO te dava uma camada de abstracção, a coisa até era simples, tudo isso era depois traduzido pelo driver que comunicava com a impressora.

- PDF: é idêntico ao Windows, tens uma página onde vais metendo o conteúdo e no fim gera um ficheiro. A impressão é tratada à parte, por vezes enviando o documento ps/eps/pdf directamente para a impressora esta reconhece-o e imprime-o. É comum as impressoras laser saberem interpretar estes comandos directamente.

- Jasper e afins: neste caso há uma evolução bastante grande, mas a base é a mesma dos casos anteriores. De forma simples, desenhas um template numa folha em branco, onde dizes quais são os elementos estáticos (por exemplo, o header e o footer) e os elementos dinâmicos (por exemplo uma linha onde colocas a descrição e o preço de um produto). Dizes as coordenadas onde estes elementos vão estar, sendo que os elementos dinâmicos são um pouco mais complexos dado que se repetem.

Este template é então guardado, por exemplo num ficheiro XML que representa a estrutura definida. Depois quando usas o template podes dizer que o elemento dinâmico será alimentado pelo resultado de uma query e que a descrição virá do valor do campo X e o preço do valor do campo Y. O mecanismo de geração do documento sabe o que fazer, saber quando deve quebrar a página porque o próximo elemento dinâmico já não cabe na actual, sabe que todas as páginas têm de ter um header e um footer, etc.. Podem desenhar todo o documento usando a mesma técnica do PDF ou do Windows, depende do formato final que pretendas. Como desenham onde querem, podem desenhar num "canvas" no ecrã e assim fazer um "print preview" ao utilizador. Este tipo abordagem é bastante flexível e poderosa, permitindo-te compor relatórios bastante complexos através da combinação de vários elementos dinâmicos e estáticos (por exemplo, se a seguir a cada descrição e preço quiseres a listagem do armazém e quantidade disponível nesse armazém consegues fazê-lo).

Se queres ver mesmo como funciona um sistema desses, um bom ponto de partida é fazeres download de algumas dessas ferramentas e veres o código, muitas são open source.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Bom dia,

    "Há muitas luas atrás", no tempo do DOS, escrevia-se directamente na impressora, utilizaram-e as sequências de escape da impressora, para fazer o "fast-feed, form-feed, line-feed, page-break, rewind, etc..." Ainda existem programas comercialmente disponíveis a simplesmente ignorarem os drivers do SO e fazerem exactamente isto, formatarem o "layout" em ASCII, e utilizando as sequências de escape de cada impressora para substituir o driver. Isto é extremamente limitativo, mas ainda se usa.

    Se gerares o ficheiro primeiro em PostScript e depois o enviares para o driver da impressora, muito provavelmente terás um melhor resultado uma vez que quase todas as impressoras, com excepção das de talões, já consegue interpretar PostScript.

Cordiais cumprimentos,

Apocsantos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

apocsantos, as jacto de tinta actuais já interpretam ps também?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Boas tardes,

    @M6: Uma boa parte das impressoras de jacto de tinta recentes já interpretam PS, nomeadamente as HP, que até à alguns anos só nas versões lazer é que interpretavam PS. Das restantes marcas, quase todas as impressoras mesmo de baixa gama já interpretam PS, também as de talões mais recentes interpretarem PS.

Cordiais cumprimentos,

Apocsantos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porreiro.

Não sabia dessa evolução no mercado low end das impressoras :D

Se bem que actualmente esse suporte já pouco ou nada nos vem ajudar, tinha dado muito jeito era na época da outra senhora... :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Boa tarde,

    Sim a quem o dizes... na década de 80 e de e inicio da década de 90, tinha dado um jeito do caraças! Felizmente o mercado evoluiu e as coisas evoluíram muito. No tempo da "outra senhora" algumas OKI, e algumas HP Lazer, interpretavam PS, mas a grande maioria não, e nas low-end, era para esquecer. Agora em que as impressoras estão ao preço da "chuva", pelo menos as low-end, o .ps tornou-se praticamente banal. Pena que se tornou "banal" com década e meia de atraso!

Cordiais cumprimentos,

Apocsantos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah, estás a queixar-te das horas de sono perdidas a tentar afinar o layout da página e a tentar perceber porque raio determinado comando da impressora não fazia aquilo que querias é? :D

Agora é um mimo, e ainda bem porque é assim mesmo que tem de ser, é necessário evoluir.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Boa tarde,

    Sim estava a queixar-me dessas infindáveis horas... das noitadas a acertar a porra do caracter que estava a ser impresso fora do lugar e porque raio a impressora não obedecia a alguns comandos, por vezes bastava meter um delay de 0.5segundos, na impressão para funcionar!

    Felizmente as coisas mudaram completamente, a evolução aconteceu, e tudo mudou radicalmente, agora com as ferramentas que existem e com as impressoras a suportar interpretação PS é "Miminho".

Cordiais cumprimentos,

Apocsantos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:cheesygrin:

Só vi agora a tua resposta M6, e não me leves a mal mas adoro-te neste momento. Era precisamente isso que eu queria saber. Andei semanas à procura da "história" da impressão, mas nunca encontrei patavina :wallbash:.

Nada como perguntar a quem sabe  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eh pá... Cuidadinho com esse "adoro-te" ok?

Sou hetero e comprometido. :P

Se tiveres mais dúvidas chuta, o apocsantos também é da "velha guarda" e ambos podemos dar uma ajuda...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora