java和打印机_java实现打印机打印的区别
構建打印任務方式不同:
1:直接通過指定的打印機創建打印任務
DocPrintJob ?job= myPrintService.createPrintJob();
2:手動創建打印任務,再與指定的打印機進行關聯
PrinterJob job=PrinterJob.getPrinterJob();
job.setPrintServie(myPrintService);
執行打印任務方式不同:
1、簡單,將指定文件路徑變為打印數據,直接進行打印
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
Doc myDoc = new SimpleDoc(new File(""), flavor, null);
job.print(myDoc,pras);
2、復雜,需要將指定的文件轉換為PDF流到內存,并指定好打印紙張相關屬性,最后進行打印
PDDocument myDoc=PDDocument.load(new File(""));
Paper paper = new Paper();
paper.setSize(252, 141); // 打印的頁面的屬性。
paper.setImageableArea(0, 5, paper.getWidth(), paper.getHeight()); // 頁面上用來打印的區域。 左上角的 X 坐標,Y 坐標,區域寬度,高度
PageFormat pageFormat = new PageFormat();
pageFormat.setPaper(paper);//為此 PageFormat 設置 Paper 對象
Book book = new Book();//Book 類提供文檔的表示形式,該文檔的頁面可以使用不同的頁面格式和頁面 painter。此類使用 Pageable 接口與 PrinterJob 交互。
book.append(new PDFPrintable(document), pageFormat, document.getNumberOfPages());//將多個頁面追加到此 Book 的尾部。
//查詢 document,以獲得頁面數和 Pageable 實例 document 中保存的每個頁面的 PageFormat 和 Printable。
job.setPageable(new PDFPageable(document, Orientation.PORTRAIT));
job.setPageable(book);
job.print();//打印一組頁面。
總結
以上是生活随笔為你收集整理的java和打印机_java实现打印机打印的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python正则表达式初识(七)_Pyt
- 下一篇: java中IOUtil.readLong