Impressão PDF

3 respostas
hpsjr

Caros já procurei em vários lugares mas não encontrei uma forma de imprimir PDF frente e verso(DUPLEX).
Ó código abaixo imprimi corretamente PDF, porem o atributo DUPLEX não funciona.

FileInputStream psStream = null;
		try {
			File f = new File(nomedoarquivo);
			psStream = new FileInputStream(f);
			
			FileChannel fc = psStream.getChannel();
			ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
			PDFFile pdfFile = new PDFFile(bb);
			PDFPrintPage pages = new PDFPrintPage(pdfFile);
			PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();   
            aset.add(new Copies(1)); 
            aset.add(MediaSizeName.ISO_A4);
            aset.add(OrientationRequested.LANDSCAPE);
            aset.add(Sides.TUMBLE);
            PrinterJob pj = PrinterJob.getPrinterJob();
			PageFormat pf = PrinterJob.getPrinterJob().getPageFormat(aset);
			pj.setJobName(f.getName()); 
			Book book = new Book();
			book.append(pages, pf, pdfFile.getNumPages());
			pj.setPageable(book);
			pj.print();
			
			return "Impressa ";
		} catch (Exception ex) {
			ex.printStackTrace();
			return "Erro ao imprimir PDF.";
		}

Alguém me ajude, pois estou precisando muito de alguma dica.

3 Respostas

Mackrophus

Olá Hpsjr.

Cara to tentando usar o seu codigo pra imprimir um pdf, mas, eu não consigo fazer essa parte

PDFFile pdfFile = new PDFFile(bb);

é alguma biblioteca, se for onde baixo?

Muito obrigado.

hpsjr

PDFRenderer.jar

https://pdf-renderer.dev.java.net/

É só baixar esta biblioteca e importar para o seu programa.

Mackrophus

Olá Hpsjr.

Cara, muito obrigado, ja consegui fazer o que precisava.

Abraço.

Criado 19 de janeiro de 2010
Ultima resposta 17 de fev. de 2010
Respostas 3
Participantes 2