Ciao,
sto provando a stampare un documento PDF direttamente con del codice Java.
Questo è il codice:
codice:
//Codice per la stampa del PDF
	try {
		File file = new File(filename);
		FileInputStream fis = new FileInputStream(file);
		FileChannel fc = fis.getChannel();
		MappedByteBuffer mbb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
		PDFFile pdfFile = new PDFFile(mbb);
		PDFPrintPage printPage = new PDFPrintPage(pdfFile);    
		PrinterJob printerJob = PrinterJob.getPrinterJob();  
		PageFormat pageFormat = PrinterJob.getPrinterJob().defaultPage();     
		float pageWidth = MediaSize.ISO.A4.getX(MediaSize.INCH) * 72;
		float pageHeight = MediaSize.ISO.A4.getY(MediaSize.INCH) * 72;
		float margin = (1 / 2.54f) * 72; //1cm
		Paper paper = new Paper();
		paper.setSize(pageWidth, pageHeight);
		paper.setImageableArea(margin, margin, pageWidth - 2 * margin,
		pageHeight - 2 * margin);
		pageFormat.setPaper(paper);
		pageFormat = printerJob.validatePage(pageFormat);
		printerJob.setJobName(file.getName());  
		Book book = new Book();  
		book.append(printPage, pageFormat, pdfFile.getNumPages());  
		printerJob.setPageable(book);  
		printerJob.print(); 
	}
	catch (Exception e) {
		e.printStackTrace();
		out.print(e);
	}
Il risultato è che il PDF viene stampato, ma purtroppo non nelle dimensioni corrette, ma utilizza solo 3/4 del foglio A4 (il PDF se lo stampo da Acrobat Reader viene stampato correttarmente).
Mi date una mano a capire da cosa possa dipendere?
Grazie