• <menu id="w2i4a"></menu>
  • logo Aspose.PDF使用教程

    文檔首頁(yè)>>Aspose.PDF使用教程>>Aspose.PDF功能演示:使用Java以編程方式打印PDF文件

    Aspose.PDF功能演示:使用Java以編程方式打印PDF文件


    在不同的公司和組織中,打印PDF文檔通常是一項(xiàng)關(guān)鍵功能,可以通過(guò)在環(huán)境中進(jìn)行配置來(lái)使用Aspose.PDF for Java API 。在本文中,將介紹在Java應(yīng)用程序中可能出現(xiàn)的不同PDF打印方案。

    • 使用Java打印PDF文件
    • 使用Java打印多個(gè)PDF文檔
    • 使用Java打印特定頁(yè)面或頁(yè)面范圍
    • 使用Java打印安全的PDF
    • 使用Java打印PDF時(shí)檢查打印任務(wù)的狀態(tài)

    目前,Java版Aspose.PDF升級(jí)到v20.10版,感興趣的朋友可點(diǎn)擊下方按鈕下載最新版。

    點(diǎn)擊下載最新版Aspose.PDF for Java

    使用Java打印PDF文件

    按照以下步驟使用Java代碼輕松打印PDF文件:

    • 創(chuàng)建PdfViewer對(duì)象
    • 加載輸入PDF文件
    • 打印PDF文件

    下面的代碼段顯示了如何使用Java以編程方式打印PDF文件:

    //Create PdfViewer object
    PdfViewer viewer = new PdfViewer();
    //Open input PDF file
    viewer.bindPdf(dataDir + "Test.pdf");
    //Print PDF document
    viewer.printDocument();
    //Close PDF file
    viewer.close();

    使用Java打印多個(gè)PDF文檔

    使用Java語(yǔ)言,打印多個(gè)文件或批量打印PDF文件是一個(gè)簡(jiǎn)單的過(guò)程。您可以按照以下步驟打印許多PDF文件:

    • 初始化字符串類(lèi)型列表
    • 將多個(gè)PDF文件添加到打印
    • 打印PDF文件

    以下代碼顯示了如何使用Java語(yǔ)言打印多個(gè)PDF文件:

    // Initialize a list of String type
    Listfiles = new ArrayList<>();
    
    // Add multiple files to be printed
    files.add(dataDir + "First.pdf");
    files.add(dataDir + "Second.pdf");
    
    // Process each file to print
    for (String file : files)
    {
        //Create PdfViewer object
        PdfViewer viewer = new PdfViewer();
        //Open input PDF file
        viewer.bindPdf(file);
        //Print PDF document
        viewer.printDocument();
        //Close PDF file
        viewer.close();
    }

    使用Java打印特定頁(yè)面或頁(yè)面范圍

    API在打印PDF文件時(shí)為您提供了很多控制??梢愿鶕?jù)需要在打印文件時(shí)使用不同的字段和方法。例如,如果不想打印PDF文件的所有頁(yè)面,而只打印幾頁(yè)。它可以是連續(xù)的頁(yè)面范圍,例如從第3頁(yè)到第7頁(yè),也可以是隨機(jī)的頁(yè)面,如第1,5和6頁(yè)??梢酝ㄟ^(guò)以下步驟涵蓋這兩種情況:

    • 初始化PdfViewer對(duì)象
    • 設(shè)置打印屬性
    • 創(chuàng)建打印機(jī)和頁(yè)面設(shè)置的對(duì)象
    • 指定是要打印所有頁(yè)面,特定頁(yè)面還是連續(xù)頁(yè)面范圍
    • 使用打印機(jī)和頁(yè)面設(shè)置打印PDF文檔

    以下代碼顯示了如何使用Java打印PDF文檔中的特定頁(yè)面或頁(yè)面范圍:

    // Create PdfViewer object
    PdfViewer viewer = new PdfViewer();
    // Open input PDF file
    viewer.bindPdf(dataDir + "test.pdf");
    // Set attributes for printing
    viewer.setAutoResize(true); // Print the file with adjusted size
    viewer.setAutoRotate(true); // Print the file with adjusted rotation
    viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing
    
    // Create objects for printer and page settings and PrintDocument
    PrintPageSettings pgs = new PrintPageSettings();
    PdfPrinterSettings ps = new PdfPrinterSettings();
    // Set printer name
    ps.setPrinterName("Microsoft Print to PDF");
    
    // ps.setPrintRange(2); // 0 = all pages; 1 = selection; 2 = some pages
    // ps.setFromPage(1);
    // ps.setToPage(2);
    
    
    ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
    ps.setSelectedPages(new int[]{1, 3, 5});
    
    
    // Print document using printer and page settings
    viewer.printDocumentWithSettings(pgs, ps);

    使用Java打印安全的PDF

    有時(shí),PDF文件使用密碼保護(hù)或加密,以確保對(duì)數(shù)據(jù)的授權(quán)訪(fǎng)問(wèn)??梢允褂肑ava代碼輕松訪(fǎng)問(wèn)和打印安全或加密的PDF文件,并根據(jù)需要打印文件。需要按照以下步驟操作:

    • 使用密碼加載受密碼保護(hù)的PDF輸入文件
    • 初始化PdfViewer對(duì)象
    • 打印PDF文件

    以下代碼基于以下步驟,這些步驟說(shuō)明了如何使用Java代碼打印受保護(hù)的PDF文件:

    //Load secure PDF document while specifying User or Owner password
    Document document = new Document(dataDir + "Password.pdf" , "userORowner");
    //Create PdfViewer object
    PdfViewer viewer = new PdfViewer();
    //Open input PDF file
    viewer.bindPdf(document);
    //Print PDF document
    viewer.printDocument();
    //Close PDF file
    viewer.close();

    使用Java打印PDF時(shí)檢查打印任務(wù)的狀態(tài)

    將文件發(fā)送到打印機(jī)的打印隊(duì)列后,您可以關(guān)注打印作業(yè)的狀態(tài)。這使您的應(yīng)用程序可以確定打印是否成功。PdfViewer類(lèi)公開(kāi)了getPrintStatus方法,該方法可幫助您檢查打印作業(yè)的狀態(tài)。例如,在將PDF打印為XPS格式時(shí),可以按照以下步驟獲取狀態(tài):

    • 加載輸入PDF文件
    • 設(shè)置打印屬性
    • 創(chuàng)建打印機(jī)和頁(yè)面設(shè)置的對(duì)象
    • 設(shè)置打印機(jī)名稱(chēng)
    • 將輸出打印到文件
    • 檢查打印狀態(tài)

    以下代碼顯示了如何使用Java代碼在PDF打印過(guò)程中檢查打印任務(wù)的狀態(tài):

    // Create PdfViewer object
    PdfViewer viewer = new PdfViewer();
    // Open input PDF file
    viewer.bindPdf(dataDir + "test.pdf");
    // Set attributes for printing
    viewer.setAutoResize(true); // Print the file with adjusted size
    viewer.setAutoRotate(true); // Print the file with adjusted rotation
    viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing
    
    // Create objects for printer and page settings and PrintDocument
    PrintPageSettings pgs = new PrintPageSettings();
    PdfPrinterSettings ps = new PdfPrinterSettings();
    
    // Set printer name
    ps.setPrinterName("Microsoft Print to PDF");
    
    
    // Resultant Printout name
    ps.setPrintFileName(dataDir + "ResultantPrintout.xps");
    
    // Print the output to file
    ps.setPrintToFile(true);
    
    // Print the document with settings specified above
    viewer.printDocumentWithSettings(pgs, ps);
    
    // Check the print status
    if (viewer.getPrintStatus() != null)
    {
        // An exception was thrown
        Exception ex = (Exception)viewer.getPrintStatus();
        if (ex != null)
        {
            // Get exception message
        }
    }
    else
    {
        // No errors were found. Printing job has completed successfully
        System.out.println("printing completed without any issue..");
    }

    還想要更多嗎?您可以點(diǎn)擊閱讀【2020 · Aspose最新資源整合】查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢(xún)和咨詢(xún)
    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線(xiàn)
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();