フッターコンテンツにスキップ
PYTHON用IRONPDFを使用する

PythonでPDFファイルを見る方法

この記事では、IronPDFライブラリを使用してPythonでPDFファイルを表示する方法を探ります。

IronPDF - Python ライブラリ

IronPDF は、開発者がプログラム的にPDFファイルを操作できる強力なPythonライブラリです。 IronPDFを使用すると、PDFドキュメントからデータを生成、操作、抽出することが容易になり、さまざまなPDF関連のタスクにおいて多用途なツールになります。 スクラッチからPDFを作成する必要がある場合でも、既存のPDFを変更する場合でも、PDFからコンテンツを抽出する場合でも、IronPDFはワークフローを簡素化するための包括的な機能セットを提供します。

IronPDF for Python ライブラリの機能には次のようなものがあります。

注: IronPDFは、透かし入りのPDFデータファイルを生成します。透かしを削除するには、IronPDFをライセンスする必要があります。 IronPDFのライセンスバージョンを使用したい場合は、IronPDDFのWebサイトを訪れてライセンスキーを取得してください。

前提条件

PythonでIronPDFを使用する前に、いくつかの前提条件があります:

  1. Pythonのインストール:システムにPythonがインストールされていることを確認してください。 IronPDFはPython 3.xバージョンと互換性があるため、互換性のあるPythonインストールを持っていることを確認してください。
  2. IronPDFライブラリ:IronPDFライブラリをインストールして、その機能を利用できるようにします。 Pythonのパッケージマネージャー(pip)を使用して、以下のコマンドをコマンドラインインターフェースで実行してインストールできます:

    pip install ironpdf
    pip install ironpdf
    SHELL
  3. Tkinterライブラリ:TkinterはPythonの標準GUIツールキットです。 提供されたコードスニペットでPDFビューアのGUIを作成するために使用します。 Tkinterは通常、Pythonにプレインストールされていますが、問題が発生した場合は、パッケージマネージャーを使用してインストールできます:

    pip install tkinter
    pip install tkinter
    SHELL
  4. Pillowライブラリ:PillowライブラリはPython Imaging Library(PIL)のフォークで、追加の画像処理機能を提供します。 コードスニペットでは、PDFから抽出された画像を読み込んで表示するために使用します。 パッケージマネージャーを使用してPillowをインストールします:

    pip install pillow
    pip install pillow
    SHELL
  5. 統合開発環境(IDE):Pythonプロジェクトを扱うにはIDEを使用することで、開発体験が大幅に向上します。 コード補完、デバッグ、より合理化されたワークフローなどの機能を提供します。 Python 開発用の人気のある IDE の 1 つは PyCharm です。 JetBrainsのWebサイトからPyCharmをダウンロードしてインストールできます(https://www.jetbrains.com/pycharm/)。
  6. テキストエディタ:または、軽量なテキストエディタで作業したい場合は、Visual Studio CodeやSublime Text、Atomなど、好きなテキストエディタを使用できます。 これらのエディターは、構文の強調表示や Python 開発に役立つその他の機能を提供します。 Pythonスクリプトを作成するためにPython自身のIDEアプリも使用できます。

PyCharmを使用したPDFビューアプロジェクトの作成

PyCharm IDEをインストールした後、以下の手順に従ってPyCharm Pythonプロジェクトを作成します:

  1. PyCharm を起動します。システムのアプリケーション ランチャーまたはデスクトップ ショートカットから PyCharm を開きます。 2.新しいプロジェクトを作成する: "新しいプロジェクトの作成"をクリックするか、既存の Python プロジェクトを開きます。

PythonでPDFをテキストに変換する方法(チュートリアル)、図1:PyCharm IDE PyCharm IDE

3.プロジェクト設定を構成する:プロジェクトの名前を指定し、プロジェクト ディレクトリを作成する場所を選択します。 プロジェクト用の Python インタープリターを選択します。 次に"作成"をクリックします。

PythonでPDFをテキストに変換する方法(チュートリアル)、図2:新しいPythonプロジェクトの作成 新しいPythonプロジェクトを作成

4.ソース ファイルの作成: PyCharm は、メインの Python ファイルと追加のソース ファイル用のディレクトリを含むプロジェクト構造を作成します。 コードの記述を開始し、実行ボタンをクリックするか、Shift + F10 を押してスクリプトを実行します。

IronPDFを使用してPythonでPDFファイルを表示する手順

必要なライブラリをインポート

まず、必要なライブラリをインポートします。 この場合、osshutilironpdftkinterPILライブラリが必要です。 osshutilライブラリはファイルとフォルダの操作に使用され、ironpdfはPDFファイルを操作するライブラリであり、tkinterはGUI(グラフィカルユーザーインターフェース)の作成に使用され、PILは画像操作に使用されます。

import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
PYTHON

PDFドキュメントを画像に変換

次に、convert_pdf_to_imagesという関数を定義します。 この関数は、PDFファイルのパスを入力として受け取ります。 関数内では、IronPDFライブラリを使用してファイルからPDFドキュメントを読み込みます。次に、抽出された画像ファイルを保存するためのフォルダパスを指定します。 IronPDFのpdf.RasterizeToImageFilesメソッドを使用して、PDFの各ページを画像ファイルに変換し、指定されたフォルダに保存します。 画像パスを保存するためにリストが使用されます。 完全なコード例は次の通りです:

def convert_pdf_to_images(pdf_file):
    """Convert each page of a PDF file to an image."""
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
def convert_pdf_to_images(pdf_file):
    """Convert each page of a PDF file to an image."""
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
PYTHON

PDFドキュメントからテキストを抽出するには、このコード例のページをご覧ください。

ウィンドウの閉鎖を処理

アプリケーションウィンドウが閉じられたときに抽出された画像ファイルをクリーンアップするには、on_closing関数を定義します。 この関数内で、shutil.rmtree()メソッドを使用して、全体のimagesフォルダを削除します。 次に、この関数をウィンドウが閉じられたときに実行されるプロトコルとして設定します。 以下のコードは、タスクを達成するためのものです:

def on_closing():
    """Handle the window closing event by cleaning up the images."""
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
def on_closing():
    """Handle the window closing event by cleaning up the images."""
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

GUIウィンドウを作成

次に、Tk()コンストラクタを使用してメインGUIウィンドウを作成し、ウィンドウタイトルを"Image Viewer"に設定し、on_closing()関数をウィンドウの閉鎖を処理するプロトコルとして設定します。

window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

スクロール可能なキャンバスを作成

画像を表示し、スクロールを可能にするために、Canvasウィジェットを作成します。 Canvasウィジェットは、利用可能なスペースを埋め、pack(side=LEFT, fill=BOTH, expand=True)を使用して両方向に展開するように設定されています。 さらに、Scrollbarウィジェットを作成し、すべてのページとキャンバスの垂直スクロールを制御するように設定します。

canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)

scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)

# Update the scrollregion to encompass the entire canvas
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))

# Configure the vertical scrolling using mouse wheel
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)

scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)

# Update the scrollregion to encompass the entire canvas
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))

# Configure the vertical scrolling using mouse wheel
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
PYTHON

画像のためのフレームを作成

次に、キャンバス内に画像を保持するためのFrameウィジェットを作成し、create_window()を使用してキャンバス内にフレームを配置します。 (0, 0)座標とanchor='nw'パラメータは、フレームがキャンバスの左上隅に開始されることを保証します。

frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
PYTHON

PDFファイルを画像に変換し表示

次のステップは、入力PDFファイルのファイルパス名を持つconvert_pdf_to_images()関数を呼び出すことです。この関数はPDFページを画像として抽出し、画像パスのリストを返します。 画像パスを反復処理し、PILライブラリからImage.open()メソッドを使用して各画像を読み込むことで、ImageTk.PhotoImage()を使用してPhotoImageオブジェクトを作成します。 次に、画像を表示するためのLabelウィジェットを作成します。

images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
PYTHON

PythonでPDFをテキストに変換する方法(チュートリアル)、図3:入力ファイル 入力ファイル

GUIメインループの実行

最後に、window.mainloop()を使用してメインイベントループを実行します。 これにより、GUIウィンドウが開かれていて、ユーザーが閉じるまで応答し続けます。

window.mainloop()
window.mainloop()
PYTHON

PythonでPDFをテキストに変換する方法(チュートリアル)、図4:UIの出力 UIの出力

結論

このチュートリアルでは、IronPDFライブラリを使用してPythonでPDFドキュメントを表示する方法を探りました。 PDFファイルを開いて一連の画像ファイルに変換し、それをスクロール可能なキャンバスに表示し、アプリケーションが閉じられたときに抽出された画像をクリーンアップする手順をカバーしました。

Python用IronPDFライブラリの詳細については、ドキュメントを参照してください。

Python用IronPDFライブラリをダウンロードしてインストールし、商業開発でその完全な機能をテストするための無料トライアルも取得してください。

よくある質問

PythonでPDFファイルを表示するにはどうすればよいですか?

PythonでPDFファイルを表示するには、IronPDFライブラリを使用できます。これにより、PDFページを画像に変換し、Tkinterを使用してGUIアプリケーションで表示できます。

PythonでPDFビューアを作成するための必要なステップは何ですか?

PythonでPDFビューアを作成するには、IronPDFをインストールし、GUI用にTkinterを使用し、画像処理用にPillowを使用する必要があります。IronPDFを使用してPDFページを画像に変換し、Tkinterで作成したスクロール可能なキャンバスに表示します。

PythonプロジェクトでIronPDFを使用するにはどのようにインストールしますか?

ターミナルまたはコマンドプロンプトでpip install ironpdfコマンドを実行することで、pipを使用してIronPDFをインストールできます。

PythonでPDFビューアアプリケーションを構築するために必要なライブラリは何ですか?

PDFハンドリングにはIronPDF、GUIにはTkinter、画像処理にはPillowが必要です。

PythonでPDFから画像を抽出することはできますか?

はい、IronPDFを使用すると、PDFから画像を抽出でき、それをPillowライブラリを使用して処理または表示できます。

PythonでPDFページを画像に変換する方法は?

IronPDFの機能を使用してPDFページを画像形式に変換し、その後Pythonアプリケーション内で操作または表示できます。

PythonのPDFビューアアプリケーションでウィンドウを閉じるときの処理方法は?

PDFビューアアプリケーションでは、抽出された画像をクリーンアップし、すべてのリソースが正しく解放されていることを確認するために、Tkinterのイベントハンドリング機能を使ってウィンドウの閉鎖を処理できます。

PythonでPDFファイルをどのようにセキュリティ強化できますか?

IronPDFは、PDFファイルにパスワードを設定したり使用制限を追加したりすることでPDFのセキュリティを強化するオプションを提供しています。

PDFビューアアプリケーションでTkinterを使用する利点は何ですか?

Tkinterを使用すると、PDFビューアのためのユーザーフレンドリーなグラフィカルインターフェースを作成でき、PDFページをナビゲートするためのスクロール可能なビューの実装が可能になります。

PDFプロジェクトでPillowを使用する目的は何ですか?

Pillowは、IronPDFを使用してPDFファイルから抽出した画像を読み込んで表示するなど、画像の処理に使用されます。

カーティス・チャウ
テクニカルライター

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

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