如何使用Python列印PDF文件
在Python中列印PDF文件是文件自動化工作流程中的常見需求——生成時發送至列印機的發票、排隊自動列印的運送標籤、按計劃派發的審計報告。 IronPDF for Python 提供兩種直接方法:pdf.Print() 用於即時的預設列印機輸出,和 pdf.GetPrintDocument() 用於完全控制頁面範圍、列印機選擇、份數和整理。
本指南涵蓋安裝、載入PDF、預設列印及自定列印設定,並提供每個部分的工作程式碼範例。
快速入門:使用Python列印PDF文件
- 安裝IronPDF:
pip install ironpdf - 導入程式庫:
from ironpdf import * - 載入您的PDF:
pdf = PdfDocument.FromFile("MyPdf.pdf") - 使用預設設定列印:
pdf.Print() - 或先配置設定:
printer_setting = pdf.GetPrintDocument()
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-1.pyfrom ironpdf import *
# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
如何使用Python列印PDF文件
- 通過pip安裝IronPDF Python程式庫
- 使用
PdfDocument.FromFile()載入現有的PDF文件 - 使用
Print()方法立即將文件發送至預設列印機 - 使用
GetPrintDocument()方法存取可自訂的列印設定 - 在返回的
PrintDocument物件上執行Print()以使用配置的設定列印
什麼是IronPDF及其如何幫助PDF列印?
IronPDF是一個Python程式庫,讓開發者能夠生成、操作和轉換PDF文件。 程式庫的列印支援涵蓋兩種模式:通過單一方法調用直接的預設列印機輸出,以及文件層級的 PrinterSettings 以獲得完全的列印機控制。
使用IronPDF,列印機通信的基礎複雜性由程式庫處理。 開發者使用高階API而不是管理作業系統層級的列印緩衝器交互、subprocess 命令,或平台特定的列印工具。 這意味著相同的Python程式碼在Windows、Linux和macOS上無需修改即可運行。
一項關鍵功能是將HTML、CSS和JavaScript轉換為PDF後進行列印的能力——當來源資料是網頁模板或動態報告而非現有文件時尤為有用。更多詳情請參閱 HTML轉PDF教程。 該程式庫還支援在列印前 合併PDF 和 壓縮PDF,以縮短大文件的傳輸時間。
為什麼選擇IronPDF用於Python的PDF列印?
IronPDF提供完整的列印API,而非依賴於外部工具如Ghostscript或Adobe Reader命令行標誌。 程式庫內部處理文件渲染,這意味著列印輸出精確地匹配螢幕顯示。 跨平台支援、一致的 PrinterSettings 存取,以及不依賴於本地安裝的PDF查看器,是與基於子進程的方法相比的主要實際優勢。
當要列印的內容尚不存在為PDF時,該程式庫特別有用。 開發者可以 從HTML模板建立PDF,新增 頁眉和頁腳,應用 設有自定字體的頁面版式,然後直接將結果發送至列印機——所有這些都在單一的Python腳本內完成。 這使得IronPDF不僅適用於列印現有文件,還適用於從文件生成到列印的管線。
如何安裝 IronPDF for Python?
可在PyPI上獲得IronPDF包,並可通過單一的pip命令安裝。
pip install ironpdf
安裝後,在您的腳本頂部新增導入語句:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-3.pyfrom ironpdf import *
IronPDF要求使用Python 3.6或更高版本。 程式包會在首次使用時自動下載IronPDF渲染引擎,因此初次導入可能需要一些時間。 對於受限於出口存取的環境,請參閱 IronPDF引擎配置指南 以獲取離線設置選項。
設定您的授權金鑰
生產環境使用需要授權金鑰。 在任何其他IronPDF調用之前設置它:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-4.pyfrom ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
在開發和評估中,程式庫在 試用模式 下工作而不需要金鑰,但輸出PDF會包含試用水印。 如需排查安裝問題,請查閱 安裝疑難解答指南。
如何載入PDF文件進行列印?

使用IronPDF for Python從文件系統中載入PDF至PdfDocument物件。
IronPDF使用 PdfDocument.FromFile() 來從文件系統載入PDF文件。 該方法接受文件路徑字串並返回一個 PdfDocument 物件,準備進行列印、操作或檢查。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-5.pyfrom ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load from a file path
pdf = PdfDocument.FromFile("MyPdf.pdf")
# Load from bytes (e.g., a file read from a database or HTTP response)
with open("MyPdf.pdf", "rb") as f:
pdf_bytes = f.read()
pdf_from_bytes = PdfDocument.FromBytes(pdf_bytes)
# Load a password-protected PDF
protected_pdf = PdfDocument.FromFile("SecurePdf.pdf", "password123")
以上程式碼展示了三種載入模式。 FromFile() 是文件系統工作流程中最常使用的。 FromBytes() 當PDF作為二進制資料從資料庫查詢或API響應中到達時特別有用。 在 FromFile() 中的可選密碼參數處理 加密PDF,不需額外的解密步驟。
對於來源自URL或HTML內容的PDF,IronPDF還可以在列印前 將URL轉換為PDF 或 將HTML文件渲染為PDF。
支援的輸入來源
除了PDF文件外,IronPDF還可以從 圖像、HTML字串和即時URL生成可列印的文件。 這在印刷工作流程中很實用,當來源資料尚不是PDF時——例如,先將 圖表報告模板 渲染成PDF,然後發送至列印機。
如何使用預設設定列印PDF?

使用IronPDF的 `Print()` 方法的Python腳本將一個PDF任務發送至系統預設列印機。
Print() 方法使用預設頁面設定將文件發送至系統的預設列印機。 不需要額外配置。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-6.pyfrom ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load the PDF
pdf = PdfDocument.FromFile("invoice.pdf")
# Print to default printer with default settings
pdf.Print()
預設設置使用系統配置的預設列印機,列印所有頁面,適用列印機的預設紙張尺寸和方向,並發送一份副本。 這是簡單工作流的合適選擇,當使用者的列印機設置已符合文件要求時。
對於生產程式碼,將列印調用包裝在錯誤處理中以捕捉列印機離線或權限錯誤:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-7.pyfrom ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
try:
pdf = PdfDocument.FromFile("invoice.pdf")
pdf.Print()
except Exception as e:
print(f"Print job failed: {e}")
例外資訊提供有關列印失敗的操作系統層級詳情——例如,列印機是否離線,緩衝器是否暫停,或文件渲染失敗。
如何在列印前自訂列印設定?

IronPDF的 `GetPrintDocument()` 方法返回一個PrintDocument物件,具備能完全存取PrinterSettings屬性。
GetPrintDocument() 返回一個 PrintDocument 物件,揭示完整的 PrinterSettings API。 這讓選擇具名的列印機、設置頁面範圍、控制副本和整理,以及配置雙面模式在發送工作之前成為可能。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-8.pyfrom ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
pdf = PdfDocument.FromFile("quarterly-report.pdf")
# Access the PrintDocument object
printer_setting = pdf.GetPrintDocument()
# Select a specific printer by name
printer_setting.PrinterSettings.PrinterName = "HP LaserJet Pro"
# Print only pages 2 through 4
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4
# Print 2 collated copies
printer_setting.PrinterSettings.Copies = 2
printer_setting.PrinterSettings.Collate = True
# Execute the print job
printer_setting.Print()
PrinterSettings.PrinterName 屬性接受在操作系統列印機列表出現的列印機顯示名稱。在Windows上,這與"裝置和列印機"中顯示的名稱相符。 在Linux上,它對應於CUPS列印機名稱。 設置無效的列印機名稱將導致列印工作在運行時失敗,因此在構建面向使用者的列印對話框時,請驗證名稱是否符合已安裝的列印機列表。
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters,或使用Python中的 pywin32 模塊來程式上列舉列印機。選擇頁面和管理副本
FromPage 和 ToPage 屬性定義一個包括的頁面範圍。 頁碼從1開始。設置 FromPage = 1 和 ToPage = 0(預設值)列印所有頁面。 Copies 屬性接受整數; 與 Collate = True 相結合,列印機在開始下一份副本之前組裝完整的文件集——這是多頁面報告的正確行為。
批量列印多個PDF
對於列印文件隊列的工作流程,在文件列表中迴圈,並為每個文件調用 Print():
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
def batch_print(file_paths):
for path in file_paths:
try:
pdf = PdfDocument.FromFile(path)
pdf.Print()
except Exception as e:
print(f"Failed to print {path}: {e}")
batch_print(["invoice_001.pdf", "invoice_002.pdf", "shipping_label.pdf"])from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
def batch_print(file_paths):
for path in file_paths:
try:
pdf = PdfDocument.FromFile(path)
pdf.Print()
except Exception as e:
print(f"Failed to print {path}: {e}")
batch_print(["invoice_001.pdf", "invoice_002.pdf", "shipping_label.pdf"])對於大批量作業,考慮使用 非同步列印 以避免在每個作業快取時阻塞主執行緒。
Python PDF列印的下一步是什麼?
本指南涵蓋了IronPDF for Python的兩種核心列印模式:使用 pdf.Print() 的預設列印機輸出和使用 pdf.GetPrintDocument() 的自訂設定輸出。 兩種方法在Windows、Linux和macOS上都可無需平臺特定程式碼運行。
要在生產應用中擴展這些模式,請考慮:
using 免費試用授權 開始在您的環境中測試列印。 授權選項 以 $999 開始進行生產部署。
下載 本指南中使用的完整源程式碼。
常見問題
在Python中列印PDF文件的最快方法是什麼?
最快的方法是使用IronPDF的Print()方法。安裝完成後,使用pip install ironpdf,載入一個PDF文件PdfDocument.FromFile('yourfile.pdf'),並調用pdf.Print()立即使用預設頁面設定發送到預設印表機。
如何在Python中選擇特定印表機以列印PDF?
使用GetPrintDocument()存取PrintDocument物件,然後將printer_setting.PrinterSettings.PrinterName設置為目標印表機在您的作業系統印表機列表中顯示的名稱。在Windows中,這與“裝置和印表機”中的名稱匹配;在Linux中,則為CUPS印表機名稱。
如何在Python中只列印PDF的特定頁面?
調用pdf.GetPrintDocument()以獲取PrintDocument物件,然後將printer_setting.PrinterSettings.FromPage與printer_setting.PrinterSettings.ToPage設置為第一頁和最後一頁的頁碼(基於1)。調用printer_setting.Print()以使用這些設置執行。
IronPDF for Python是否在Linux和macOS上運行?
是的。IronPDF for Python在Windows、Linux和macOS上運行。相同的Python程式碼可無需平台特定的修改而運行。在Linux中,印表機選擇使用CUPS印表機名稱。需要在所有平台上安裝Python 3.6或更高版本。
需要授權金鑰才能使用IronPDF的列印功能嗎?
生成環境使用需要授權金鑰。在任何其他IronPDF調用之前,使用License.LicenseKey = 'YOUR-LICENSE-KEY'設置。在開發期間,該程式庫可在無鑰匙的情況下運行,但輸出的文件將帶有試用水印。免費試用授權可用於評估。
如何使用Python批量列印多個PDF文件?
迴圈遍歷文件路徑列表,對每個文件調用PdfDocument.FromFile(path)和pdf.Print()。將每次迭代包裹在try-except塊中,以捕獲每個文件的錯誤而不中斷整個批量。對於大批量工作,考慮使用異步執行以避免阻塞主執行緒。







