Impressão

26 respostas
Veneno

Olá… pessoal alguem poderia me ajudar …
eu quero imprimir um cupom fiscal … nao faço ideia como fazer isso …

vlw :thumbup:
abraço …

26 Respostas

von.juliano

http://jasperforge.org/sf/projects/ireport
http://www.javafree.org/javabb/viewtopic.jbb?t=3154
http://www.jfree.org/jfreereport/index.php
http://reporting.pentaho.org/

Veneno

http://www.javafree.org/javabb/viewtopic.jbb?t=3154

ble…
Entrei nesse … ta explicando legal …
mas eu nao sei como instalar … baxei um IReport …
como faço pra instalar
vlw

von.juliano

Depois de baixar e descompactar o ireport, vc vai ter o arquivo iReport-1.3.0-windows-installer.exe . É só executar.

von.juliano

Última versão do IReport:

http://sourceforge.net/project/downloading.php?group_id=64348&use_mirror=ufpr&filename=iReport-1.3.1-src.zip&79716535

Veneno

Ond fica esse arquivo??? eu baxei … descompactei …
tem uma pasta chamada …
iReport-1.3.1-src

aí dentro dela tem outras pastas …bic, dos, eclipse, etc, fonts, lib, plugins,
src, templates…
e os seguintes arquivos …
build, changelog, Ireport. bat, Ireport.sh, License, notice, policy, relnotes …

vlw veio

von.juliano

Cara, foi mal, esses daí são os fontes! Baixa o .exe aqui:

http://sourceforge.net/project/downloading.php?group_id=64348&use_mirror=ufpr&filename=iReport-1.3.1-windows-installer.exe&67718267

Blz! :thumbup:

Veneno

Von.juliano

baixei o .exe
eu nao to conseguindo fazer uma conexão tem como vc me ajudar …
eu to com o access … tem como fazer com ele …
eu fui em file —>new–>
aí fui em Data—>conections/DataSources …
aí cliquei em new

aparece uma janela pra preencher …

JDBC Driver coloquei==>sun.jdbc.odbc.JdbcOdbcDriver
JDBC URL nao sei o q colocar …

Server Adress …nao sei
DataBase … nao sei

vlw

Veneno

Olá …
consegui conectar com o Banco …
nao to conseguindo fazer o Parametro ta dando erro …
fiz assim :

select *,
$P{PARAM1} PARAMETRO
from Cliente

alguem sabe aí??
vlw

von.juliano

Aew cara, segue esse tutorial:
http://www.livramento.yu.com.br/tutoriais/ireport.html

É um exemplo claro de como utilizar o iReport.

Veneno

ae deu certinho veio …

queria fazer uma pergunta … da pra fazer um cupom fiscal, tipw imprimir direto … assim q eu fechar a venda… sem antes aparecer aquela tela ond mostra o relatório ???

pra fazer um arquivo que recebe os dados e imprimir eh dificil ??
tipo um .txt sei la ???
vlw aí desculpa tantas perguntas …
abraço …
:smiley:

K

dá pra vc passar via java os parametros para dentro do seu relatório, e la você pega os dados e monta o relatório.

dps no proprio java vc manda imprimir… tod pelo java, sem exibir nada na tela… vc clica em “imprimir” na sua aplicação e vai direto para a impressora…

flow

Veneno

ah sim …
eu tenho esse codigo que eu peguei pronto que é o que eu acho que ta mandando aparecer o relatório … aí qnd aparece o relatório tem o botão de imprimir … mas gostaria de um comando que imprimisse dierito…

repositorioProduto rep = new repositorioProduto();

JasperPrint relat;

try {
			
			relat = rep.gerar();
			JasperViewer.viewReport(relat, false);
		} catch (ExcRepositorio e) {
			JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage());
		}

esse eh o repositorioProduto…
que tem o metodo gerar

public JasperPrint gerar() throws ExcRepositorio{
		JasperPrint rel = null;
		try {
			Connection con = gConexao.getConexao();
			HashMap map = new HashMap();
			String arquivoJasper = "gray_lanscape.jasper";
			rel = JasperFillManager.fillReport(arquivoJasper, map, con);
		} catch (JRException e) {
			JOptionPane.showMessageDialog(null,e.getMessage());
		}
		return rel;
	}

eu nao sei direito o q ele ta fazendo …
vlw galera …

K

ao inves de vc usar

repositorioProduto rep = new repositorioProduto();
 
 JasperPrint relat;
 
 try {
 			
 			relat = rep.gerar();
 			JasperViewer.viewReport(relat, false);
 		} catch (ExcRepositorio e) {
 			JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage());
 		}

vc usa

repositorioProduto rep = new repositorioProduto();
 
 JasperPrint relat;
 
 try {
 			
 			relat = rep.gerar();
 			//JasperViewer.viewReport(relat, false);
                       JasperPrintManager.printPage(relat, 0, false);
 		} catch (ExcRepositorio e) {
 			JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage());
 		}
Veneno

ah sim …rs
vc sabe qual eh a biblioteca que tenho q importar… pra eu usar o
JasperPrintManager.printPage(relat, 0, false);

tentei essa mas nao dá…

import net.sf.jasperreports.engine.JasperPrintManager;
K

eita… e estranho… pois é essa mesma q eu uso… :shock:

import net.sf.jasperreports.engine.JasperPrintManager;
Veneno

ixiii
ta dando esse erro …

unreported exception net.sf.jasperreports.engine.JRException;must be 
 caught or declared to be throw n

q sera em ??

Veneno

sabe como resolver isso ??rs
vlw

Veneno

alguem sabe ???

Veneno

Descobri oq ta faltando …
o

throws JRException

no metodo … aí nao deu erro …
mas como eu chamo esse metodo ??
vlw

Veneno

To usando o NetBeans…
queria colocar pra imprimir em um botão…
aí da erro pq nao tem o

throws JRException

teria q ficar assim eu axo

private void SalvarActionPerformed(java.awt.event.ActionEvent evt) throws JRException{

mas nao tem como por … alguem sabe se tem como por …???
vlw :smiley:

K

uai… ao invez de dar um trows … usa um try catch ()…

Veneno

eu pus assim nao ta dando …

aqui eh o metodo

public static void GeraRelat()throws JRException {
        
        repositorioProduto rep = new repositorioProduto();
        JasperPrint relat;
				
		try {
			
			relat = rep.gerar();
			//JasperViewer.viewReport(relat, false);
                        JasperPrintManager.printPage(relat, 0, false);
		} catch (ExcRepositorio e) {
			JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage());
		}
    }

e aqui eh onde eu quero chamar… q ta dando erro …

try{ 
                
            GeraRelat();
            
            } catch (ExcRepositorio e) {
			JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage());
		}

vlw veio

A

Pra mim funcionou bonito, localmente, quando eu tenho uma impressora padrão.
Mas como fazer no caso de ter que imprimir em uma impressora da rede?

Eu tentei isso, no servidor:

JasperExportManager.exportReportToPdfFile(jasperPrint,nomeArquivo+".pdf");
response.sendRedirect(request.getContextPath() + url+"&nomeArquivo="+nomeArquivo);
JasperPrintManager.printPage(jasperPrint,0,false);

… e obtive essa Exception

15:14:13,606 INFO  [STDOUT] java.awt.print.PrinterException: No print service found.
15:14:13,608 INFO  [STDOUT]     at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1031)
15:14:13,608 INFO  [STDOUT]     at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1011)
15:14:13,608 INFO  [STDOUT]     at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:193)
15:14:13,608 INFO  [STDOUT]     at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:88)
15:14:13,609 INFO  [STDOUT]     at net.sf.jasperreports.engine.JasperPrintManager.printPages(JasperPrintManager.java:348)
15:14:13,609 INFO  [STDOUT]     at net.sf.jasperreports.engine.JasperPrintManager.printPage(JasperPrintManager.java:287)
15:14:13,609 INFO  [STDOUT]     at com.acol.util.RelatorioServlet.service(RelatorioServlet.java:159)
15:14:13,609 INFO  [STDOUT]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
15:14:13,609 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
15:14:13,610 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
15:14:13,610 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
15:14:13,610 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
15:14:13,610 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
15:14:13,610 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
15:14:13,610 INFO  [STDOUT]     at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
jopss

Veneno, dah uma olhada nisso:

// o datasource, passando a lista
            JRBeanCollectionDataSource dsLista = new JRBeanCollectionDataSource(listaQueVoceQueImprimir);
            
            // Stream com o .jasper, buscando o arquivo jasper do relatorio
            java.io.File file = new java.io.File("local\arquivo.jasper");
            java.io.FileInputStream in = new java.io.FileInputStream(file);
            
            // Parametros do relatorios - obrigatorio, usado para subrelatorio!
            Map parametros = new HashMap();
            //parametros.put("pathSub","local\arquivo.jasper"); //subrelatorio
            
            if(ver){
                //imprimi na tela
                JasperPrint impressao = JasperFillManager.fillReport(in, parametros, dsLista);
                JasperViewer viewer = new JasperViewer(impressao, false);
                viewer.setVisible(true);
            } else{
                //direto para a impressora
                JasperPrint impressao = JasperFillManager.fillReport(in, parametros, dsLista);
                JasperPrintManager.printReport(impressao,false);
            }

Lembre-se: IREPORT eh pra impressoras jato de tinta e lasers.... matricial nao se usa iReport, tem-se que fazer "na unha".... assim como em impressoras fiscais (argh!!)..

jopss :P

joaopaulotds

A solução indicada por kpbds_pb usando o JasperPrintManager.printPage() funcionou numa boa! Agradeço por compartilhar informação. :smiley:

R

tem exemplos no livro desenvolva aplicativos com java 6, da editora erica de renato rodrigues filho.

Criado 12 de março de 2007
Ultima resposta 5 de set. de 2012
Respostas 26
Participantes 7