在 Python 中列印 PDF 文件 |使用印表機列印 PDF |列印 PDF

列印 PDF 文件是應用程式開發中的常見要求。無論您是產生報告、發票或任何其他類型的文檔,直接從代碼到印表機列印 PDF 文件都是一項有價值的功能。在這篇文章中,我們將學習如何使用 Python 將 PDF 檔案列印到印表機。

本文涵蓋以下主題:

將 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 檔案:

  1. 建立 PdfViewer 類別的實例。
  2. 使用bindpdf() 方法載入輸入PDF 文件。
  3. 之後,呼叫 printdocument() 方法列印 PDF 檔案。
  4. 最後,使用 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文件,步驟如下:

  1. 從提供的資料夾路徑載入 PDF 檔案。
  2. 循環瀏覽所有 PDF 文件。
  3. 建立 PdfViewer 類別的實例。
  4. 使用bindpdf() 方法將每個輸入PDF 檔案一一綁定。
  5. 之後,呼叫 printdocument() 方法列印 PDF 檔案。
  6. 最後,使用 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();

在某些情況下,我們可能需要列印 PDF 文件中特定範圍的頁面。為此,我們需要指定起始頁碼和終止頁碼。我們可以按照以下步驟列印頁面範圍:

  1. 建立 PdfViewer 類別的實例。
  2. 使用bindpdf() 方法載入輸入PDF 文件。
  3. (可選)指定各種檢視器屬性,例如自動調整大小、自動旋轉等。
  4. 建立 PageSettings 類別的實例。
  5. 初始化 PrinterSettings 類別物件。
  6. 指定 printrange、frompage 和 toppage 屬性。
  7. 之後,呼叫viewer.printdocumentwithsettings()方法使用印表機和頁面設定列印文件。
  8. 最後,使用 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();

我們可以按照以下步驟列印安全或受密碼保護的 PDF 檔案:

  1. 使用 Document 類別載入帶有密碼的受保護 PDF。
  2. 建立 PdfViewer 類別的實例。
  3. 使用bindpdf()方法綁定PDF文件。
  4. 之後,呼叫 printdocument() 方法列印 PDF 檔案。
  5. 最後,使用 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 文件:

  1. 使用 Document 類別載入輸入 PDF 文件。
  2. 初始化 RgbToDeviceGrayConversionStrategy 類別物件。
  3. 循環遍歷所有頁面並使用strategy.convert()方法轉換為灰階。
  4. 建立 PdfViewer 類別的實例。
  5. 使用bindpdf()方法綁定PDF文件。
  6. 之後,呼叫 printdocument() 方法列印 PDF 檔案。
  7. 最後,使用 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 的任務。如有任何疑問,請隨時透過我們的免費支援論壇與我們聯繫。

也可以看看