フッターコンテンツにスキップ
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のライセンスバージョンを使用したい場合は、IronPDFの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): IDE を使用して Python プロジェクトを処理すると、開発エクスペリエンスが大幅に向上します。 コード補完、デバッグ、より合理化されたワークフローなどの機能を提供します。 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プロジェクトを作成する](/static-assets/pdf/blog/view-pdf-python-tutorial/view-pdf-python-tutorial-2.webp)

新しいPythonプロジェクトを作成

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

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

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

まず、必要なライブラリをインポートします。 この場合、PIL ライブラリが必要になります。 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 ウィンドウを作成し、ウィンドウのタイトルを"画像ビューア"に設定し、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

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

次に、create_window() を使用してフレームをキャンバス内に配置することで、キャンバス内に画像を保持する Frame ウィジェットを作成します。 (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ライブラリのImageTk.PhotoImage()を使用して作成されます。 次に、画像を表示するためのウィジェットを作成します。

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ボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね