from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
# Advanced Example with HTML Assets
# Load external html assets: Images, CSS and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PDF (Portable Document Format) ist das beliebteste Dateiformat für die Übertragung von Daten über das Internet, da es die Formatierung des Inhalts bewahrt und mit Sicherheitsberechtigungen hilft, die Daten zu sichern. Es gibt Szenarien, in denen wir PDF-Dateien in JPG-Bilder oder andere Bildformate wie PNG, BMP, TIFF oder GIF konvertieren müssen. Es gibt viele Online-Ressourcen für die JPG-Konvertierung, aber wie cool wäre es, unser eigenes PDF-zu-Bild-Konvertierungstool in Python zu erstellen?
Was ist Python?
Python ist eine hochentwickelte Programmiersprache, die zum Erstellen von Softwareanwendungen und Websites, zur Automatisierung von Aufgaben, zur Durchführung von Datenanalysen und zur Durchführung von Aufgaben im Bereich der künstlichen Intelligenz und des maschinellen Lernens verwendet wird. Sie ist auch eine Skriptsprache, da sie interpretiert wird, was sie im Hinblick auf eine schnelle Entwicklung und Prüfung leistungsfähiger macht.
Um einen PDF-zu-Bild-Konverter zu erstellen, muss Python 3+ auf dem Computer installiert sein. Laden Sie die neueste Version von der offiziellen Website herunter und installieren Sie sie.
In diesem Artikel werden wir unsere eigene Bildkonvertierungsanwendung mit Hilfe der Python PDF to image Bibliotheken erstellen. Zu diesem Zweck werden wir zwei der beliebtesten Bibliotheken von Python verwenden: PDF2Image und PyMuPDF.
Konvertieren von PDF-Dateien in Bilddateien in Python
Installieren Sie die Python-Bibliothek, um PDF in Bilder zu konvertieren.
Laden Sie eine vorhandene PDF-Datei von einem beliebigen Speicherort.
Nutzen Sie die Umrechnungsmethoden.
Iterieren Sie durch die Seiten der Datei.
Speichern Sie jede Seite als JPG- oder PNG-Bild mit der Speichermethode.
Eine neue Python-Datei erstellen
Öffnen Sie die Python-Anwendung IDLE und drücken Sie die Tasten Strg + N. Der Texteditor wird geöffnet. Hierfür können Sie einen Texteditor Ihrer Wahl verwenden.
Speichern Sie die Datei unter dem Namen pdf2image.py an demselben Ort wie die PDF-Datei, die Sie in Bilder umwandeln möchten.
Die PDF-Eingabedatei, die wir verwenden werden, enthält 28 Seiten und sieht wie folgt aus:
PDF-Dateien mit der PDF2Image-Bibliothek in Bilddateien umwandeln
1. PDF2Image-Python-Bibliothek installieren
PDF2Image ist ein Modul, das pdftocairo und pdftoppm umhüllt. Es funktioniert auf Python 3.7+, um PDF in ein PIL-Bildobjekt zu konvertieren. Seine vorherige Versionsgeschichte zeigt, dass es nur pdftoppm einbindet, um PDF in Bilder zu konvertieren, und nur unter Python 3+ funktioniert.
Um das pdf2image-Paket zu installieren, öffnen Sie Ihre Windows-Eingabeaufforderung oder Windows PowerShell und verwenden Sie den folgenden pip-Befehl:
pip install pdf2image
pip install pdf2image
SHELL
Pip (Preferred Installer Program) ist der Paketmanager für Python. Es lädt Softwarepakete von Drittanbietern herunter und installiert sie, die Merkmale und Funktionen bieten, die nicht in der Python-Standardbibliothek enthalten sind.
Hinweis: Um diesen Befehl von überall in der Befehlszeile auszuführen, muss Python zum PATH hinzugefügt werden. Für Python 3+ wird die Verwendung von pip3 empfohlen, da es sich um die aktuelle Version von pip handelt.
2. Poppler installieren
Poppler ist eine freie und quelloffene Bibliothek für die Arbeit mit PDF-Dateien. Es wird zum Rendern von PDF-Dateien, zum Lesen von Inhalten und zum Ändern von Inhalten in PDF-Dateien verwendet. Es wird häufig von Linux-Benutzern verwendet. Für Windows müssen wir jedoch die neueste Version von Poppler herunterladen.
Für Windows
Windows-Benutzer können die neueste aktuelle Version von Poppler hier herunterladen: @oschwartz10612 Version. Sie müssen dann den bin/Ordner zur Umgebungsvariablen PATH hinzufügen.
Für Mac
Mac-Benutzer müssen auch Poppler installieren. Es kann mit Brew installiert werden:
brew install poppler
brew install poppler
SHELL
Für Linux
Die meisten Linux-Distributionen enthalten die Befehlszeilenprogramme pdftoppm und pdftocairo. Falls diese Dienstprogramme nicht installiert sind, können Sie den Paketmanager verwenden, um poppler-utils zu installieren.
Für plattformunabhängig (Verwendung von conda)
Installieren Sie poppler:
:InstallCmd conda install -c conda-forge poppler
:InstallCmd conda install -c conda-forge poppler
SHELL
Installieren Sie pdf2image:
:InstallCmd pip install pdf2image
:InstallCmd pip install pdf2image
SHELL
Jetzt ist alles bereit, beginnen wir mit dem Code für die Umwandlung von PDFs in Bilder.
3. Code für die Umwandlung von PDF-Dateien in Bilddateien
Der folgende Code führt eine Bildkonvertierung der eingegebenen PDF-Datei durch:
from pdf2image import convert_from_path
print("Please Wait while the file is being loaded.")
file = convert_from_path('file.pdf')
for i in range(len(file)):
# save pdf as jpg
print("Progress: " + str(round(i/len(file) * 100)) + "%")
file [i].save('page'+ str(i+1) +'.jpg', 'JPEG')
print("Conversion Successful")
py
PYTHON
Im obigen Code öffnen wir die Datei zunächst mit der Methode convert_from_path. Diese Methode öffnet die Datei, die sich unter dem angegebenen Pfad befindet. Dann wird jede Seite der PDF-Datei, die in JPG-Bilder umgewandelt werden soll, in einer Schleife durchlaufen. Schließlich wird die Methode save verwendet, um jede konvertierte Seite als JPG-Bilddatei zu speichern. Führen Sie nun das Programm aus und warten Sie, bis die Konvertierung abgeschlossen ist.
Die ausgegebenen Bilddateien werden in demselben Ordner wie das Programm gespeichert.
PDF-Dateien mit der PyMuPDF-Bibliothek in Bilder umwandeln
1. PyMuPDF-Python-Bibliothek installieren
PyMuPDF ist eine erweiterte Python-Anbindung an MuPDF, einen leichtgewichtigen E-Book-, PDF- und XPS-Viewer, Renderer und Toolkit. Es kann verwendet werden, um PDF in andere Formate wie JPG oder PNG zu konvertieren. PyMuPDF funktioniert mit Python 3.7+ Versionen.
Um das PyMuPDF-Paket zu installieren, öffnen Sie Ihre Windows-Eingabeaufforderung oder Windows PowerShell und verwenden Sie den folgenden pip-Befehl:
pip3 install pymupdf
pip3 install pymupdf
SHELL
Beachten Sie, dass PyMuPDF keine zusätzlichen Bibliotheken wie das PDF2Image-Paket benötigt.
2. Code für die Umwandlung von PDF-Dateien in Bilder
Der folgende Code importiert das fitz Modul von PyMuPDF, damit wir das PDF in Bilder konvertieren können:
import fitz
doc = fitz.open("file.pdf")
for x in range(len(doc)):
page = doc.load_page(x) # number of page
pix = page.get_pixmap()
output = "output/pdfpage"+str(x+1)+".png" # first create the output folder in the destination
pix.save(output)
doc.close()
py
PYTHON
Im obigen Code wird der Dateiname als Argument an die fitz.open-Methode übergeben, um die Datei zu öffnen. Anschließend gehe ich durch das gesamte Dokument und lade jede Seite separat. Die get_pixmap-Methode wird verwendet, um jede Dokumentseite in Bildpixel zu konvertieren, und das resultierende Bild wird mit der save-Methode im Ausgabeverzeichnis gespeichert. Schließlich wird das geöffnete Dokument geschlossen, um Speicherplatz freizugeben.
Im Vergleich zu PDF2Image ist PyMuPDF bei der Konvertierung von PDF in PNG schneller. PDF2Image kann für das PNG-Format aufgrund seiner Kompressionsrate langsam sein.
Die Ausgabe ist die gleiche wie die von PDF2Image:
Rendering von PDF-zu-Bild-Konvertierungen in C#
IronPDF-Bibliothek
IronPDF ist eine Bibliothek, die zum Erstellen, Lesen und Bearbeiten von PDF-Dateien verwendet wird. Seine Spezialität ist das Rendering von HTML in PDF mit Hilfe der Chromium Engine. Diese Funktion macht es beliebt bei Entwicklern, die HTML-Dateien oder URLs in PDF-Dokumente konvertieren müssen. Außerdem bietet es die Konvertierung von verschiedenen Formaten in PDF-Dateien.
Sie können eine PDF-Datei auch mit nur zwei Codezeilen in Bilder rastern. Der folgende Code zeigt, wie man PDFs in verschiedene Bildformate konvertiert:
from ironpdf import *
# One or more images as a list. This example selects all JPEG images in a specific 'assets' folder.
image_files = [os.path.join("assets", f) for f in os.listdir("assets") if f.lower().endswith(('.jpg', '.jpeg'))]
directory_list = List [str]()
for i in range(len(image_files)):
directory_list.Add(image_files [i])
# Converts the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(directory_list).SaveAs("composite.pdf")
# Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.