打印 PDF 文档是应用程序开发中的常见要求。无论您是生成报告、发票还是任何其他类型的文档,直接从代码到打印机打印 PDF 文件都是一项很有价值的功能。在这篇博文中,我们将学习如何使用 Python 将 PDF 文件打印到打印机。
本文涵盖以下主题:
- 将 PDF 打印到打印机的 Python 库
- 在 Python 中打印 PDF 文件
- 批量打印PDF文件
- 打印 PDF 的特定页面
- 指定打印 PDF 的页面尺寸
- 打印受保护的 PDF 文件
- 将 PDF 转换为灰度并在 Python 中打印
- 许可
- 免费资源
将 PDF 打印到打印机的 Python 库
为了在 Python 中以编程方式打印 PDF 文件,我们将使用 Aspose.PDF for Python via .NET 库。安装和使用简单,它提供了使用 Python 代码将 PDF 文件发送到打印机的高效解决方案。 Aspose.PDF for Python 允许开发人员在其 Python 应用程序中生成、操作和转换 PDF 文档。
要开始在 Python 中打印 PDF 文档,我们首先需要安装必要的库。请在控制台中使用以下 pip 命令下载软件包或从 PyPI 安装 API:
> pip install aspose-pdf
在 Python 中打印 PDF 文件
我们可以按照以下步骤在 Python 中以编程方式轻松打印 PDF 文件:
- 创建 PdfViewer 类的实例。
- 使用bindpdf() 方法加载输入PDF 文档。
- 之后,调用 printdocument() 方法打印 PDF 文件。
- 最后,使用 close() 方法关闭 PDF 查看器。
以下代码示例展示了如何在 Python 中打印 PDF 文件。
# 此代码示例演示如何在 Python 中打印 PDF 文件。
import aspose.pdf as ap
# 创建 PdfViewer 对象
viewer = ap.facades.PdfViewer();
# 打开输入 PDF 文件
viewer.bind_pdf("Document.pdf");
# 打印 PDF 文档
viewer.print_document();
# 关闭 PDF 文件
viewer.close();
在 Python 中打印多个 PDF 文件
我们还可以通过Python批量打印文件夹中的PDF文件,步骤如下:
- 从提供的文件夹路径加载 PDF 文件。
- 循环浏览所有 PDF 文件。
- 创建 PdfViewer 类的实例。
- 使用bindpdf() 方法将每个输入PDF 文件一一绑定。
- 之后,调用 printdocument() 方法打印 PDF 文件。
- 最后,使用 close() 方法关闭 PDF 查看器。
以下代码示例展示了如何在 Python 中打印多个 PDF 文件。
# 此代码示例演示了如何在 Python 中一次打印多个 PDF 文件。
import os
import aspose.pdf as ap
# 包含要打印的 PDF 文件的目录路径
path = "D:\\Files\\"
# 获取 PDF 文件
files = [f for f in os.listdir(path) if f.endswith(".pdf")]
# 读取所有文件并打印
for file in files:
# 创建 PdfViewer 对象
viewer = ap.facades.PdfViewer();
# 打开输入 PDF 文件
viewer.bind_pdf(path + file);
# 打印 PDF 文档
viewer.print_document();
# 关闭 PDF 文件
viewer.close();
在Python中打印PDF的特定页面
在某些情况下,我们可能需要打印 PDF 文档中特定范围的页面。为此,我们需要指定起始页码和终止页码。我们可以按照以下步骤打印页面范围:
- 创建 PdfViewer 类的实例。
- 使用bindpdf() 方法加载输入PDF 文档。
- (可选)指定各种查看器属性,例如自动调整大小、自动旋转等。
- 创建 PageSettings 类的实例。
- 初始化 PrinterSettings 类对象。
- 指定 printrange、frompage 和 toppage 属性。
- 之后,调用viewer.printdocumentwithsettings()方法使用打印机和页面设置打印文档。
- 最后,使用 close() 方法关闭 PDF 查看器。
以下代码示例展示了如何使用 Python 打印 PDF 文档的特定页面。
# 此代码示例演示如何使用 Python 打印 PDF 文件中的一系列页面。
import aspose.pdf as ap
# 创建 PdfViewer 对象
viewer = ap.facades.PdfViewer();
# 打开输入 PDF 文件
viewer.bind_pdf("Document.pdf");
# 设置打印属性
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False
# 为打印机和页面设置以及 PrintDocument 创建对象
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();
# 设置打印机名称
ps.printer_name = "Microsoft Print to PDF";
ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;
# 使用打印机和页面设置打印文档
viewer.print_document_with_settings(pgs, ps);
# 关闭 PDF 文件
viewer.close();
指定打印 PDF 的页面尺寸
同样,我们也可以按照前面提到的步骤在打印PDF文件时指定页面大小。但是,我们只需要在步骤 6 中使用 PaperSize 类指定纸张尺寸并使用 Margins 类指定边距。
以下代码示例展示了如何使用 Python 以特定页面大小和边距打印 PDF 文档。
# 此代码示例演示如何使用 Python 打印 PDF 文件中的一系列页面。
import aspose.pdf as ap
# 创建 PdfViewer 对象
viewer = ap.facades.PdfViewer();
# 打开输入 PDF 文件
viewer.bind_pdf("Document.pdf");
# 设置打印属性
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False
# 为打印机和页面设置以及 PrintDocument 创建对象
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();
# 设置打印机名称
ps.printer_name = "Microsoft Print to PDF";
ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;
# 设置页面大小(如果需要)
pgs.paper_size = ap.printing.PaperSize("A4", 827, 1169);
# 设置页边距(如果需要)
pgs.margins = ap.devices.Margins(0, 0, 0, 0);
# 使用打印机和页面设置打印文档
viewer.print_document_with_settings(pgs, ps);
# 关闭 PDF 文件
viewer.close();
在 Python 中打印受保护的 PDF 文件
我们可以按照以下步骤打印安全或受密码保护的 PDF 文件:
- 使用 Document 类加载带有密码的受保护 PDF。
- 创建 PdfViewer 类的实例。
- 使用bindpdf()方法绑定PDF文档。
- 之后,调用 printdocument() 方法打印 PDF 文件。
- 最后,使用 close() 方法关闭 PDF 查看器。
以下代码示例演示如何在 Python 中打印受保护的 PDF 文件。
# 指定用户或所有者密码时加载安全 PDF 文档
document = ap.Document("Password.pdf" , "userORowner");
# 创建 PdfViewer 对象
viewer = ap.facades.PdfViewer();
# 打开输入 PDF 文件
viewer.bind_pdf(document);
# 打印 PDF 文档
viewer.print_document();
# 关闭 PDF 文件
viewer.close();
将 PDF 转换为灰度并在 Python 中打印
我们可以按照以下步骤以灰度打印 PDF 文档:
- 使用 Document 类加载输入 PDF 文档。
- 初始化 RgbToDeviceGrayConversionStrategy 类对象。
- 循环遍历所有页面并使用strategy.convert()方法转换为灰度。
- 创建 PdfViewer 类的实例。
- 使用bindpdf()方法绑定PDF文档。
- 之后,调用 printdocument() 方法打印 PDF 文件。
- 最后,使用 close() 方法关闭 PDF 查看器。
以下代码示例展示了如何将 PDF 转换为灰度,然后使用 Python 进行打印。
# 此代码示例演示如何在 Python 中将 PDF 文件打印为灰度。
import aspose.pdf as ap
# 加载输入的 PDF 文档
document = ap.Document("D:\\Files\\Output.pdf");
# 启动 RGB 到 Device Gry 转换策略
strategy = ap.RgbToDeviceGrayConversionStrategy();
# 循环浏览所有页面
for page in document.pages:
# 将 RGB 色彩空间图像转换为灰度色彩空间
strategy.convert(page);
# 创建 PdfViewer 对象
viewer = ap.facades.PdfViewer();
# 打开输入 PDF 文件
viewer.bind_pdf(document);
# 打印 PDF 文档
viewer.print_document();
# 关闭 PDF 文件
viewer.close();
获取免费许可证
您可以获取临时许可证以便在没有评估限制的情况下使用该库。
打印 PDF – 免费资源
除了在 Python 中将 PDF 打印到打印机之外,您还可以了解有关创建、操作和转换 PDF 文档的更多信息,并使用以下资源探索该库的各种其他功能:
结论
在本文中,我们学习了如何在 Python 中打印 PDF 文件。通过利用 Aspose.PDF for Python,您可以轻松地从 Python 代码中将 PDF 文件发送到打印机。这一强大的功能使用户能够跨不同应用程序无缝生成报告和管理文档工作流程。通过遵循本博客文章中概述的步骤,您可以自动执行打印 PDF 的任务。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。