Zum Fußzeileninhalt springen
VERWENDUNG VON IRONPDF FOR PYTHON

Wie man mit Python eine PDF-Datei anzeigt

Dieser Artikel wird untersuchen, wie man PDF-Dateien in Python mit der IronPDF-Bibliothek anzeigen kann.

IronPDF - Python-Bibliothek

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

Zu den Funktionen der IronPDF-Bibliothek für Python gehören unter anderem:

Hinweis: IronPDF erzeugt eine PDF-Datei mit Wasserzeichen. Um das Wasserzeichen zu entfernen, müssen Sie IronPDF lizenzieren. Wenn Sie eine lizenzierte Version von IronPDF verwenden möchten, besuchen Sie die IronPDF-Website, um einen Lizenzschlüssel zu erhalten.

Voraussetzungen

Bevor Sie mit IronPDF in Python arbeiten, gibt es einige Voraussetzungen:

  1. Python-Installation: Stellen Sie sicher, dass Python auf Ihrem System installiert ist. IronPDF ist mit Python 3.x Versionen kompatibel, stellen Sie also sicher, dass Sie eine kompatible Python-Installation haben.
  2. IronPDF-Bibliothek: Installieren Sie die IronPDF-Bibliothek, um Zugriff auf ihre Funktionalität zu erhalten. Sie können sie 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-Bibliothek: Tkinter ist das standardmäßige GUI-Toolkit für Python. Es wird verwendet, um die grafische Benutzeroberfläche für den PDF-Viewer im bereitgestellten Codeausschnitt zu erstellen. Tkinter ist normalerweise mit Python vorinstalliert, aber wenn Sie auf Probleme stoßen, können Sie es mit dem Paketmanager installieren:

    pip install tkinter
    pip install tkinter
    SHELL
  4. Pillow-Bibliothek: Die Pillow-Bibliothek ist ein Fork der Python Imaging Library (PIL) und bietet zusätzliche Bildverarbeitungsmöglichkeiten. Es wird im Codeausschnitt verwendet, um die aus dem PDF 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 Codevervollständigung, Debugging und einen optimierten Arbeitsablauf. Eine beliebte IDE für die Python-Entwicklung ist PyCharm. Sie können PyCharm von der JetBrains-Website herunterladen und installieren (https://www.jetbrains.com/pycharm/).
  6. Texteditor: Alternativ, wenn Sie es vorziehen, mit einem leichten Texteditor zu arbeiten, können Sie jeden Texteditor Ihrer Wahl verwenden, wie zum Beispiel 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 eigene IDE-App von Python zum Erstellen von Python-Skripten verwenden.

Erstellung eines PDF-Viewer-Projekts mit PyCharm

Nach der Installation der PyCharm-IDE erstellen Sie ein PyCharm-Python-Projekt, indem Sie die folgenden Schritte befolgen:

  1. Starten Sie PyCharm: Öffnen Sie PyCharm über den Anwendungsstarter Ihres Systems oder die Desktopverknüpfung.
  2. Neues Projekt erstellen: Klicken Sie auf "Neues Projekt erstellen" oder öffnen Sie ein bestehendes Python-Projekt.

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

  1. Projekteinstellungen konfigurieren: Geben Sie Ihrem Projekt einen Namen und wählen Sie den Speicherort für das Projektverzeichnis. Wählen Sie den Python-Interpreter für Ihr Projekt aus. Klicken Sie anschließend auf "Erstellen".

Wie man PDF in Text in Python umwandelt (Tutorial), Abbildung 2: Erstellen eines neuen Python-Projekts Erstellen eines neuen Python-Projekts

  1. Quelldateien erstellen: PyCharm erstellt die Projektstruktur, einschließlich einer Haupt-Python-Datei 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 Shift+F10, um das Skript auszuführen.

Schritte zum Anzeigen von PDF-Dateien in Python mit IronPDF

Importieren der erforderlichen Bibliotheken

Zuerst die notwendigen Bibliotheken importieren. In diesem Fall werden die Bibliotheken os, shutil, ironpdf, tkinter und PIL benötigt. Die os und shutil Bibliotheken werden für Datei- und Ordneroperationen verwendet, ironpdf ist die Bibliothek für die Arbeit mit PDF-Dateien, tkinter wird zum Erstellen 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

PDF-Dokument in Bilder umwandeln

Als nächstes definieren Sie eine Funktion namens convert_pdf_to_images. Diese Funktion nimmt den Pfad der PDF-Datei als Eingabe entgegen. Innerhalb der Funktion wird die IronPDF-Bibliothek verwendet, um das PDF-Dokument aus der Datei zu laden. Dann wird ein Ordnerpfad angegeben, um die extrahierten Bilddateien zu speichern. Die IronPDF-Methode pdf.RasterizeToImageFiles wird verwendet, um jede PDF-Seite des PDFs in eine Bilddatei zu konvertieren und sie im angegebenen Ordner zu speichern. Eine Liste wird verwendet, um die Bildpfade zu speichern. 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 Codebeispielseite.

Fensterschließung behandeln

Um die extrahierten Bilddateien zu bereinigen, wenn das Anwendungsfenster geschlossen wird, definieren Sie eine on_closing-Funktion. Innerhalb dieser Funktion verwenden Sie die shutil.rmtree()-Methode, um den gesamten images-Ordner zu löschen. Als nächstes setzen Sie diese Funktion als das Protokoll, das ausgeführt werden soll, wenn das Fenster geschlossen wird. Der folgende Code hilft dabei, die Aufgabe zu erreichen:

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 des GUI-Fensters

Jetzt erstellen wir das Haupt-GUI-Fenster mit dem Tk()-Konstruktor, setzen den Fenstertitel auf "Image Viewer" und setzen die on_closing()-Funktion als das Protokoll, um die Fensterschließung zu behandeln.

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 einer scrollbaren Leinwand

Um die Bilder anzuzeigen und Scrollen zu ermöglichen, erstellen Sie ein Canvas-Widget. Das Canvas-Widget wird so konfiguriert, dass es den verfügbaren Raum ausfüllt und in beide Richtungen expandiert, indem pack(side=LEFT, fill=BOTH, expand=True) verwendet wird. Erstellen Sie außerdem ein Scrollbar-Widget und konfigurieren Sie es so, dass es das vertikale Scrollen aller Seiten und Leinwand 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

Erstellen eines Rahmens für Bilder

Erstellen Sie anschließend ein Frame-Widget innerhalb der Leinwand, um die Bilder zu halten, indem Sie create_window() verwenden, um den Rahmen innerhalb der Leinwand zu platzieren. Die (0, 0)-Koordinaten und das anchor='nw'-Parameter gewährleisten, dass der Rahmen an der oberen linken 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

PDF-Datei in Bilder umwandeln und anzeigen

Der nächste Schritt ist, die Funktion convert_pdf_to_images() mit dem Dateipfadnamen der Eingabe-PDF-Datei aufzurufen. Diese Funktion extrahiert die PDF-Seiten als Bilder und gibt eine Liste von Bildpfaden zurück. Indem Sie die Bildpfade durchlaufen und jedes Bild mit der Methode Image.open() aus der PIL-Bibliothek laden, wird ein PhotoImage-Objekt mit ImageTk.PhotoImage() 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 Text in Python umwandelt (Tutorial), Abbildung 3: Die Eingabedatei Die Eingabedatei

Hauptschleife der GUI ausführen

Abschließend lassen Sie die Hauptereignisschleife mit window.mainloop() laufen. Dies stellt sicher, dass das GUI-Fenster offen und ansprechbar bleibt, bis es vom Benutzer geschlossen wird.

window.mainloop()
window.mainloop()
PYTHON

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

Abschluss

Dieses Tutorial untersuchte, wie man PDF-Dokumente in Python mit der IronPDF Bibliothek anzeigen kann. Es behandelte die erforderlichen Schritte, um eine PDF-Datei zu öffnen, sie in eine Reihe von Bilddateien zu konvertieren, sie in einer scrollbaren Leinwand anzuzeigen und das Aufräumen der extrahierten Bilder zu handhaben, wenn die Anwendung geschlossen wird.

Für weitere Details zur IronPDF für Python-Bibliothek, konsultieren Sie bitte die Dokumentation.

Laden Sie die IronPDF für Python-Bibliothek herunter und installieren Sie sie und erhalten Sie auch eine kostenlose Testversion, um ihre vollständige Funktionalität in der kommerziellen Entwicklung zu testen.

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