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")
*PyArrow ist eine leistungsfähige Bibliothek, die eine Python-Schnittstelle zum Apache Arrow-Framework bietet. Apache Arrow ist eine sprachenübergreifende Entwicklungsplattform für In-Memory-Daten. Es spezifiziert ein standardisiertes, sprachunabhängiges, spaltenförmiges Speicherformat für flache und hierarchische Daten, das für effiziente analytische Operationen auf moderner Hardware organisiert ist.*PyArrow ist im Grunde Apache Arrow Python Bindings, das als Python-Paket realisiert wurde. *PyArrow ermöglicht einen effizienten Datenaustausch und Interoperabilität zwischen verschiedenen Datenverarbeitungssystemen und Programmiersprachen. Später in diesem Artikel werden wir auch etwas überIronPDFeine Bibliothek zur PDF-Erzeugung, entwickelt vonIron Software.
Hauptmerkmale von PyArrow
Kolumnares Speicherformat:
PyArrow verwendet ein spaltenförmiges Speicherformat, das sehr effizient für speicherinterne Analyseoperationen ist. Dieses Format ermöglicht eine bessere Nutzung des CPU-Cache und vektorisierte Operationen, was es ideal für Datenverarbeitungsaufgaben macht. PyArrow kann aufgrund seiner spaltenförmigen Natur effizient Parkett-Dateistrukturen lesen und schreiben.
Interoperabilität: Einer der Hauptvorteile von PyArrow ist seine Fähigkeit, den Datenaustausch zwischen verschiedenen Programmiersprachen und Systemen zu erleichtern, ohne dass eine Serialisierung oder Deserialisierung erforderlich ist. Dies ist besonders nützlich in Umgebungen, in denen mehrere Sprachen verwendet werden, wie z. B. in der Datenwissenschaft und beim maschinellen Lernen.
Integration mit Pandas: PyArrow kann als Backend für Pandas verwendet werden, was eine effiziente Datenmanipulation und -speicherung ermöglicht. Ab Pandas 2.0 ist es möglich, Daten in Arrow-Arrays anstelle von NumPy-Arrays zu speichern, was zu Leistungsverbesserungen führen kann, insbesondere beim Umgang mit String-Daten.
Unterstützung für verschiedene Datentypen: PyArrow unterstützt eine breite Palette von Datentypen, einschließlich primitiver Typen(ganzzahlen, Gleitkommazahlen)komplexe Typen(strukturen, Listen)und verschachtelte Typen. Dies macht es vielseitig für die Verarbeitung verschiedener Arten von Daten.
Null-Kopie-Lesen: PyArrow ermöglicht Zero-Copy-Reads, d.h. Daten können aus dem Arrow-Speicherformat gelesen werden, ohne sie zu kopieren. Dies reduziert den Speicher-Overhead und erhöht die Leistung.
Wir verwendenVisual Studio-Code als Code-Editor. Beginnen Sie mit der Erstellung einer neuen Datei, pyarrowDemo.py.
Hier ist ein einfaches Beispiel für die Verwendung von PyArrow, um eine Tabelle zu erstellen und einige grundlegende Operationen durchzuführen:
import pyarrow as pa
import pyarrow.dataset as pt
# Create a PyArrow table
data = [
pa.array([1, 2, 3]),
pa.array(['a', 'b', 'c']),
pa.array([1.1, 2.2, 3.3])
]
table = pa.Table.from_arrays(data, names=['col1', 'col2', 'col3'])
# Display the table
print(table)
import pyarrow as pa
import pyarrow.dataset as pt
# Create a PyArrow table
data = [
pa.array([1, 2, 3]),
pa.array(['a', 'b', 'c']),
pa.array([1.1, 2.2, 3.3])
]
table = pa.Table.from_arrays(data, names=['col1', 'col2', 'col3'])
# Display the table
print(table)
PYTHON
Code Erläuterung
Der Python-Code verwendet PyArrow, um eine Tabelle zu erstellen(`pa.Table`) aus drei Arrays(`pa.array`). Anschließend wird die Tabelle mit den Spalten 'col1', 'col2' und 'col3' ausgedruckt, die jeweils entsprechende Daten in Form von Ganzzahlen, Strings und Floats enthalten.
AUSGABE
Integration mit Pandas
PyArrow kann nahtlos integriert werden mitPandas um die Leistung zu verbessern, insbesondere bei großen Datensätzen. Hier ist ein Beispiel für die Konvertierung eines Pandas DataFrame in eine PyArrow Table:
import pandas as pd
import pyarrow as pa
# Create a Pandas DataFrame
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c'],
'col3': [1.1, 2.2, 3.3]
})
# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)
# Display the table
print(table)
import pandas as pd
import pyarrow as pa
# Create a Pandas DataFrame
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c'],
'col3': [1.1, 2.2, 3.3]
})
# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)
# Display the table
print(table)
PYTHON
Code Erläuterung
Der Python-Code wandelt einen Pandas DataFrame in eine PyArrow-Tabelle um(`pa.Table`) und druckt dann die Tabelle aus. Der DataFrame besteht aus drei Spalten(`col1`, `col2`, `col3`) mit Integer-, String- und Float-Daten.
AUSGABE
Erweiterte Funktionen
1. Dateiformate
PyArrow unterstützt das Lesen und Schreiben verschiedener Dateiformate wie Parquet und Feather. Diese Formate sind auf Leistung optimiert und werden häufig in Datenverarbeitungspipelines verwendet.
2. Speicher-Mapping
PyArrow unterstützt memory-mapped file access, was ein effizientes Lesen und Schreiben großer Datensätze ermöglicht, ohne den gesamten Datensatz in den Speicher zu laden.
3. Kommunikation zwischen Prozessen
PyArrow bietet Werkzeuge für die Kommunikation zwischen Prozessen, die einen effizienten Datenaustausch zwischen verschiedenen Prozessen ermöglichen.
Einführung in IronPDF
IronPDF ist eine Bibliothek für Python, die die Arbeit mit PDF-Dateien erleichtert und Aufgaben wie das Erstellen, Bearbeiten und Manipulieren von PDF-Dokumenten programmatisch ermöglicht. Es bietet Funktionen wieerzeugung von PDFs aus HTMLhinzufügen von Text, Bildern und Formen zu bestehenden PDF-Dateien sowieextraktion von Text und Bildern aus PDF-Dateien. Hier sind einige der wichtigsten Merkmale
PDF-Erzeugung aus HTML
IronPDF kann HTML-Dateien, HTML-Strings und URLs problemlos in PDF-Dokumente umwandeln. Nutzen Sie den PDF-Renderer von Chrome, umwebseiten wiedergeben direkt in das PDF-Format.
Plattformübergreifende Kompatibilität
IronPDF ist mit Python 3+ kompatibel und funktioniert nahtlos auf Windows, Mac, Linux und Cloud-Plattformen. Es wird auch unterstützt in.NET, Java, PythonundNode.js. umgebungen.
Benutzerdefinierte Seitenvorlagen und Einstellungen
Mit IronPDF können Sie PDFs mit anpassbarenkopfzeilen, Fußzeilen, seitenzahlenund einstellbare Ränder. Es unterstützt responsive Layouts und ermöglicht die Einstellung benutzerdefinierter Papiergrößen.
Einhaltung von Normen
IronPDF ist konform mit den PDF-Standards, einschließlich PDF/A und PDF/UA. UnterstütztUTF-8-Zeichencodierung und verarbeitet nahtlos Elemente wie Bilder, CSS-Stile und Schriftarten.
Erzeugen von PDF-Dokumenten mit IronPDF und PyArrow
IronPDF-Voraussetzungen
IronPDF verwendet .NET 6.0 als Basistechnologie. Sie haben also.NET 6.0-Laufzeit auf Ihrem System installiert.
Python 3.0+: Sie müssen Python Version 3 oder höher installiert haben.
pip: Python-Paket-Installationsprogrammpip für die Installation des IronPDF-Pakets.
Installieren Sie die erforderlichen Bibliotheken:
pip install pyarrow
pip install ironpdf
Fügen Sie dann den folgenden Code ein, um die Verwendung der Python-Pakete IronPDF und pyarrow zu demonstrieren
import pandas as pd
import pyarrow as pa
from ironpdf import *
# Apply your license key
License.LicenseKey = "license"
# Create a Pandas DataFrame
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c'],
'col3': [1.1, 2.2, 3.3]
})
# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)
# Display the table
print(table)
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"
for row in table:
# Access specific values in a row
value_in_column1 = row[0]
value_in_column2 = row[1]
value_in_column3 = row[2]
content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("DemoPyarrow.pdf")
import pandas as pd
import pyarrow as pa
from ironpdf import *
# Apply your license key
License.LicenseKey = "license"
# Create a Pandas DataFrame
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c'],
'col3': [1.1, 2.2, 3.3]
})
# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)
# Display the table
print(table)
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"
for row in table:
# Access specific values in a row
value_in_column1 = row[0]
value_in_column2 = row[1]
value_in_column3 = row[2]
content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("DemoPyarrow.pdf")
PYTHON
Code Erläuterung
Das Skript demonstriert die Integration von Pandas-, PyArrow- und IronPDF-Bibliotheken, um ein PDF-Dokument aus Daten zu erstellen, die in einem Pandas DataFrame gespeichert sind:
Pandas DataFrame-Erstellung:
Erstellen eines Pandas DataFrame(df) mit drei Spalten(col1, col2, col3) mit numerischen und String-Daten.
Umwandlung in PyArrow Table:
Konvertiert den Pandas DataFrame("df") in eine PyArrow-Tabelle("Tabelle") using pa.Table.from_pandas() methode. Diese Konvertierung ermöglicht eine effiziente Datenverarbeitung und Interoperabilität mit Arrow-basierten Anwendungen.
PDF-Erzeugung mit IronPDF:
Verwendet den ChromePdfRenderer von IronPDF und ruft dessen RenderHtmlAsPdf Methode auf, um ein PDF-Dokument zu erzeugen(DemoPyarrow.pdf) aus einer HTML-Zeichenkette(inhalt)die Kopfzeilen und aus der PyArrow-Tabelle extrahierte Daten enthält(tabelle).
Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor Sie das IronPDF-Paket verwenden:
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
PYTHON
Schlussfolgerung
*PyArrow ist eine vielseitige und leistungsstarke Bibliothek, die die Möglichkeiten von Python für Datenverarbeitungsaufgaben erweitert. Sein effizientes Speicherformat, die Interoperabilitätsfunktionen und die Integration mit Pandas machen es zu einem unverzichtbaren Werkzeug für Datenwissenschaftler und Ingenieure. Egal, ob Sie mit großen Datensätzen arbeiten, komplexe Datenmanipulationen durchführen oder Datenverarbeitungspipelines aufbauen, PyArrow bietet die Leistung und Flexibilität, die Sie benötigen, um diese Aufgaben effektiv zu bewältigen. Andererseits,IronPDF ist eine robuste Python-Bibliothek, die die Erstellung, Bearbeitung und Darstellung von PDF-Dokumenten direkt aus Python-Anwendungen vereinfacht. Es lässt sich nahtlos in bestehende Python-Frameworks integrieren und ermöglicht es Entwicklern, PDFs dynamisch zu erzeugen und anzupassen. Zusammen mit beidenPyArrow undIronPDF python-Paketen können Benutzer Datenstrukturen einfach verarbeiten und die Daten archivieren.
IronPDF bietet außerdem eine umfassende Dokumentation, die Entwicklern den Einstieg erleichtert, sowie zahlreiche Code-Beispiele, die die leistungsstarken Funktionen des Programms veranschaulichen. Weitere Einzelheiten finden Sie auf der Websitedokumentation undcode-Beispiele seiten.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS crc32c Python (Wie es für Entwickler funktioniert)
NÄCHSTES > kryptographie Python (Wie es für Entwickler funktioniert)