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