黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java調(diào)用打印機的步驟

Java調(diào)用打印機的步驟

更新時間:2022-04-21 11:16:06 來源:動力節(jié)點 瀏覽5960次

Java調(diào)用打印機的步驟是怎樣的?動力節(jié)點小編來告訴大家。

Java調(diào)用打印機的步驟

1.獲取PrinterJob

一般都用PrinterJob.lookupPrintServices()來獲取本地配置的打印機列表

    public static PrinterJob getPrintServiceByName(String printerName) throws Exception{
        PrinterJob job = PrinterJob.getPrinterJob();
        // 遍歷查詢打印機名稱
        boolean flag = false;
        for (PrintService ps : PrinterJob.lookupPrintServices()) {
            String psName = ps.toString();
            // 選用指定打印機,需要精確查詢打印機就用equals,模糊查詢用contains
            if (psName.contains(printerName)) {
                flag = true;
                job.setPrintService(ps);
                break;
            }
        }
        if(!flag){
            throw new RuntimeException("打印失敗,未找到名稱為" + printerName + "的打印機,請檢查。");
        }
        return job;
    }

2.設(shè)置PrinterJob紙張樣式

    public static void setPageStyle(PDDocument document, PrinterJob job) {
        job.setPageable(new PDFPageable(document));
        Paper paper = new Paper();
        int width = 215;
        int height = 170;
        // 設(shè)置打印紙張大小
        paper.setSize(width,height); // 1/72 inch
        // 設(shè)置邊距,單位是像素,10mm邊距,對應(yīng) 28px
        int marginLeft = 1;
        int marginRight = 0;
        int marginTop = 10;
        int marginBottom = 0;
        // 設(shè)置打印位置 坐標(biāo)
        paper.setImageableArea(marginLeft, marginRight, width - (marginLeft + marginRight), height - (marginTop + marginBottom));
        // custom page format
        PageFormat pageFormat = new PageFormat();
        pageFormat.setPaper(paper);
        // override the page format
        Book book = new Book();
        // append all pages 設(shè)置一些屬性 是否縮放 打印張數(shù)等
        book.append(new PDFPrintable(document, Scaling.ACTUAL_SIZE), pageFormat, 1);
        job.setPageable(book);
    }

3.打印PDF

	public static PDDocument printPdf(String pdfPath, String printerName) throws Exception {
        File file = new File(pdfPath);
        PDDocument document = PDDocument.load(file);
        PrinterJob job = getPrintServiceByName(printerName);
        setPageStyle(document, job);
        // 開始打印
        job.print();
        return document;
    }

 

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲成成品网站有线 | 国外免费精品视频在线观看 | 日本韩国欧美在线观看 | 看黄网站免费 | 欧美日韩在线观看精品 | 国产欧美日本亚洲精品一4区 | 欧美中文字幕 | 无遮羞无删减肉动漫在线观看 | 免费一级夫妻a | 色播视频在线播放 | 国产成人精品免费视 | 天天尻 | 香蕉久久夜色精品国产小优 | 九九99九九精彩 | 久久精品国产免费中文 | 日日操狠狠操 | 成人在免费观看视频国产 | 国产性做久久久久久 | 久久99精品波多结衣一区 | 午夜视频一区二区三区 | 日韩免费精品一级毛片 | 黄色视频毛片 | 日本一区免费 | 亚洲精品国产成人专区 | 伦理剧在线播放 | 美女黄色毛片 | www.在线观看视频 | 亚洲欧美国产一区二区三区 | 在线播放亚洲精品富二代91 | 国产精品麻豆一区二区 | 国产2021精品视频免费播放 | 97人人澡人人爽人人爱 | bt7086国产一区合集亚洲 | 亚洲成a人片在线播放观看国产 | 亚洲综合伊人色一区 | 欧美在线观看一区二区三 | 国产男女猛烈无遮挡 | 黄 色 三 级 网站 | 久久天天拍天天爱天天躁 | 国产视频综合 | 亚洲三区视频 |