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 beibehält und die Daten durch Sicherheitsberechtigungen schützt. 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. Downloaden und installieren Sie die neueste Version von deroffizielle Website.
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 umschließt. Es funktioniert auf Python 3.7+, um PDF in ein PIL-Bildobjekt zu konvertieren. Die bisherige Versionsgeschichte zeigt, dass es nur pdftoppm zur Konvertierung von PDF in Bilder verpackt 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(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 einer beliebigen Stelle der Kommandozeile aus ausführen zu können, 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-Nutzer können die neueste 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 außerdem Folgendes installierenPoppler. Es kann installiert werden mitGebräu:
brew install poppler
Für Linux
Die meisten Linux-Distributionen werden mit den Kommandozeilen-Dienstprogrammen "pdftoppm" und "pdftocairo" ausgeliefert. Wenn diese Dienstprogramme nicht installiert sind, können Sie den Paketmanager verwenden, um poppler-utils zu installieren.
Für plattformunabhängig (mit conda)
Installieren Sie poppler:
:InstallCmd conda install -c conda-forge poppler
Installieren Sie pdf2image:
:InstallCmd pip install pdf2image
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")
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")
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
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 Modul "fitz" von PyMuPDF, so dass wir das PDF in Bilder umwandeln 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()
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()
PYTHON
Im obigen Code wird der Dateiname als Argument an die Methode "fitz.open" übergeben, um die Datei zu öffnen. Als Nächstes durchlaufe ich das gesamte Dokument und lade jede Seite einzeln. Die Methode "get_pixmap" wird verwendet, um jede Dokumentseite in Bildpixel umzuwandeln, und das resultierende Bild wird mit der Methode "save" im Ausgabeordner 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 zum Erzeugen, Lesen und Verarbeiten von PDF-Dateien. 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
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
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.