翻譯|使用教程|編輯:李顯亮|2020-11-17 10:13:47.673|閱讀 346 次
概述:在不同的公司和組織中,打印PDF文檔通常是一項關鍵功能,可以通過在環境中進行配置來使用Aspose.PDF for Java API 。在本文中,將介紹在Java應用程序中可能出現的不同PDF打印方案
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在不同的公司和組織中,打印PDF文檔通常是一項關鍵功能,可以通過在環境中進行配置來使用Aspose.PDF for Java API 。在本文中,將介紹在Java應用程序中可能出現的不同PDF打印方案。
目前,Java版Aspose.PDF升級到v20.10版,感興趣的朋友可點擊下方按鈕下載最新版。(安裝包僅提供部分功能,并設置限制,如需試用完整功能請)
按照以下步驟使用Java代碼輕松打印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語言,打印多個文件或批量打印PDF文件是一個簡單的過程。您可以按照以下步驟打印許多PDF文件:
以下代碼顯示了如何使用Java語言打印多個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(); }
API在打印PDF文件時為您提供了很多控制。可以根據需要在打印文件時使用不同的字段和方法。例如,如果不想打印PDF文件的所有頁面,而只打印幾頁。它可以是連續的頁面范圍,例如從第3頁到第7頁,也可以是隨機的頁面,如第1,5和6頁。可以通過以下步驟涵蓋這兩種情況:
以下代碼顯示了如何使用Java打印PDF文檔中的特定頁面或頁面范圍:
// 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);
有時,PDF文件使用密碼保護或加密,以確保對數據的授權訪問。可以使用Java代碼輕松訪問和打印安全或加密的PDF文件,并根據需要打印文件。需要按照以下步驟操作:
以下代碼基于以下步驟,這些步驟說明了如何使用Java代碼打印受保護的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();
將文件發送到打印機的打印隊列后,您可以關注打印作業的狀態。這使您的應用程序可以確定打印是否成功。PdfViewer類公開了getPrintStatus方法,該方法可幫助您檢查打印作業的狀態。例如,在將PDF打印為XPS格式時,可以按照以下步驟獲取狀態:
以下代碼顯示了如何使用Java代碼在PDF打印過程中檢查打印任務的狀態:
// 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.."); }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn