Python を使用して PDF ファイルを印刷する方法

Pythonを使用してPDFファイルを印刷する方法

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

PythonでのPDFファイルの印刷は、ドキュメント自動化ワークフローで一般的な要件です — 作成時にプリンターに送信される請求書、自動キューイングされる配送ラベル、スケジュールによって配布される監査レポートなど。 IronPDF for Pythonは2つの直接的な方法を提供します:即時にデフォルトプリンタで出力する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()
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-1.py
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は開発者がPDFドキュメントを生成、操作、変換できるようにするPythonライブラリです。 ライブラリの印刷サポートは2つのパターンをカバーします:単一メソッド呼び出しでの直接デフォルトプリンタ出力と、完全なプリンタ制御のためのPrinterSettingsへのドキュメントレベルアクセス。

IronPDFを使用すると、プリンター通信の根底にある複雑さはライブラリによって処理されます。 開発者は、OSレベルのプリントスプーラとのやり取りを管理する代わりに、高レベルAPIとsubprocessコマンドまたはプラットフォーム固有のプリントユーティリティを使います。 それにより、同じPythonコードがWindows、Linux、macOSで変更なしに動作します。

キースキルはHTML、CSS、JavaScriptをPDFに変換してから印刷する能力です。これは、ソースマテリアルが既存のファイルではなく、ウェブテンプレートや動的レポートである場合に役立ちます。詳細についてはHTMLからPDFのチュートリアルをご覧ください。 ライブラリはまた、印刷前にPDFを結合し、大きなドキュメントのスプール転送時間を減少させるためにPDFを圧縮することをサポートしています。

なぜPythonでのPDF印刷にIronPDFを選ぶのか?

IronPDFは完全な印刷APIを提供し、GhostscriptやAdobe Readerコマンドラインフラグのような外部ツールに依存しません。 ライブラリは内部でドキュメントのレンダリングを処理し、印刷出力が画面表示と正確に一致します。 クロスプラットフォームサポート、一貫したPrinterSettingsのアクセス、ローカルにインストールされたPDFビューアへの依存なしが、サブプロセスに基づいたアプローチよりも主要な実用的利点です。

また、印刷するコンテンツがまだPDFとして存在していない場合にも特に有用です。 開発者はHTMLテンプレートからPDFを作成し、ヘッダーとフッターを追加し、カスタムフォントを使用したページレイアウトを適用し、結果をプリンターに直接送信します — すべて単一 for Pythonスクリプト内で行います。 これにより、IronPDFは既存のファイルを印刷するだけでなく、ドキュメント生成から印刷へ至るパイプラインに適したものとなります。


Python用IronPDFはどのようにインストールしますか?

IronPDFパッケージはPyPIで入手可能で、シングルpipコマンドでインストールできます。

 pip install ironpdf

インストール後、スクリプトの上部にインポート文を追加します:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-3.py
from ironpdf import *
PYTHON

IronPDFはPython 3.6以降を必要とします。 パッケージは初めて使用されるときに自動的にIronPDFレンダリングエンジンをダウンロードするので、最初のインポートがしばらくかかるかもしれません。 アウトバウンドアクセスが制限された環境のために、オフライン設定オプションはIronPDFエンジン設定ガイドを参照ください。

ライセンスキーを設定する

実運用で使用するにはライセンスキーが必要です。 他のIronPDF呼び出しの前に設定してください:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-4.py
from ironpdf import *

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

ライブラリはトライアルモードでキーなしでの開発と評価に利用可能ですが、出力PDFにはトライアル透かしが含まれます。 インストールに関する問題解決については、インストールのトラブルシューティングガイドを参照ください。


PDFファイルを印刷用にロードする方法は?

IronPDF Python PdfDocument.FromFile() がファイルシステムからPDFを読み込み、印刷準備が整ったPdfDocumentオブジェクトに

IronPDF for Pythonを使用してファイルシステムからPdfDocumentオブジェクトにPDFをロードします。

IronPDFはPdfDocument.FromFile()を使用してファイルシステムからPDFファイルを読み込みます。 このメソッドはファイルパス文字列を受け取り、印刷、操作、または検査の準備が整ったPdfDocumentオブジェクトを返します。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-5.py
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

上記のコードは3つのロードパターンを示しています。 ファイルシステムワークフローでは、FromFile()が最も一般的です。 PDFがデータベースクエリまたはAPIレスポンスからバイナリデータとして到着する場合はFromBytes()が便利です。 FromFile()のオプションのパスワードパラメータは、暗号化されたPDFを追加の解読ステップなしで処理します。

URLまたはHTMLコンテンツから取得したPDFの場合、IronPDFは印刷前にURLをPDFに変換したり、HTMLファイルをPDFにレンダリングもできます。

サポートされている入力ソース

PDFファイルだけでなく、IronPDFは画像、HTML文字列、ライブURLから印刷可能なドキュメントを作成できます。 これは、ソースデータが既にPDF化されていない印刷ワークフローで役立ちます。例えば、チャート付きのレポートテンプレートをまずPDFに変換してからプリンターに送信できます。


Icon Quote related to サポートされている入力ソース

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic related to サポートされている入力ソース

Milan Jovanovic

Microsoft MVP

ケーススタディを見る
Icon Quote related to サポートされている入力ソース

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle related to サポートされている入力ソース

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る
Icon Quote related to サポートされている入力ソース

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones related to サポートされている入力ソース

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

デフォルト設定を使用してPDFを印刷するにはどうすればよいですか?

Pythonスクリプトがpdf.Print()を呼び出し、Windows印刷キューに表示される印刷ジョブ

IronPDFの`Print()`メソッドを使用してPDFジョブをシステムのデフォルトプリンターに送信するPythonスクリプト。

Print()メソッドは文書をシステムのデフォルトプリンタにデフォルトのページ設定で送信します。 追加の設定は不要です。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-6.py
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

デフォルト設定では、システムのデフォルトプリンターを使い、すべてのページを印刷し、プリンター自身のデフォルトの用紙サイズと向きを適用し、1部を送信します。 ユーザーのプリンタ設定がドキュメント要件と既に一致している場合、これはシンプルなワークフローに適しています。

本番コードでは、印刷呼び出しをエラーハンドリングでラップし、プリンターオフラインや許可エラーをキャッチします。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-7.py
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

例外メッセージは、印刷失敗についてOSレベルの詳細を提供します。例えば、プリンターがオフライン、スプーラーが一時停止中、またはドキュメントがレンダリングに失敗した場合。


印刷前に印刷設定をカスタマイズするにはどうすればよいですか?

IronPDF Python GetPrintDocument() がPythonスクリプトで設定されたPrinterName、FromPage、ToPage、Copiesを含むPrinterSettingsプロパティを示しています

IronPDFの`GetPrintDocument()`メソッドはPrinterSettingsプロパティにフルアクセスを提供するPrintDocumentオブジェクトを返します。

PrinterSettings APIを公開するPrintDocumentオブジェクトを返します。 これにより、指定された名前のプリンターの選択、ページ範囲の設定、コピーとコレーションの制御、そしてジョブを送信する前に両面モードを設定できます。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-8.py
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プロパティは、OSプリンタリストに表示される印刷の表示名を受け入れます。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"])
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の2つのコア印刷パターンについて説明しました:pdf.GetPrintDocument()でのカスタム設定出力。 この2つのアプローチは、プラットフォーム固有のコードなしでWindows、Linux、macOS上で動作します。

これらのパターンを本番アプリケーションで拡張するには、次の点を考慮してください。

  • 印刷前にPDFフォームを記入し、テンプレートから完成したドキュメントを作成する
  • 印刷に先立ち、透かしデジタル署名を追加する
  • ウェブテンプレートからの動的レポート印刷用にHTMLをPDFに変換する
  • 印刷したドキュメントからテキストを抽出し、監査ログとして記録する

無料トライアルライセンスで環境内での印刷テストを始めてください。 ライセンスオプションは、生産展開用に$999から始まります。

このガイドで使用された完全なソースコードはこちらからダウンロードできます。

よくある質問

PythonでPDFファイルを印刷する最も速い方法は何ですか?

最速の方法はIronPDFのPrint()メソッドです。pip install ironpdfでインストールし、PdfDocument.FromFile('yourfile.pdf')でPDFをロードし、pdf.Print()を呼び出して、デフォルトのページ設定で即座にデフォルトプリンタに送信します。

PythonでのPDF印刷時に特定のプリンタを選択する方法は?

GetPrintDocument()を使用してPrintDocumentオブジェクトにアクセスし、printer_setting.PrinterSettings.PrinterNameをOSのプリンタリストに表示されるターゲットプリンタの名前に設定します。Windowsではデバイスとプリンタの名前と一致し、LinuxではCUPSプリンタ名です。

Pythonで特定のPDFのページのみを印刷するには?

pdf.GetPrintDocument()を呼び出してPrintDocumentオブジェクトを取得し、printer_setting.PrinterSettings.FromPageprinter_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ブロックでラップし、全バッチを停止せずにファイルごとのエラーをキャッチします。高ボリュームのジョブには、メインスレッドのブロックを避けるために非同期実行を検討してください。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
バージョン: 2026.6 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。