Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
SockJS und IronPDF spielen unterschiedliche, aber komplementäre Rollen bei der Entwicklung von Online-Anwendungen. Ein JavaScript-Paket namens SockJS bietet eine bidirektionaleHTTP API für die Client-Server-Kommunikation, die WebSockets ähnelt. Es ermöglicht die Kommunikation zwischen Webbrowsern und Servern in Echtzeit und über Ereignisse, was die Nutzung von Anwendungen wie Chatrooms, Live-Nachrichten und Teamwork-Tools ermöglicht. IronPDF for Node.js ist eine leistungsstarke JavaScript-Bibliothek, mit der sich PDF-Dokumente programmatisch erstellen und ändern lassen.
Während IronPDF die dynamische Erstellung und Verwaltung von PDF-Dokumenten ermöglicht, verwaltet der SockJS-Client Echtzeit-Datenaustausch- und Kollaborationsfunktionen in Online-Anwendungen über einen domänenübergreifenden Kommunikationskanal. Durch die Integration des SockJS-Server-Gegenstücks in IronPDF können Entwickler auf einfache Weise PDF-Dokumente auf der Grundlage dynamischer Daten oder Benutzerinteraktionen generieren und bereitstellen und gleichzeitig ihre Anwendungen mit Echtzeitänderungen verbessern. Mit dieser Kombination können Entwickler anspruchsvolle Online-Anwendungen entwerfen, die eine Vielzahl von Anwendungsfällen unterstützen, darunter dokumentenintensive Anwendungen und Plattformen für die Zusammenarbeit, indem sie sowohl die Echtzeitkommunikation als auch die dynamische PDF-Erstellung nutzen.
SockJS ist eine browser-seitige JavaScript-Bibliothek, die die bidirektionale Echtzeit-Kommunikation zwischen Web-Clients und Servern ermöglicht. Sie abstrahiert WebSocket und bietet einen Fallback-Mechanismus für alternative Transportprotokolle wie HTTP Long-Polling und XHR-Streaming, um die Kompatibilität mit verschiedenen Webbrowsern und Umgebungen zu gewährleisten. Es bietet eine einfache JavaScript-API für den Aufbau und die Verwaltung von Verbindungen und die Handhabung von Ereignissen wie dem Öffnen von Verbindungen, dem Empfang von Nachrichten und dem Schließen von Verbindungen. Darüber hinaus enthält SockJS einen Befehlszeilen-Client für Test- und Debugging-Zwecke, wodurch es sowohl für Entwicklungs- als auch für Produktionsumgebungen geeignet ist. Insgesamt vereinfacht das JavaScript-Objekt SockJS die Implementierung von Echtzeitfunktionen in Webanwendungen und unterstützt skalierbare und reaktionsschnelle Kommunikationskanäle.
SockJS gewährleistet konsistentes Verhalten und Funktionalität in vielen Webbrowsern und Umgebungen.
Wenn WebSocket-Verbindungen nicht verfügbar sind oder ausfallen, kann SockJS transparent auf andere Transportprotokolle wie HTTP Long-Polling, XHR-Streaming oder sogar JSONP-Polling umschalten.
Es ermöglicht serverseitige Anwendungen(in der Regel Node.js oder andere serverseitige Technologien verwenden) und client-seitige JavaScript-Anwendungen(ausführung in Webbrowsern) um in Echtzeit und ereignisgesteuert zu kommunizieren.
Da SockJS ein einfaches API-Äquivalent zu WebSocket bietet, können Entwickler es problemlos in ihre Projekte einbinden und nutzen.
SockJS erleichtert die Entwicklung von skalierbaren Anwendungen, die zahlreiche gleichzeitige Verbindungen und eine Reihe von Netzwerksituationen verwalten können, indem es mehrere Transportprotokolle und Fallback-Techniken unterstützt.
Sie vereinfacht die Implementierung von Echtzeitfunktionen, indem sie eine einfache API bereitstellt, die Entwickler in ihre Webanwendungen einbinden können, ohne dass eine komplexe Low-Level-Netzwerkprogrammierung erforderlich ist.
Transportprotokollabstraktion:
WebSocket, HTTP Long-Polling und andere zugrunde liegende Transportprotokolle werden von SockJS abstrahiert. Aufgrund seiner Anpassungsfähigkeit ist eine zuverlässige Kommunikation auch in Situationen gewährleistet, in denen WebSocket-Verbindungen eingeschränkt oder nicht verfügbar sind.
Normalerweise müssen Sie SockJS sowohl auf der Client-Seite als auch auf der Website einrichten(in Ihrem Webbrowser) und die Serverseite(selbst einen Browser oder ein Server-Framework wie Node.js verwenden) um es für die Echtzeitkommunikation in einer Online-Anwendung zu konstruieren und zu konfigurieren. Es folgt eine grundlegende Anleitung zum Erstellen und Konfigurieren von SockJS:
SockJS kann mit NPM installiert oder direkt über ein CDN eingebunden werden:
npm install sockjs-client
Binden Sie die SockJS JavaScript-Bibliothek in die von Ihnen erstellte HTML-Datei ein:
<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
Erstellen Sie eine SockJS-Instanz in Ihrer JavaScript-Datei(app.js oder etwas Ähnliches) und verbinden Sie sich mit Ihrem Server:
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>SockJS + IronPDF Example</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
<script>
const sock = new SockJS("http://localhost:3000/socket");
sock.onopen = function () {
console.log("Connection opened");
};
sock.onmessage = function (e) {
console.log("Message received:", e.data);
};
sock.onclose = function () {
console.log("Connection closed");
};
// Example of sending a message
function sendMessage(message) {
sock.send(message);
}
</script>
Enter the Message :
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>SockJS + IronPDF Example</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
<script>
const sock = new SockJS("http://localhost:3000/socket");
sock.onopen = function () {
console.log("Connection opened");
};
sock.onmessage = function (e) {
console.log("Message received:", e.data);
};
sock.onclose = function () {
console.log("Connection closed");
};
// Example of sending a message
function sendMessage(message) {
sock.send(message);
}
</script>
Enter the Message :
</body>
</html>
Die URL Ihres serverseitigen WebSocket-Endpunkts sollte anstelle von "http://localhost:3000/socket
" verwendet werden.
Um das SockJS-Node-Paket zu installieren, verwenden Sie npm:
npm install sockjs
Konfigurieren Sie auf Ihrem Node.js-Server SockJS:
const http = require('http');
const sockjs = require('sockjs');
// Create a SockJS server
const sockjsServer = sockjs.createServer();
// Attach the server to an HTTP server instance
const server = http.createServer();
sockjsServer.installHandlers(server, { prefix: '/socket' });
// Define SockJS event handlers
sockjsServer.on('connection', function(conn) {
console.log('Client connected');
conn.on('data', function(message) {
console.log('Received message:', message);
// Handle incoming messages from client
});
conn.on('close', function() {
console.log('Client disconnected');
});
});
// Start the server
const PORT = 3000;
server.listen(PORT, function() {
console.log(`Server listening on port ${PORT}`);
});
Stellen Sie sicher, dass der serverseitige Code an die Anforderungen Ihrer Anwendung angepasst ist und mit dem bereits vorhandenen Server-Framework oder der Konfiguration funktioniert.
Herkunftsübergreifende Anfragen(CORS): Kümmern Sie sich um den Testserver, der CORS-Einstellungen effektiv handhabt, wenn sich Ihr Server und Ihr Client auf getrennten Domänen befinden.
Fehlerbehandlung: Implementieren Sie gemäß den Spezifikationen Ihrer Anwendung Fehlerbehandlungs- und Sicherheitsmaßnahmen im Browser-Limit(wie z. B. Authentifizierung und Autorisierung).
Entwicklung: Richten Sie HTTPS für sichere Verbindungen ein und konfigurieren Sie SockJS und Ihren Server für Entwicklungsumgebungen.
Diese Konfiguration bietet eine grundlegende Basis für den Aufbau einer Echtzeitkommunikation zwischen einem Web-Client und einem Web-Server unter Verwendung von SockJS. Je nach den Anforderungen und der Architektur Ihrer speziellen Anwendung können Anpassungen erforderlich sein.
Die Einrichtung einer Webanwendung, die die Echtzeit-Kommunikationsfähigkeiten von SockJS nutzt und IronPDF für die dynamische PDF-Erstellung integriert, ist der erste Schritt, um mit SockJS und IronPDF zu arbeiten. Hier ist ein Leitfaden für den Anfang:
Ein leistungsstarkes Node.js-Tool namensIronPDF dient der Umwandlung von HTML-Daten in PDF-Dateien von außerordentlicher Qualität. Ohne die ursprünglichen Webinhalte zu opfern, beschleunigt es den Prozess der Umwandlung von HTML-, CSS- und anderen JavaScript-Dateien in korrekt formatierte PDFs. Für Webanwendungen, die dynamische, druckbare Dokumente wie Berichte, Rechnungen und Zertifikate erstellen müssen, ist dies ein sehr nützliches Werkzeug.
Anpassbare Seiteneinstellungen, Kopf- und Fußzeilen sowie die Möglichkeit, Schriftarten und Bilder hinzuzufügen, sind nur einige der Fähigkeiten von IronPDF. Es kann komplexe Layouts und Stile verarbeiten, um sicherzustellen, dass jeder Test-PDF-Ausgabe den Anforderungen entspricht. Des Weiteren verwaltet IronPDF die Ausführung von JavaScript innerhalb von HTML, was eine präzise dynamische und interaktive Inhaltswiedergabe ermöglicht.
Konvertieren Sie JavaScript, HTML und CSS in PDF. Unterstützt Media-Queries und Responsive Design, zwei moderne Webstandards. nützlich zur dynamischen Gestaltung von PDF-Berichten, Rechnungen und Dokumenten mit HTML und CSS.
Vorhandene PDF-Dateien können mit Text, Fotos und anderen Inhalten ergänzt werden. Entfernen Sie Text und Bilder aus PDF-Dateien. Kombinieren Sie mehrere PDFs in einer Datei. Aufteilung von PDF-Dateien in mehrere separate Dokumente. Fügen Sie Wasserzeichen, Anmerkungen, Kopf- und Fußzeilen ein.
Hohe Leistung und Zuverlässigkeit sind erwünschte Konstruktionsmerkmale in industriellen Umgebungen. Verwaltet große Dokumentensätze mit Leichtigkeit.
Installieren Sie das IronPDF-Paket, um die Werkzeuge zu erhalten, die Sie für die Arbeit mit PDFs in Node.js-Projekten benötigen. Fügen Sie in der Befehlszeile die folgende Codezeile ein.
npm install @ironsoftware/ironpdf
Konfigurieren Sie SockJS auf Ihrem Node.js-Server, um Anfragen zur PDF-Erzeugung zu verarbeiten und Client-Verbindungen zu verwalten:
// server.js
const http = require("http");
const sockjs = require("sockjs");
const IronPdf = require("@ironsoftware/ironpdf");
var config = IronPdf.IronPdfGlobalConfig;
config.setConfig({
licenseKey:
"",
});
// Create a SockJS server
const sockjsServer = sockjs.createServer();
// Attach the server to an HTTP server instance
const server = http.createServer();
sockjsServer.installHandlers(server, { prefix: "/socket" });
// Handle SockJS connections and messages
sockjsServer.on("connection", function (conn) {
console.log("Client connected");
// Handle incoming messages (PDF generation requests)
conn.on("data", async function(message) {
console.log("Received message:", message);
// Generate PDF using IronPDF
let pdfdata = await generatePdf(message);
// Send generated PDF data back to client
conn.write(pdfdata);
});
conn.on("close", function () {
console.log("Client disconnected");
});
});
// Function to generate PDF using IronPDF
const generatePdf = async (htmlContent) => {
const pdfDocument = IronPdf.PdfDocument;
let result = (await pdfDocument.fromHtml(htmlContent));
const pdfBuffer = await result.saveAsBuffer();
return pdfBuffer;
};
// Start the HTTP server
const PORT = 3000;
server.listen(PORT, function () {
console.log(`Server listening on port ${PORT}`);
});
Konfigurieren Sie SockJS auf der Client-Seite, um mit dem Server zu interagieren und Anfragen zur Erstellung von PDFs zu übermitteln.
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>SockJS + IronPDF Example</title>
</head>
<body>
<button onclick="generatePdf()">Generate PDF</button>
<!--// add SockJS browser JavaScript library -->
<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
<script>
const sock = new SockJS('http://localhost:3000/socket');
sock.onopen = function() {
console.log('Connection opened');
};
sock.onmessage = function(e) {
console.log('PDF received');
// Example: Display or download PDF received from server
displayPdf(e.data);
};
sock.onclose = function() {
console.log('Connection closed');
};
function generatePdf() {
// Example: HTML content to generate PDF
const htmlContent = '<html><body><h1>Hello, IronPDF!</h1></body></html>';
// Send HTML content to server for PDF generation
sock.send(htmlContent);
}
function displayPdf(pdfData) {
// Example: Display or download PDF data received from server
const pdfBlob = new Blob([atob(pdfData)], { type: 'application/pdf' });
const pdfUrl = URL.createObjectURL(pdfBlob);
window.open(pdfUrl, '_blank');
}
</script>
</body>
</html>
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>SockJS + IronPDF Example</title>
</head>
<body>
<button onclick="generatePdf()">Generate PDF</button>
<!--// add SockJS browser JavaScript library -->
<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
<script>
const sock = new SockJS('http://localhost:3000/socket');
sock.onopen = function() {
console.log('Connection opened');
};
sock.onmessage = function(e) {
console.log('PDF received');
// Example: Display or download PDF received from server
displayPdf(e.data);
};
sock.onclose = function() {
console.log('Connection closed');
};
function generatePdf() {
// Example: HTML content to generate PDF
const htmlContent = '<html><body><h1>Hello, IronPDF!</h1></body></html>';
// Send HTML content to server for PDF generation
sock.send(htmlContent);
}
function displayPdf(pdfData) {
// Example: Display or download PDF data received from server
const pdfBlob = new Blob([atob(pdfData)], { type: 'application/pdf' });
const pdfUrl = URL.createObjectURL(pdfBlob);
window.open(pdfUrl, '_blank');
}
</script>
</body>
</html>
Server-Seite: Ein SockJS-Server(sockjsServer) wird vom Node.js-Server konfiguriert, der dann auf Verbindungen über den Port /socket wartet. Sie verwendet IronPDF(IronPDF.PdfDocument) zum Aufrufen der generatePdf() funktion, um eingehende Nachrichten zu verarbeiten(Anforderungen für die PDF-Erstellung). Nach der Generierung der PDF-Datei werden die base64-kodierten PDF-Daten über die SockJS-Verbindung an den Client zurückgeschickt.
Client-Seite: Der Client verbindet sich mit dem Server über eine SockJS-Verbindung(socke) und achtet auf Ereignisse wie onopen, onmessage und onclose. Der Benutzer verwendet sock.send(htmlInhalt) hTML-Inhalt senden(htmlInhalt) an den Server zur PDF-Generierung, wenn sie auf die Schaltfläche "PDF generieren" klicken. Sie zeigt die PDF-Datei an oder lädt sie auf beide Clients herunter, nachdem sie die PDF-Daten vom Server erhalten hat(sock.onmessage).
Nachfolgend sehen Sie die aus dem Code generierte Ausgabe.
Bei der Entwicklung von Webanwendungen entsteht eine starke Synergie, wenn SockJS für die Echtzeitkommunikation und IronPDF für die dynamische PDF-Produktion verwendet werden. Mit SockJS wird die bidirektionale Kommunikation zwischen Clients und Servern vereinfacht, was Funktionen wie interaktive Zusammenarbeit und Echtzeit-Updates ermöglicht. IronPDF bietet Programmierern jedoch die Möglichkeit, PDF-Dokumente programmatisch zu erstellen und zu ändern. Es kann sogar HTML-Text dynamisch in PDFs umwandeln.
Komplexe Webanwendungen, die als Reaktion auf Benutzereingaben oder Datenaktualisierungen in Echtzeit sofort PDF-Dokumente erstellen können, werden durch die Integration dieser Technologien ermöglicht. Anwendungen, die eine Dokumentenerstellung in Echtzeit, Gruppenbearbeitung oder interaktive Berichtsfunktionen erfordern, werden diese Integration besonders hilfreich finden. Durch den Einsatz von SockJS für sofortige Aktualisierungen und IronPDF für die dynamische PDF-Erstellung können Entwickler die Benutzererfahrung und die Arbeitsabläufe optimieren und belastbare Lösungen bereitstellen, die eine Reihe von Geschäftsanforderungen für jeden ernsthaften SockJS-Anwender erfüllen.
Wir können den Nutzen Ihres Node.js-App-Entwicklungs-Toolkits erhöhen, indem wirIronPDF um OCR, Barcode-Scannen, PDF-Erstellung, Excel-Interaktion und viele andere Funktionen hinzuzufügen. Die hochgradig konfigurierbaren Systeme von Iron Software und die umfangreiche Bibliothek an community-unterstützten Plugins ermöglichen es Entwicklern, Funktionen und Webanwendungen schneller zu entwickeln.
Entwickler können die zahlreichen Funktionen von IronPDF mit einer kostenlosentestlizenzund eine Reihe von Codebeispielen der Firma, bevor Sie sich zum Kauf entscheiden. Weitere Informationen über die unbefristete Lizenzierung von IronPDF finden Sie auf der Lizenzseite. Weitere Anweisungen zur Verwendung von IronPDF finden Sie auf der Dokumentationsseite.
9 .NET API-Produkte für Ihre Bürodokumente