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")
deepstream io (Wie es für Entwickler funktioniert)
Chaknith Bin
17. April 2025
Teilen Sie:
Ein Echtzeitserver ist so konzipiert, dass er sofort auf Daten reagiert, wodurch er sofort auf jede Benutzerinteraktion oder jedes Systemereignis reagiert. Im Gegensatz zu herkömmlichen Anforderungs-Antwort-Servern, die Verzögerungen einführen, nutzen Echtzeit-Server Technologien und Protokolle, um einen kontinuierlichen Informationsaustausch und sofortige Aktualisierungen zu gewährleisten. Das liegt daran, dass ein Echtzeit-Server für mehrere Anwendungen, die Live-Kommunikation erfordern, entscheidend ist: Messaging-Systeme, Online-Gaming, Finanzhandelsplattformen und kollaborative Tools. In diesem Artikel werden wir lernen, wie man den Open-Realtime-Server Deepstream und IronPDF verwendet, um PDFs zu erstellen.
Einführung
deepstream.io ist ein skalierbarer Echtzeit-Server für die Daten-Synchronisation und Nachrichtenübermittlung von vielen zu vielen. Es kann Daten mühelos verarbeiten und viele Clients mit sehr geringer Latenzzeit synchronisiert halten, wobei es die Übertragung von Binärdaten unterstützt. deepstream.io ist darauf ausgelegt, hinter anderen Lastverteilern und Balancern positioniert zu werden, und bietet eine effiziente Möglichkeit, Daten zu synchronisieren und Ressourcendateien auf dem neuesten Stand zu halten. Damit ist es perfekt geeignet für Anwendungen, die Daten in Echtzeit aktualisieren und nach einer skalierbaren Serverlösung suchen.
Die Implementierung von deepstream.io durch Entwickler ermöglicht problemlos Live-Updates, kollaborative Anwendungen und interaktive Erlebnisse in Echtzeit, ohne von Grund auf neu zu beginnen. Es wurde für hohe Lasten und effizientes Skalieren entwickelt und ist daher die Software der Wahl für Anwendungen mit hoher Parallelität. deepstream.io ist flexibel und könnte sich als perfekte Ergänzung für Ihren Stack in verschiedenen Bereichen erweisen. Es bietet eine vollständige Lösung, die es Benutzern ermöglicht, Echtzeit-, reaktionsfähige und interaktive Web- und Mobile-Apps zu erstellen.
Um ein neues Node.js-Verzeichnis zu erstellen, geben Sie die folgenden Befehle in der Konsole ein:
mkdir deepstream-project
cd deepstream-project
npm init -y
mkdir deepstream-project
cd deepstream-project
npm init -y
SHELL
Installieren Sie das deepstream.io-Paket
Zuerst müssen Sie deepstream.io installieren. Sie können entweder NPM verwenden, um es zu installieren, oder die Binärdateien von der offiziellen Website herunterladen.
npm install @deepstream/server
npm install @deepstream/server
SHELL
Grundkonfiguration von deepstream.io
const { Deepstream } = require('@deepstream/server')
//we can add modifying resource files as a parameter
const server = new Deepstream({})
// start the server
server.start()
js
JAVASCRIPT
Der folgende Codeausschnitt demonstriert, wie man einen deepstream.io-Server mit dem @deepstream/server-Paket in Node.js einrichtet und startet. Zuerst importiert es die Deepstream-Klasse aus diesem Paket. Als nächstes wird eine Instanz der Klasse erstellt. An diesem Punkt wird eine neue Instanz von Deepstream initialisiert. Mit dem Aufruf von server.start() wird der Server gestartet, wodurch er bereit ist, eingehende Verbindungen zu akzeptieren, um Echtzeit-Datenbindungen, Messaging oder Präsenz-Back-End-Dienste zu bearbeiten. Diese minimale Einrichtung wird einen Server zum Laufen bringen, bereit für Client-Verbindungen und fähig, alles Notwendige zu erledigen, von der Verwaltung von Daten bis hin zur Übertragung von Ereignissen.
Der folgende Code zeigt, wie man eine Verbindung zu Deepstream mit der @deepstream/client-Bibliothek herstellt. Dieses Skript importiert die DeepstreamClient-Klasse und erstellt dann eine Instanz von DeepstreamClient, die sich mit einem lokal laufenden Deepstream-Server bei der IP-Adresse 127.0.0.1 auf Port 6020 verbindet. Schließlich sollte es sich mit client.login(null) bei diesem Server anmelden. In diesem Fall wird null übergeben, was bedeuten würde, dass keine Anmeldedaten bereitgestellt werden. Das könnte ausreichend sein, wenn der Server überhaupt keine Authentifizierung verwendet oder für einige Testfälle. Die folgende Einrichtung wird dann einen Client initialisieren, der eine Verbindung zu einem Deepstream-Server für die Echtzeit-Datensynchronisation und Kommunikation für Power-User herstellt.
Nach der Verbindung mit dem Serverknoten wird im Serverkonsole eine Nachricht ähnlich der untenstehenden angezeigt.
Verwendung von Listener mit deepstream.io
Im Folgenden finden Sie den Beispielcode, mit dem Listener erstellt werden können, was auch eines der Kernkonzepte von deepstream ist.
Im obigen Code wird eine Anmeldung bei einem Deepstream-Server, der auf 127.0.0.1:6020 gehostet wird, mit der @deepstream/client-Bibliothek durchgeführt. Danach wird überprüft, ob die Anmeldung erfolgreich ist, nachdem eine Verbindung hergestellt und eingeloggt wurde. Wenn die Authentifizierung beim Echtzeitserver erfolgreich ist, wird ein benutzerdefiniertes Ereignis mit dem Namen "custom-event" veröffentlicht und einer Nachrichten-Payload { message: "Hello, Deepstream!" }. Das folgende Beispiel zeigt, wie man eine Verbindung zu einem Deepstream-Server herstellt und Nachrichten sowie ein benutzerdefiniertes Ereignis sendet.
Einführung in IronPDF
Verwenden Sie IronPDF, ein unglaublich starkes Node.js-Paket, um PDF-Dokumente zu erstellen, zu bearbeiten, zu konvertieren und zu bearbeiten. Es ist ein Werkzeug, das in den meisten programmierbasierten Prozessen mit PDFs sowie in Backend-Prozessen wie der Modifizierung bereits bestehender PDFs und der Umwandlung von HTML in PDFs verwendet wird. In Anwendungen, in denen die dynamische Erstellung und Handhabung von PDFs erforderlich ist, wird IronPDF sehr hilfreich. Es bietet eine benutzerfreundliche und flexible Möglichkeit, hochwertige PDF-Dokumente zu erstellen.
IronPDF-Paket installieren
Verwenden Sie NPM, um Pakete herunterzuladen und zu installieren, die Node.js die IronPDF-Funktionalität ermöglichen.
npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL
PDF-Erzeugungsfunktion
Erstellen Sie eine Funktion, die IronPDF verwendet, um PDFs zu erstellen:
const IronPdf = require('@ironsoftware/ironpdf');
const { PdfDocument } = IronPdf;
// Set IronPDF configuration
const config = IronPdf.IronPdfGlobalConfig;
config.setConfig({ licenseKey: 'YOUR_LICENSE_KEY' }); // Replace with your actual license key
async function generatePDF(title, content) {
try {
// Generate PDF from HTML content
const pdf = await PdfDocument.fromHtml(`<html><body><h1>${title}</h1><p>${content}</p></body></html>`);
return await pdf.saveAsBuffer();
} catch (error) {
console.error('Error generating PDF:', error);
throw error;
}
}
module.exports = generatePDF;
js
JAVASCRIPT
Richten Sie den Deepstream-Client ein
Erstellen Sie nun ein Python-Skript, das in Echtzeit auf Daten lauscht und auf Basis dieser Daten PDFs erstellt:
const { DeepstreamClient } = require('@deepstream/client');
const generatePDF = require('./generatePdf'); // Path to your PDF generation function
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, async (success) => {
if (success) {
console.log('Deepstream connected successfully');
// Listen for a custom event to trigger PDF generation
const event = client.event;
event.subscribe('generate-pdf', async (data) => {
const { title, content } = data;
if (!title
!content) {
console.error('Missing title or content for PDF generation');
return;
}
try {
// Generate the PDF
const pdfBuffer = await generatePDF(title, content);
// Handle the PDF buffer (e.g., save to file, send over network)
console.log('PDF generated successfully');
// Example: Save PDF to a file (optional)
const fs = require('fs');
fs.writeFileSync('generated.pdf', pdfBuffer);
} catch (error) {
console.error('Error generating PDF:', error);
}
});
} else {
console.error('Failed to connect to Deepstream');
}
});
js
JAVASCRIPT
Veröffentlichung von Ereignissen zur Auslösung der PDF-Erstellung
Wir können Ereignisse veröffentlichen, um die PDF-Erstellung von einem anderen Python-Skript oder Teil Ihrer Anwendung auszulösen:
const { DeepstreamClient } = require('@deepstream/client');
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, () => {
const event = client.event;
// Publish a custom event with title and content
event.publish('generate-pdf', {
title: 'Sample PDF Title',
content: 'This is the content of the PDF document.'
});
});
js
JAVASCRIPT
Deepstream.io wird implementiert, indem Echtzeitereignisse überwacht werden, die die PDF-Erstellung auslösen. Die Funktion generatePDF erstellt ein PDF-Dokument basierend auf Daten von Deepstream.io-Ereignissen mithilfe von IronPDF. Der DeepstreamClient würde diese abonnieren, und wann immer relevante Ereignisse veröffentlicht werden, würde er die PDF-Erstellungsfunktion aufrufen. Eine solche Integration ermöglicht die dynamische Erstellung von PDFs in Echtzeit basierend auf Ereignisvorkommen, Anfragen oder Datenänderungen.
Lizenzvergabe
Um den Code ohne Wasserzeichen zu kompilieren und auszuführen, wird ein Lizenzschlüssel benötigt. Entwickler, die eine Testlizenz möchten, können sich hier registrieren. Zum Erhalt eines solchen ist es nicht erforderlich, eine Kreditkarte anzugeben. Alles, was Sie tun müssen, um sich für eine kostenlose Testversion anzumelden, ist Ihre E-Mail-Adresse einzugeben.
Schlussfolgerung
Eine der stärksten Lösungen für die Echtzeit-Datenverarbeitung und dynamische Dokumentenerstellung wird durch eine Kombination von deepstream.io und IronPDF erreicht. deepstream.io synchronisiert Änderungen und zeichnet alle Ereignisse in Echtzeit auf, sodass es sofort auf jede Datenänderung reagieren kann. IronPDF bietet einen robusten Mechanismus zur Erstellung professioneller Dokumente im Handumdrehen. Diese Integration ermöglicht es Ihren Anwendungen, PDF-Dokumente automatisch zu erstellen und zu verarbeiten, nicht nur wenn sich Live-Daten ändern, sondern auch immer dann, wenn ein Benutzer mit Ihrer Anwendung interagiert.
Ob es sich um Berichtserstellung, Rechnungen oder andere Dokumenttypen handelt: deepstream.io integriert mit IronPDF ermöglicht die Vereinfachung von Arbeitsabläufen, die responsive Dokumentenerstellung und hält Ihre Anwendung schlank und aktuell mit Echtzeitinformationen. Diese Kombination eignet sich am besten für agile, datengesteuerte und reaktionsfähige Anwendungen, die Unterstützung bei der Echtzeit-Dokumentenerstellung und -verwaltung erfordern.
Die von Iron Software bereitgestellten Bibliotheken ermöglichen es uns, Programme schnell und einfach für eine Vielzahl von Betriebssystemen, Browsern und Plattformen zu erstellen, einschließlich Windows, Android, MAC, Linux usw.
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.
NÄCHSTES > imageio python (So funktioniert es für Entwickler)