Zum Fußzeileninhalt springen
VERWENDUNG VON IRONPDF FüR PYTHON

Wie man mit Python eine PDF-Datei anzeigt

In diesem Artikel wird erläutert, wie PDF-Dateien in Python mit der IronPDF-Bibliothek angezeigt werden können.

IronPDF - Python-Bibliothek

IronPDF ist eine leistungsstarke Python-Bibliothek, die es Entwicklern ermöglicht, programmatisch mit PDF-Dateien zu arbeiten. Mit IronPDF können Sie auf einfache Weise Daten aus PDF-Dokumenten generieren, bearbeiten und extrahieren, was es zu einem vielseitigen Werkzeug für verschiedene PDF-bezogene Aufgaben macht. Egal, ob Sie PDFs von Grund auf neu erstellen, bestehende PDFs ändern oder Inhalte aus PDFs extrahieren müssen, IronPDF bietet eine umfassende Reihe von Funktionen, die Ihren Arbeitsablauf vereinfachen.

Einige Merkmale der IronPDF for Python-Bibliothek sind:

Hinweis: IronPDF erzeugt eine mit Wasserzeichen versehene PDF-Datendatei. Um das Wasserzeichen zu entfernen, müssen Sie IronPDF lizenzieren. If you wish to use a licensed version of IronPDF, visit the IronPDF website to obtain a license key.

Voraussetzungen

Bevor Sie mit IronPDF in Python arbeiten können, müssen Sie einige Voraussetzungen erfüllen:

  1. Python Installation: Stellen Sie sicher, dass Sie Python auf Ihrem System installiert haben. IronPDF ist kompatibel mit Python 3.x Versionen, also stellen Sie sicher, dass Sie eine kompatible Python-Installation haben.
  2. IronPDF-Bibliothek: Installieren Sie die IronPDF-Bibliothek, um auf ihre Funktionen zuzugreifen. Sie können es mit dem Python-Paketmanager (pip) installieren, indem Sie den folgenden Befehl in Ihrer Befehlszeilenschnittstelle ausführen:

    pip install ironpdf
    pip install ironpdf
    SHELL
  3. Tkinter Library: Tkinter ist das Standard-GUI-Toolkit für Python. Sie wird für die Erstellung der grafischen Benutzeroberfläche für den PDF-Viewer im mitgelieferten Codeschnipsel verwendet. Tkinter wird in der Regel mit Python vorinstalliert, aber wenn Sie auf Probleme stoßen, können Sie es über den Paketmanager installieren:

    pip install tkinter
    pip install tkinter
    SHELL
  4. Pillow Library: Die Pillow-Bibliothek ist eine Abspaltung der Python Imaging Library (PIL) und bietet zusätzliche Bildverarbeitungsfunktionen. Sie wird in dem Codeschnipsel verwendet, um die aus der PDF-Datei extrahierten Bilder zu laden und anzuzeigen. Installieren Sie Pillow mit dem Paketmanager:

    pip install pillow
    pip install pillow
    SHELL
  5. Integrierte Entwicklungsumgebung (IDE): Die Verwendung einer IDE zur Bearbeitung von Python-Projekten kann Ihre Entwicklungserfahrung erheblich verbessern. Es bietet Funktionen wie Code-Vervollständigung, Debugging und einen effizienteren Arbeitsablauf. Eine beliebte IDE für die Python-Entwicklung ist PyCharm. Sie können PyCharm von der JetBrains-Website (https://www.jetbrains.com/pycharm/) herunterladen und installieren.
  6. Texteditor: Wenn Sie es vorziehen, mit einem einfachen Texteditor zu arbeiten, können Sie einen beliebigen Texteditor Ihrer Wahl verwenden, z. B. Visual Studio Code, Sublime Text oder Atom. Diese Editoren bieten Syntaxhervorhebung und andere nützliche Funktionen für die Python-Entwicklung. Sie können auch die Python-eigene IDE-App für die Erstellung von Python-Skripten verwenden.

Erstellen eines PDF-Viewer-Projekts mit PyCharm

Nachdem Sie die PyCharm IDE installiert haben, erstellen Sie ein PyCharm Python-Projekt, indem Sie die folgenden Schritte ausführen:

  1. Start von PyCharm: Öffnen Sie PyCharm über den Anwendungsstarter Ihres Systems oder eine Desktop-Verknüpfung.
  2. Ein neues Projekt erstellen: Klicken Sie auf "Neues Projekt erstellen" oder öffnen Sie ein bestehendes Python-Projekt.

    Wie man PDF in Python in Text umwandelt (Tutorial), Abbildung 1: PyCharm IDE PyCharm IDE

  3. Projekteinstellungen konfigurieren: Geben Sie einen Namen für Ihr Projekt an und wählen Sie den Ort, an dem das Projektverzeichnis erstellt werden soll. Wählen Sie den Python-Interpreter für Ihr Projekt. Klicken Sie dann auf "Erstellen".

    Konvertieren von PDF in Text in Python (Tutorial), Abbildung 2: Erstellen eines neuen Python-Projekts Erstelle ein neues Python-Projekt

  4. Erstellen von Quelldateien: PyCharm erstellt die Projektstruktur, einschließlich einer Python-Hauptdatei und eines Verzeichnisses für zusätzliche Quelldateien. Beginnen Sie mit dem Schreiben des Codes und klicken Sie auf die Schaltfläche Ausführen oder drücken Sie Umschalt+F10, um das Skript auszuführen.

Schritte zur Anzeige von PDF-Dateien in Python mit IronPDF

Importieren Sie die erforderlichen Bibliotheken

Importieren Sie zunächst die erforderlichen Bibliotheken. In diesem Fall werden die Bibliotheken os, shutil, ironpdf, tkinter, und PIL benötigt. Die Bibliotheken os und shutil werden für Datei- und Ordneroperationen verwendet, ironPdf ist die Bibliothek für die Arbeit mit PDF-Dateien, tkinter wird für die Erstellung der grafischen Benutzeroberfläche (GUI) verwendet, und PIL wird für die Bildmanipulation verwendet.

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

Konvertieren von PDF-Dokumenten in Bilder

Definieren Sie als nächstes eine Funktion namens convert_pdf_to_images. Diese Funktion nimmt den Pfad der PDF-Datei als Eingabe. Innerhalb der Funktion wird die IronPDF-Bibliothek verwendet, um das PDF-Dokument aus der Datei zu laden. Anschließend wird ein Ordnerpfad zum Speichern der extrahierten Bilddateien angegeben. Die Methode pdf.RasterizeToImageFiles von IronPDF wird verwendet, um jede PDF-Seite des PDF in eine Bilddatei zu konvertieren und diese im angegebenen Ordner zu speichern. Zum Speichern der Bildpfade wird eine Liste verwendet. Das vollständige Codebeispiel lautet wie folgt:

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

Um Text aus PDF-Dokumenten zu extrahieren, besuchen Sie diese Beispielseite.

Handle Window Closure

Um die extrahierten Bilddateien zu bereinigen, wenn das Anwendungsfenster geschlossen wird, definieren Sie eine on_closing-Funktion. Innerhalb dieser Funktion verwenden Sie die Methode shutil.rmtree(), um den gesamten Ordner images zu löschen. Legen Sie dann diese Funktion als das Protokoll fest, das beim Schließen des Fensters ausgeführt werden soll. Der folgende Code hilft bei der Erfüllung dieser Aufgabe:

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

Erstellen Sie das GUI-Fenster

Erstellen wir nun das Haupt-GUI-Fenster mit dem Tk()-Konstruktor, setzen wir den Fenstertitel auf "Image Viewer" und legen wir die Funktion on_closing() als Protokoll für das Schließen des Fensters fest.

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

Erstellen eines scrollbaren Canvas

Um die Bilder anzuzeigen und das Scrollen zu ermöglichen, erstellen Sie ein Canvas-Widget. Das Canvas-Widget ist so konfiguriert, dass es den verfügbaren Platz ausfüllt und sich in beide Richtungen ausdehnt, indem es pack(side=LEFT, fill=BOTH, expand=True) verwendet. Erstellen Sie außerdem ein Scrollbar-Widget und konfigurieren Sie es so, dass es den vertikalen Bildlauf auf allen Seiten und im Canvas steuert.

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

Einen Rahmen für Bilder erstellen

Als Nächstes erstellen Sie ein Frame-Widget innerhalb des Canvas, um die Bilder aufzunehmen, indem Sie create_window() verwenden, um den Rahmen im Canvas zu platzieren. Die (0, 0)-Koordinaten und der Parameter anchor='nw' sorgen dafür, dass der Rahmen in der linken oberen Ecke der Leinwand beginnt.

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

Konvertieren von PDF-Dateien in Bilder und Anzeigen

Der nächste Schritt ist der Aufruf der Funktion convert_pdf_to_images() mit dem Dateipfadnamen der eingegebenen PDF-Datei. Diese Funktion extrahiert die PDF-Seiten als Bilder und gibt eine Liste von Bildpfaden zurück. Durch Iteration durch die Bildpfade und das Laden jedes Bildes mit der Methode Image.open() aus der PIL-Bibliothek wird mit ImageTk.PhotoImage() ein PhotoImage-Objekt erstellt. Erstellen Sie dann ein Label-Widget, um das Bild anzuzeigen.

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

Wie man PDF in Python in Text konvertiert (Tutorial), Abbildung 3: Die Eingabedatei Die Eingabedatei

Die GUI-Hauptschleife ausführen

Zum Schluss führen wir die Hauptereignisschleife mit window.mainloop() aus. Dadurch wird sichergestellt, dass das GUI-Fenster offen und reaktionsfähig bleibt, bis es vom Benutzer geschlossen wird.

window.mainloop()
window.mainloop()
PYTHON

Wie man PDF in Python in Text konvertiert (Tutorial), Abbildung 4: Die UI-Ausgabe Die UI-Ausgabe

Abschluss

In diesem Tutorial wurde untersucht, wie man PDF-Dokumente in Python mithilfe der IronPDF-Bibliothek anzeigen kann. Sie umfasst die Schritte, die erforderlich sind, um eine PDF-Datei zu öffnen und in eine Reihe von Bilddateien zu konvertieren, diese dann in einer scrollbaren Leinwand anzuzeigen und die Bereinigung der extrahierten Bilder beim Schließen der Anwendung zu handhaben.

Weitere Einzelheiten über die IronPDF for Python-Bibliothek finden Sie in der Dokumentation.

Download and install IronPDF for Python library and also get a free trial to test out its complete functionality in commercial development.

Häufig gestellte Fragen

Wie kann ich PDF-Dateien in Python anzeigen?

Sie können die IronPDF-Bibliothek verwenden, um PDF-Dateien in Python anzuzeigen. Sie ermöglicht es Ihnen, PDF-Seiten in Bilder umzuwandeln, die dann in einer GUI-Anwendung mit Tkinter angezeigt werden können.

Was sind die notwendigen Schritte, um einen PDF-Viewer in Python zu erstellen?

Um einen PDF-Viewer in Python zu erstellen, müssen Sie IronPDF installieren, Tkinter für die GUI und Pillow für die Bildverarbeitung verwenden. Wandeln Sie PDF-Seiten mit IronPDF in Bilder um und zeigen Sie sie in einem mit Tkinter erstellten scrollbaren Canvas an.

Wie installiere ich IronPDF für die Verwendung in einem Python-Projekt?

Sie können IronPDF mit pip installieren, indem Sie den Befehl pip install ironpdf in Ihrem Terminal oder in der Befehlszeile ausführen.

Welche Bibliotheken werden für den Bau einer PDF-Viewer-Anwendung in Python benötigt?

Sie benötigen IronPDF für die PDF-Verarbeitung, Tkinter für die GUI und Pillow für die Bildverarbeitung.

Kann ich Bilder aus einem PDF mit Python extrahieren?

Ja, IronPDF erlaubt Ihnen, Bilder aus PDFs zu extrahieren, die dann mit der Pillow-Bibliothek verarbeitet oder angezeigt werden können.

Wie kann ich eine PDF-Seite in ein Bild in Python umwandeln?

Sie können die Funktionalität von IronPDF verwenden, um PDF-Seiten in Bildformate umzuwandeln, die dann in einer Python-Anwendung bearbeitet oder angezeigt werden können.

Wie gehe ich mit dem Schließen des Fensters in einer Python PDF-Viewer-Anwendung um?

In einer PDF-Viewer-Anwendung können Sie das Schließen des Fensters handhaben, indem Sie extrahierte Bilder aufräumen und sicherstellen, dass alle Ressourcen ordnungsgemäß freigegeben werden, was oft unter Verwendung der Ereignisbehandlungsfunktionen von Tkinter geschieht.

Wie kann ich PDF-Dateien in Python sichern?

IronPDF bietet Möglichkeiten, die PDF-Sicherheit zu verbessern, indem Passwörter und Nutzungseinschränkungen zu PDF-Dateien hinzugefügt werden.

Was ist der Vorteil der Verwendung von Tkinter in einer PDF-Anzeigeanwendung?

Tkinter ermöglicht es Ihnen, eine benutzerfreundliche grafische Oberfläche für Ihren PDF-Viewer zu erstellen, die Funktionen wie scrollbare Ansichten zur Navigation durch PDF-Seiten bietet.

Was ist der Zweck der Verwendung von Pillow in einem PDF-Projekt?

Pillow wird in einem PDF-Projekt zur Verarbeitung von Bildern verwendet, z. B. zum Laden und Anzeigen von Bildern, die mit IronPDF aus PDF-Dateien extrahiert wurden.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen