如何在 Java 中列印 PDF 檔案

如何使用 Java 列印 PDF 檔案

This article was translated from English: Does it need improvement?
Translated
View the article in English

若要在 Java 中列印 PDF 檔案,請使用 IronPDF 函式庫,該函式庫提供諸如 printWithoutDialog() 用於立即列印,以及 print() 用於向使用者顯示列印對話方塊選項等簡易方法。

快速入門:在 Java 中列印 PDF 檔案

```java :title=快速入門 // 將 IronPDF 依賴項新增至您的 Maven pom.xml 檔案 // 匯入 IronPDF 類別 import com.ironsoftware.IronPDF.*;

// 載入 PDF 文件 PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

// 無對話框列印 pdf.printWithoutDialog();

// 或顯示列印對話方塊 pdf.print();


## 什麼是 Java 中的 PDF 列印?

PDF 在 Java 應用程式中至關重要,因為它讓開發人員能夠以平台獨立的方式建立和處理 PDF 文件。 PDF 格式廣泛用於儲存和分享文件,對於處理文件管理或基於文件的工作流程的 Java 應用程式而言,PDF 格式至關重要。

在 Java 中進行 PDF 列印,是指透過程式化方式將 PDF 文件傳送至實體或虛擬印表機。 此功能對於自動化文件列印工作流程、生成發票、報告或其他可列印文件的商業應用程式至關重要。 Java 開發人員常在桌面應用程式、伺服器端應用程式或批次處理系統中實作 PDF 列印功能。

在 Java 中有幾種方法可以生成並列印 PDF 檔案。 常見的做法是使用提供 PDF 文件建立與處理類別的函式庫。 本指南說明如何在 Java 應用程式中使用 IronPDF 函式庫來產生並列印 PDF 檔案。 如需 IronPDF 功能的完整文件,請參閱《[入門概覽](https://ironpdf.com/java/docs/)》。

<hr>

<div class="hsg-featured-snippet">
<h2>如何在 Java 中列印 PDF 檔案</h2>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">安裝 Java 函式庫以列印 PDF 檔案</a></li>
<li>使用 <a href="#anchor-load-a-pdf-in-a-java-application"><code>PdfDocument</code></a> 類別載入現有 PDF</li>
<li>呼叫 <a href="#anchor-print-a-pdf-document-with-default-settings"><code>printWithoutDialog</code></a> 方法以立即列印</li>
<li>設定印表機設定以客製化輸出</li>
<li>使用 <a href="#anchor-the-print-dialog"><code>PRINT</code></a> 方法列印 PDF 以顯示對話方塊</li>
</ol>
</div>

## 什麼是 IronPDF Java PDF 函式庫?

IronPDF 是一款用於生成、處理及轉換 PDF 文件的 Java 函式庫。 它基於 [IronPDF C# .NET 函式庫](/),該函式庫為 .NET 平台提供類似的功能。

IronPDF 提供用於處理 PDF 文件的高階 API,讓開發人員無需處理低階檔案格式的細節,即可輕鬆操作 PDF 檔案。 它支援常見的 PDF 操作,例如建立新文件、新增內容、格式化文字、合併 PDF 檔案以及分割 PDF 檔案。

IronPDF 支援將 HTML、CSS 和 JavaScript 程式碼轉換為 PDF,讓您能輕鬆地從網頁或 HTML 範本產生 PDF 檔案。 此外,它還提供 PDF 列印功能。 此函式庫處理 PDF 生成與列印的所有複雜流程,提供簡單直覺的 API,讓 Java 開發人員能輕鬆將其整合至應用程式中。 進一步了解如何利用 IronPDF 的全面功能[,在 Java 中建立 PDF 檔案](https://ironpdf.com/java/how-to/java-create-pdf-tutorial/)。

## 如何使用 IronPDF for Java 列印 PDF 文件?

### 有哪些先決條件?

要在 Java 中列印 PDF 檔案,您需要:

1. Eclipse 整合開發環境 (IDE) 或任何其他 Java 整合開發環境 (IntelliJ IDEA、NetBeans 等)
2. 在 Eclipse 或其他 IDE 中執行的 Maven 專案
3. 需具備穩定的網路連線以安裝 IronPDF for Java 函式庫
4. 已安裝 Java 開發套件 (JDK) 8 或更高版本
5. 一份用於測試的 PDF 檔案

### 如何在 Maven 專案中安裝 IronPDF 函式庫?

若要在 Maven 專案中安裝 IronPDF,請將 IronPDF 依賴項新增至專案的 `pom.xml` 檔案中。

請將以下依賴項新增至 `pom.xml` 檔案的 `<dependencies>` 區段中:

```xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>

pom.xml 檔案中加入依賴項後,請在終端機中執行 mvn install 指令,或按下 Ctrl+S 即可在您的 Maven 專案中下載並安裝 IronPDF。 Maven 建置系統會自動下載所有必要的依賴項,並將其提供給您的專案使用。

在使用 IronPDF 之前,請在位於 src/main/java 資料夾中的主要 App.java 原始碼檔案中導入 IronPDF 類別。

IDE package explorer showing IronPDF-java project structure with src/main/java and App.java file

IronPDF for Java 的套件探索器樹狀結構

開啟"App.java"檔案,並使用以下匯入語句加入 IronPDF 套件:

import com.ironsoftware.IronPDF.*;
import com.ironsoftware.IronPDF.*;
JAVA

如何在 Java 應用程式中載入 PDF 檔案?

IronPDF for Java 提供了一個建構函式,用於將 PDF 內容載入至該函式庫中。 有效的參數包括位元組陣列和檔案路徑。 對於受密碼保護的文件,可提供包含密碼的第三個參數。

以下程式碼片段會載入位於檔案系統中的 PDF 檔案:

// Set the license key for IronPDF
// Learn more about licensing at https://ironpdf.com/java/get-started/license-keys/
License.setLicenseKey("Enter-Your-License");  

// Load PDF from the filesystem
PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

// Alternative: Load from byte array
// byte[] pdfBytes = Files.readAllBytes(Paths.get("MyPdf.pdf"));
// PdfDocument pdfFromBytes = new PdfDocument(pdfBytes);

// For password-protected PDFs
// PdfDocument protectedPdf = new PdfDocument(Paths.get("Protected.pdf"), "password123");
// Set the license key for IronPDF
// Learn more about licensing at https://ironpdf.com/java/get-started/license-keys/
License.setLicenseKey("Enter-Your-License");  

// Load PDF from the filesystem
PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

// Alternative: Load from byte array
// byte[] pdfBytes = Files.readAllBytes(Paths.get("MyPdf.pdf"));
// PdfDocument pdfFromBytes = new PdfDocument(pdfBytes);

// For password-protected PDFs
// PdfDocument protectedPdf = new PdfDocument(Paths.get("Protected.pdf"), "password123");
JAVA

如何使用預設設定列印 PDF 文件?

IronPDF 提供兩種列印 PDF 檔案的方式。 前者會立即使用預設的印表機和頁面設定來列印文件。 請使用 printWithoutDialog 方法執行此操作。 此方法適用於無需使用者互動的自動化批次列印情境。

// Print PDF document using default printer settings without showing a print dialog
// This will immediately send the document to the default system printer
pdf.printWithoutDialog();

// The method returns immediately after sending the print job to the spooler
System.out.println("PDF document sent to default printer");
// Print PDF document using default printer settings without showing a print dialog
// This will immediately send the document to the default system printer
pdf.printWithoutDialog();

// The method returns immediately after sending the print job to the spooler
System.out.println("PDF document sent to default printer");
JAVA

此方法非常適合用於伺服器端應用程式、自動化工作流程,或當您希望提供無需使用者輸入的快速PRINT選項時。 若需處理更進階的列印情境,請參閱文件中的"列印 PDF"範例

什麼是PRINT對話方塊?

第二種方式允許使用者在列印前指定列印選項。 請使用 print 方法來實現此功能。 此方法會顯示標準的系統列印對話方塊,讓使用者能完全掌控列印流程。

// Display print dialog to let the user specify printing options
// This will show the system print dialog with all available printers
pdf.print();

// The method will wait for user interaction before proceeding
// User can select printer, paper size, orientation, number of copies, etc.
// Display print dialog to let the user specify printing options
// This will show the system print dialog with all available printers
pdf.print();

// The method will wait for user interaction before proceeding
// User can select printer, paper size, orientation, number of copies, etc.
JAVA

呼叫此方法時會顯示列印對話方塊,讓使用者能夠變更印表機、設定紙張尺寸、調整列印份數等。 此方法非常適合需要使用者自行控制列印選項的桌面應用程式。 進一步了解如何透過額外選項將文件列印至實體印表機

Windows Print dialog with Microsoft Print to PDF selected, showing page range, copies, and print options

使用 PRINT() 方法執行程式後顯示的列印對話方塊

什麼是完整原始碼?

本指南所使用的完整原始檔案如下:

package IronPDF.ironpdf_java;

// Import statement for IronPDF Java
import com.ironsoftware.IronPDF.*;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws PrinterException, IOException {
        // Apply your license key
        // Get your license key from https://ironpdf.com/java/get-started/license-keys/
        License.setLicenseKey("Enter-Your-License");

        // 載入 PDF 文件 from the file system
        PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

        // Option 1: Print the PDF document without displaying a print dialog
        // Uses default printer and settings
        pdf.printWithoutDialog();

        // Option 2: Display the print dialog for the user to configure printing options
        // Allows selection of printer, copies, page range, etc.
        pdf.print();

        // Don't forget to close the document when done
        pdf.close();
    }
}
package IronPDF.ironpdf_java;

// Import statement for IronPDF Java
import com.ironsoftware.IronPDF.*;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws PrinterException, IOException {
        // Apply your license key
        // Get your license key from https://ironpdf.com/java/get-started/license-keys/
        License.setLicenseKey("Enter-Your-License");

        // 載入 PDF 文件 from the file system
        PdfDocument pdf = new PdfDocument(Paths.get("MyPdf.pdf"));

        // Option 1: Print the PDF document without displaying a print dialog
        // Uses default printer and settings
        pdf.printWithoutDialog();

        // Option 2: Display the print dialog for the user to configure printing options
        // Allows selection of printer, copies, page range, etc.
        pdf.print();

        // Don't forget to close the document when done
        pdf.close();
    }
}
JAVA

有關可用列印方法與選項的詳細資訊,請參閱 IronPDF API 參考手冊。

PDF 列印的其他注意事項

在 Java 應用程式中實作 PDF 列印功能時,請考量以下重要因素:

錯誤處理

在列印 PDF 時,務必實施適當的錯誤處理機制。 印表機可能處於離線狀態、缺紙,或發生其他問題:

try {
    pdf.printWithoutDialog();
} catch (PrinterException e) {
    System.err.println("Printing failed: " + e.getMessage());
    // Handle the error appropriately
}
try {
    pdf.printWithoutDialog();
} catch (PrinterException e) {
    System.err.println("Printing failed: " + e.getMessage());
    // Handle the error appropriately
}
JAVA

效能優化

對於大型 PDF 檔案或批次列印作業,建議在列印前先壓縮 PDF 檔案,以減少記憶體使用量並提升列印速度。

跨平台相容性

IronPDF 的列印功能適用於不同作業系統(Windows、Linux、macOS),但各平台的印表機設定與可用選項可能有所不同。 請務必在目標部署平台上測試您的列印實作。

進一步了解如何使用 IronPDF 函式庫在 Java 進行 PDF 列印

為什麼應該使用 IronPDF 進行 PDF 列印?

IronPDF 是一款功能強大且易於使用的函式庫,用於在 Java 應用程式中列印 PDF 檔案。 憑藉其全面的功能與詳盡的文件,IronPDF 能簡化專業級 PDF 的生成與自訂流程,無論是為了列印或分享。 無論是製作發票、報告或其他文件,IronPDF 都能提供您所需的工具。

IronPDF 提供與現有 Java 應用程式的無縫整合、強大的錯誤處理功能,以及跨平台相容性。 該函式庫採用簡潔的 API 設計,讓您僅需幾行程式碼即可實作 PDF 列印功能,同時在需要時仍可存取進階功能。

IronPDF 提供免費試用版,供您在實際生產環境中進行測試。 價格自 $999 起。 Give IronPDF a try and see how it can streamline your PDF printing workflow.

常見問題

如何在 Java 中列印 PDF 檔案而不顯示列印對話方塊?

若要在 Java 中不顯示對話方塊地列印 PDF 檔案,請使用 IronPDF 的 printWithoutDialog() 方法。首先,使用 PdfDocument 類別載入您的 PDF 文件,然後只需呼叫 pdf.printWithoutDialog(),即可立即列印至預設印表機。

print() 與 printWithoutDialog() 方法有何區別?

IronPDF 提供兩種列印方法:PRINT() 會顯示列印對話方塊,讓使用者在列印前選擇印表機設定與偏好;而 PRINTWithoutDialog() 則會直接將文件傳送至預設印表機,無需任何使用者互動,非常適合自動化批次列印。

如何將 IronPDF 加入我的 Java 專案以進行 PDF 列印?

若要在您的 Java 專案中加入 IronPDF,請將其作為依賴項加入 Maven 的 pom.xml 檔案中。加入後,請導入必要的 IronPDF 類別(import com.ironsoftware.ironpdf.*),即可在您的 Java 應用程式中使用 PDF 列印功能。

在 Java 中列印 PDF 時,我可以設定印表機設定嗎?

是的,IronPDF 允許您在列印 PDF 時設定印表機參數以客製化輸出。您可以指定各種列印參數與選項來控制 PDF 文件的列印方式,確保其符合您的特定需求。

在伺服器端的 Java 應用程式中,是否可以列印 PDF 檔案?

是的,IronPDF 支援在伺服器端 Java 應用程式中進行 PDF 列印。它常被應用於批次處理系統和自動化文件工作流程中,這些情境需要在不需使用者介入的情況下列印 PDF,因此非常適合用於生成發票、報告及其他文件的企业級應用程式。

PDF 列印支援哪些類型的印表機?

IronPDF 支援將文件印至實體與虛擬印表機。此項靈活性讓您能將 PDF 文件傳送至標準辦公室印表機、網路印表機或虛擬 PDF 印表機以進行後續處理,使其適用於各種商業情境與文件管理工作流程。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
版本: 2026.5 just released
Still Scrolling Icon

還在捲動嗎?

想要快速證明?
執行範例 觀看您的 HTML 變成 PDF。