Imprimir mais de uma Cópia JASPER

5 respostas
marciofermino

Amigos como eu poderia imprimir mais de uma cópia do relatório…

Quem puder ajudar,obrigado;

5 Respostas

M

Quando você manda imprimir, aparece uma janela com as propriedades de impressão, não? Basta escolher ali o número de cópias.

C

Boa tarde

Bom caso sua dúvida era como imprimir duas paginas é só fazer isso que o marcio falou, mas cosa você vc precise que o jasper replique a 1º pagina da uma olhada na documentação oficial no site http://jasperforge.org/.

Não sei se você esta utilizando o iReport ou esta fazendo na mão via código JasperReports mesmo, caso não esteja utilizando, tenta utilizar essa ferramenta pois com certeza ela vai te ajudar nisso.

falou.

marciofermino

bem isso eui sei que eu posso escolher quantas copias eu quiser
,mais eu queria passar essa informação vai um campo jTextField que tenho na aplicacao

tipo

numero de copias = 20… ( imprime 20 recibos )

Pankka

JRBeanCollectionDataSource estruturaDados = new JRBeanCollectionDataSource(listaRecibos);

//////////////////////////////////////////////////////////////////

public class GerarPdf
{

public static ByteArrayOutputStream gerarPdf(String caminhoParaPDF, Recibos recibo, JRBeanCollectionDataSource estruturaDados) throws Exception
		{

			Map<String, String> parametros = new HashMap<String, String>();
			ByteArrayOutputStream streamPdfGerado = new ByteArrayOutputStream();
			List<Recibos> lista = new ArrayList<Recibos>();

			lista.add(recibo);

			parametros.put("total", ((Recibos) lista.get(0)).getTotal());
			parametros.put("desconto", ((Recibos) lista.get(0)).getDesconto());
			parametros.put("enderecoImovel", ((Recibos) lista.get(0)).getEndereco());
			
			// Compila Relatório
			JasperReport jasperReport = JasperCompileManager.compileReport(caminhoParaPDF);

			// Preenche relatório
			JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, estruturaDados);

			JasperExportManager.exportReportToPdfStream(jasperPrint, streamPdfGerado);

			return streamPdfGerado;
		}
}

Qualquer dúvida pode perguntar.

Fernando_Generoso_da

Pankka:

JRBeanCollectionDataSource estruturaDados = new JRBeanCollectionDataSource(listaRecibos);

//////////////////////////////////////////////////////////////////

public class GerarPdf
{

public static ByteArrayOutputStream gerarPdf(String caminhoParaPDF, Recibos recibo, JRBeanCollectionDataSource estruturaDados) throws Exception
		{

			Map<String, String> parametros = new HashMap<String, String>();
			ByteArrayOutputStream streamPdfGerado = new ByteArrayOutputStream();
			List<Recibos> lista = new ArrayList<Recibos>();

			lista.add(recibo);

			parametros.put("total", ((Recibos) lista.get(0)).getTotal());
			parametros.put("desconto", ((Recibos) lista.get(0)).getDesconto());
			parametros.put("enderecoImovel", ((Recibos) lista.get(0)).getEndereco());
			
			// Compila Relatório
			JasperReport jasperReport = JasperCompileManager.compileReport(caminhoParaPDF);

			// Preenche relatório
			JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, estruturaDados);

			JasperExportManager.exportReportToPdfStream(jasperPrint, streamPdfGerado);

			return streamPdfGerado;
		}
}

Qualquer dúvida pode perguntar.

Não entendi essa sua resposta… Esse código apenas retorna o stream do pdf, não imprime várias cópias…

Olha os métodos de impressão, acredito que não tenha como fazer o que vc quer, mesmo pq voce tem que selecionar a impressora para impressão. Sendo assim, vc tem que abrir a tela de gerenciamento de impressão padrão do SO.

enviando diretamente o stream para a porta de impressão, acredito que teria que enviar tmb o comando próprio da impressora para múltiplas cópias…talvez dessa forma vc conseguisse…mas não tenho nem idéia de como fazer(isso se realmente dá pra fazer).

Criado 5 de maio de 2009
Ultima resposta 28 de ago. de 2009
Respostas 5
Participantes 5