Ciao,
sto provando a stampare un documento PDF direttamente con del codice Java.
Questo è il codice:
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).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); }
Mi date una mano a capire da cosa possa dipendere?
Grazie

Rispondi quotando

