Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
In diesem Artikel wird erläutert, wie PDF-Dateien in Python mit der IronPDF-Bibliothek angezeigt werden können.
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. Ganz gleich, 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, die Ihren Arbeitsablauf vereinfachen.
Einige Merkmale der IronPDF for Python-Bibliothek sind:
Teilen undzusammenführenPDFs
Hinweis: IronPDF erzeugt eine mit Wasserzeichen versehene PDF-Datendatei. Um das Wasserzeichen zu entfernen, müssen Sie IronPDF lizenzieren. Wenn Sie eine lizenzierte Version von IronPDF verwenden möchten, besuchen Sie dieIronPDF-Website zueinen Lizenzschlüssel erhalten.
Bevor Sie mit IronPDF in Python arbeiten können, müssen Sie einige Voraussetzungen erfüllen:
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.
:InstallCmd pip install ironpdf
:InstallCmd pip install tkinter
:InstallCmd pip install pillow
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 herunterladen und installieren(https://www.jetbrains.com/pycharm/).
Nachdem Sie die PyCharm IDE installiert haben, erstellen Sie ein PyCharm Python-Projekt, indem Sie die folgenden Schritte ausführen:
Starten Sie PyCharm: Öffnen Sie PyCharm über den Anwendungsstarter Ihres Systems oder eine Desktop-Verknüpfung.
Erstellen Sie ein neues Projekt: Klicken Sie auf "Neues Projekt erstellen" oder öffnen Sie ein bestehendes Python-Projekt.
PyCharm-IDE
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 aus. Klicken Sie dann auf "Erstellen".
Erstelle ein neues Python-Projekt
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 verwendet(GUI)und PIL wird für die Bildbearbeitung verwendet.
import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
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 IronPDF-Methode "pdf.RasterizeToImageFiles" wird verwendet, um jede PDF-Seite der PDF-Datei in eine Bilddatei zu konvertieren und im angegebenen Ordner zu speichern. Und eine Liste wird verwendet, um die Bildpfade zu speichern. Das vollständige Codebeispiel lautet wie folgt:
def convert_pdf_to_images(pdf_file):
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
Um Text aus PDF-Dokumenten zu extrahieren, besuchen Sie diese Seitecode-Beispiele Seite.
Um die extrahierten Bilddateien zu bereinigen, wenn das Anwendungsfenster geschlossen wird, definieren Sie eine Funktion "on_closing". Verwenden Sie innerhalb dieser Funktion die Funktion shutil.rmtree()methode, 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():
# Delete the images in the 'images' folder
shutil.rmtree("images")
window.destroy()
window.protocol("WM_DELETE_WINDOW", on_closing)
Erstellen wir nun das Haupt-GUI-Fenster mit Hilfe des Tk()konstruktor, indem der Fenstertitel auf "Image Viewer" gesetzt wird und die Option
on_closing()funktion als Protokoll für das Schließen von Fenstern.
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
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)`. Erstellen Sie außerdem ein "Scrollbar"-Widget und konfigurieren Sie es so, dass es das vertikale Scrollen aller Seiten und der 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)
canvas.bind("<Configure>", lambda e: canvas.configure(
scrollregion=canvas.bbox("all")))
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
int(-1*(e.delta/120)), "units"))
Als Nächstes erstellen Sie ein Frame
-Widget innerhalb der Leinwand, um die Bilder zu halten, indem Sie create_window()
, um den Rahmen auf der Leinwand zu platzieren. Die (0, 0)die Koordinaten und der Parameter
anchor='nw'` sorgen dafür, dass der Rahmen in der oberen linken Ecke der Leinwand beginnt.
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
Der nächste Schritt ist der Aufruf der Funktion convert_pdf_to_images()funktion mit dem Dateipfadnamen der PDF-Eingabedatei. Diese Funktion extrahiert die PDF-Seiten als Bilder und gibt eine Liste von Bildpfaden zurück. Durch die Iteration durch die Bildpfade und das Laden jedes Bildes mit der Funktion
Image.open()methode aus der PIL-Bibliothek, ein PhotoImage
-Objekt wird mit ImageTk.PhotoImage()
. Erstellen Sie dann ein "Label"-Widget zur Anzeige des Bildes.
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)
Die Eingabedatei
Zum Schluss führen wir die Hauptereignisschleife mit window.mainloop()
. Dadurch wird sichergestellt, dass das GUI-Fenster geöffnet und reaktionsfähig bleibt, bis es vom Benutzer geschlossen wird.
window.mainloop()
Die UI-Ausgabe
In diesem Tutorium wurde untersucht, wie man PDF-Dokumente in Python mit demIronPDF bibliothek. Es wurden die Schritte beschrieben, 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 derdokumentation.
Herunterladen und installierenIronPDF for Python bibliothek und erhalten außerdem einekostenloser Test um seine vollständige Funktionalität in der kommerziellen Entwicklung zu testen.
10 .NET API-Produkte für Ihre Bürodokumente