IRONSOFTWAREHOME

如何使用 Python 打印 PDF 文件

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

在文档自动化工作流中,使用Python打印PDF文件是常见需求——生成时发送至打印机的发票、自动排队的运输标签、按计划发送的审计报告。 IronPDF for Python提供两种直接方法:pdf.GetPrintDocument()用于完全控制页面范围、打印机选择、份数和检查。

本指南涵盖了安装、加载PDF、默认打印以及与每种工作的代码示例一起的自定义打印设置。

快速入门:使用 Python 打印 PDF 文件
  1. 安装 IronPDF:pip install ironpdf
  2. 导入库:from ironpdf import *
  3. 加载您的PDF:pdf = PdfDocument.FromFile("MyPdf.pdf")
  4. 使用默认设置打印:pdf.Print()
  5. 或先配置设置:printer_setting = pdf.GetPrintDocument()
from ironpdf import *

# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"

# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
Python

什么是IronPDF以及它如何帮助PDF打印?

IronPDF 是一个 Python 库,使开发人员能够生成、操作和转换 PDF 文档。 库的打印支持涵盖两种模式:通过单一方法调用,以默认打印机直接输出,以及在文档级访问PrinterSettings以获得完整的打印机控制。

使用IronPDF,打印机通信的底层复杂性由库处理。 开发者使用高级API,而不是管理操作系统级打印假脱机程序交互、subprocess命令或平台特定的打印实用工具。 这意味着相同的Python代码在Windows、Linux和macOS上都可以无需修改运行。

其关键功能是将HTML、CSS和JavaScript转换为PDF再进行打印——当源材料是Web模板或动态报告而不是现有文件时很有用。有关更多信息,请参阅HTML到PDF教程。 该库还支持在打印前合并PDF和压缩PDF,以减少大型文档的后台传输时间。

为什么选择IronPDF进行Python PDF打印?

IronPDF提供了完整的打印API,而不是依赖于诸如Ghostscript或Adobe Reader命令行标记等外部工具。 该库内部处理文档渲染,这意味着打印输出与屏幕显示效果完全匹配。 跨平台支持、一致的PrinterSettings访问,以及不依赖于本地安装的PDF查看器是比基于子进程的方法的主要实际优势。

当要打印的内容尚不存在作为PDF时,该库也特别有用。 开发者可以从HTML模板创建PDF,添加页眉和页脚,应用带有自定义字体的页面布局,然后将结果直接发送到打印机——所有这些都可以在一个Python脚本中完成。 这使得IronPDF适用于从文档生成到打印管道,而不仅仅是用于打印现有文件。


如何安装IronPDF for Python?

IronPDF包在PyPI上可用,并且只需一个pip命令即可安装。

> pip install ironpdf

安装后,在脚本顶部添加导入语句:

from ironpdf import *
Python

IronPDF需要Python 3.6或更高版本。 该包在首次使用时自动下载IronPDF渲染引擎,因此初次导入可能需要一些时间。 对于限制出站访问的环境,请参阅IronPDF引擎配置指南以获取离线设置选项。

设置您的许可证密钥

生产环境使用需要许可证密钥。 在进行任何其他IronPDF调用之前设置:

from ironpdf import *

License.LicenseKey = "YOUR-LICENSE-KEY"
Python

该库在试用模式下无需密钥即可用于开发和评估,但输出的PDF会包含试用水印。 有关安装问题的故障排除,请查阅安装故障排除指南。


如何加载PDF文件以进行打印?

IronPDF Python PdfDocument.FromFile() 从文件系统加载PDF到PdfDocument对象以备打印

使用IronPDF for Python,将PDF从文件系统加载到PdfDocument对象。

IronPDF使用PdfDocument.FromFile()从文件系统加载PDF文件。 该方法接受文件路径字符串并返回一个PdfDocument对象,准备打印、操作或检查。

from 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")
Python

上述代码演示了三种加载模式。 FromFile()是文件系统工作流中最常用的。 FromBytes()在PDF作为来自数据库查询或API响应的二进制数据到达时很有用。 FromFile()中的可选密码参数处理加密的PDF,无需任何额外的解密步骤。

对于来源于URL或HTML内容的PDF,IronPDF还可以将URL转换为PDF或将HTML文件渲染为PDF后再进行打印。

支持的输入来源

除了PDF文件,IronPDF还可以从图像、HTML字符串和实时URL生成可打印的文档。 这在打印工作流中很有用,当源数据还不是PDF时,例如,首先将包含图表的报表模板渲染为PDF,然后再发送到打印机。


如何使用默认设置打印PDF?

Python脚本调用pdf.Print(),结果打印作业在Windows打印队列中可见

使用IronPDF的Print()方法的Python脚本将PDF作业发送到系统默认打印机。

Print()方法使用默认页面设置将文档发送到系统的默认打印机。 无需额外配置。

from ironpdf import *

License.LicenseKey = "YOUR-LICENSE-KEY"

# Load the PDF
pdf = PdfDocument.FromFile("invoice.pdf")

# Print to default printer with default settings
pdf.Print()
Python

默认设置使用系统配置的默认打印机,打印所有页面,应用打印机自身的默认纸张大小和方向,并发送一份副本。 这对于用户的打印机配置已经符合文档要求的简单工作流来说是正确的选择。

对于生产代码,将打印调用包装在错误处理中,以捕获打印机离线或权限错误:

from 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}")
Python

异常消息提供操作系统级别的打印失败细节,例如打印机是否离线、假脱机程序是否暂停或者文档渲染失败。


如何在打印前自定义打印设置?

IronPDF Python GetPrintDocument() 显示PrinterSettings属性,包括在Python脚本中设置的PrinterName、FromPage、ToPage和Copies

IronPDF的GetPrintDocument()方法返回一个PrintDocument对象,具有对PrinterSettings属性的完全访问权限。

PrinterSettings API。 这允许在发送作业之前选择命名打印机、设置页面范围、控制副本和整理以及配置双面模式。

from 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()
Python

PrinterSettings.PrinterName属性接受打印机的显示名称,如它在操作系统的打印机列表中所显示。在Windows上,这与"设备和打印机"中显示的名称匹配。 在Linux上,它对应于CUPS打印机名称。 设置无效的打印机名称将导致打印作业在运行时失败,因此在构建面向用户的打印对话框时请根据已安装的打印机列表验证名称。

[System.Drawing.Printing.PrinterSettings]::InstalledPrinters,或使用pywin32的Python win32print模块以编程方式枚举打印机。

选择页面和管理副本

ToPage属性定义了包含的页面范围。 页码从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"])
Python

对于高容量批量作业,考虑异步打印以避免在作业假脱机时阻塞主线程。


Python PDF 打印的下一步是什么?

本指南介绍了IronPDF for Python中的两种核心打印模式:使用pdf.GetPrintDocument()的自定义设置输出。 这两种方法在Windows、Linux和macOS上都可以工作,不需要特定的平台代码。

在生产应用程序中扩展这些模式时请考虑:

从免费试用许可证开始,以在您的环境中测试打印。 许可选项从$999开始用于生产部署。

下载本指南使用的完整源代码。

常见问题解答

用 Python 打印 PDF 文件的最快方法是什么?

最快的方法是IronPDF的Print()方法。安装pip install ironpdf后,加载一个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块中,以捕获每个文件的错误而不会停止整批。对于高容量作业,考虑异步执行以避免阻塞主线程。

How does IronPDF handle PDFs in environments with restricted internet access?

For environments with restricted internet access, IronPDF provides an offline setup option for its rendering engine as described in their [IronPDF Engine configuration guide](https://ironpdf.com/python/get-started/use-ironpdfengine/).

Can IronPDF handle password-protected PDFs for printing?

Yes, IronPDF can handle password-protected PDFs by providing the password when loading the file with `PdfDocument.FromFile()`.

How can I batch print multiple PDFs using IronPDF?

To batch print multiple PDFs, loop through the file paths and call the `Print()` method on each `PdfDocument` after loading it with IronPDF.

What are some advanced features of IronPDF for printing PDFs?

IronPDF supports advanced features such as converting HTML to PDF, filling PDF forms, adding watermarks or digital signatures, and extracting text from PDFs for comprehensive document workflows.

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

版本:2026.9刚刚发布

免费获取

30天试用密钥 即刻获取。

bullet_checked无需信用卡或创建账户
bullet_test在生产环境中测试
且无水印
bullet_calendar30天完全
功能性产品
bullet_support试用期间提供
24/5技术支持
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
Python 模块下载 PDF
using pip 安装

版本: 2026.9

  1. 下载 并安装 Python 3.7+。
  2. 如果尚未安装,请从 pypi.org 安装 pip。
  3. 在终端中执行上述命令。
Python PDF 模块
下载 模块

版本: 2026.9

手动安装到您的项目中

  1. 下载软件包
  2. 在终端中运行此命令
    pip install ironpdf-2026.9-py37-none-win_amd64.whi

$999 起

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
Python 模块下载 PDF
using pip 安装

版本: 2026.9

  1. 下载 并安装 Python 3.7+。
  2. 如果尚未安装,请从 pypi.org 安装 pip。
  3. 在终端中执行上述命令。
Python PDF 模块
下载 模块

版本: 2026.9

手动安装到您的项目中

  1. 下载软件包
  2. 在终端中运行此命令
    pip install ironpdf-2026.9-py37-none-win_amd64.whi

$999 起