Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
SockJS y IronPDF desempeñan funciones diferentes pero complementarias en la creación de aplicaciones en línea. Un paquete de JavaScript llamado SockJS ofrece una API HTTP bidireccional para la comunicación cliente-servidor que se asemeja a WebSockets. Hace posible que los navegadores web y los servidores se comuniquen en tiempo real y a través de eventos, permitiendo el uso de aplicaciones como salas de chat, noticias en directo y herramientas de trabajo en equipo. Sin embargo, en entornos Node.js, IronPDF es una potente biblioteca JavaScript que permite producir y modificar documentos PDF mediante programación.
Mientras que IronPDF permite crear y gestionar documentos PDF de forma dinámica, el cliente SockJS gestiona el intercambio de datos en tiempo real y las funciones de colaboración en aplicaciones en línea a través de un canal de comunicación entre dominios. Al integrar el homólogo del servidor SockJS con IronPDF, los desarrolladores pueden generar y servir fácilmente documentos PDF basados en datos dinámicos o interacciones del usuario, al tiempo que mejoran sus aplicaciones con cambios en tiempo real. Con esta combinación, los desarrolladores pueden diseñar sofisticadas aplicaciones en línea que admiten una variedad de casos de uso, incluidas aplicaciones de uso intensivo de documentos y plataformas de colaboración, utilizando tanto la comunicación en tiempo real como la creación dinámica de PDF.
SockJS es una biblioteca de JavaScript del lado del navegador que facilita la comunicación bidireccional en tiempo real entre clientes web y servidores. Abstrae WebSocket y ofrece un mecanismo alternativo a protocolos de transporte alternativos como HTTP long-polling y XHR streaming, garantizando la compatibilidad entre varios navegadores y entornos web. Proporciona una API JavaScript sencilla para establecer y gestionar conexiones y gestionar eventos como la apertura de conexiones, la recepción de mensajes y el cierre. Además, SockJS incluye un cliente de línea de comandos para pruebas y depuración, lo que lo hace versátil tanto para entornos de desarrollo como de producción. En general, el objeto JavaScript SockJS simplifica la implementación de funciones en tiempo real en aplicaciones web, soportando canales de comunicación escalables y con capacidad de respuesta.
SockJS garantiza un comportamiento y una funcionalidad coherentes en muchos navegadores y entornos web.
Si las conexiones WebSocket no están disponibles o fallan, SockJS puede cambiar de forma transparente a otros protocolos de transporte, como HTTP long-polling, XHR streaming, o incluso JSONP polling.
Permite que las aplicaciones del lado del servidor (generalmente usando Node.js u otras tecnologías del lado del servidor) y las aplicaciones JavaScript del lado del cliente (que se ejecutan en navegadores web) se comuniquen en tiempo real y de forma impulsada por eventos.
Dado que SockJS ofrece una API directa equivalente a WebSocket, los desarrolladores pueden incluirla y utilizarla fácilmente en sus proyectos.
SockJS facilita el desarrollo de aplicaciones escalables que pueden gestionar numerosas conexiones simultáneas y una amplia gama de situaciones de red mediante el apoyo a múltiples protocolos de transporte y técnicas de fallback.
Facilita la implementación de funciones en tiempo real proporcionando una API sencilla que los desarrolladores pueden incorporar a sus aplicaciones web sin necesidad de una compleja programación de red de bajo nivel.
Abstracción del Protocolo de Transporte:
SockJS abstrae WebSocket, HTTP long-polling y otros protocolos de transporte subyacentes. Gracias a su adaptabilidad, se garantiza una comunicación fiable incluso en situaciones en las que las conexiones WebSocket están restringidas o no están disponibles.
Por lo general, necesitas configurar SockJS tanto en el lado del cliente (en tu navegador web) como en el lado del servidor (usando incluso un navegador o un marco de servidor como Node.js) para construirlo y configurarlo para la comunicación en tiempo real en una aplicación en línea. A continuación se explica cómo crear y configurar SockJS:
SockJS puede instalarse mediante NPM o incluirse directamente a través de una CDN:
npm install sockjs-client
npm install sockjs-client
Incluya la biblioteca JavaScript SockJS en el archivo HTML que cree:
<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
js
Crea una instancia de SockJS en tu archivo JavaScript (app.js o algo similar) y conéctate a tu servidor:
<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>
Debe utilizar la URL de su punto final WebSocket del lado del servidor en lugar de "http://localhost:3000/socket
".
Para instalar el paquete SockJS-Node, utilice npm:
npm install sockjs
npm install sockjs
En su servidor Node.js, configure 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}`);
});
js
Asegúrese de que el código del lado del servidor está personalizado para cumplir los requisitos de su aplicación y funciona con el marco o la configuración del servidor que ya tiene.
Solicitudes de origen cruzado (CORS): Cuide el servidor de prueba que maneja eficazmente la configuración de CORS si su servidor y cliente están en dominios separados.
Manejo de Errores: Según las especificaciones de su aplicación, implemente el manejo de errores y las medidas de seguridad en el límite del navegador (como autenticación y autorización).
Despliegue: Configure HTTPS para conexiones seguras y configure SockJS y su servidor para entornos de despliegue.
Esta configuración ofrece una base fundamental para establecer una comunicación en tiempo real entre un cliente web y un servidor web, utilizando SockJS. Dependiendo de los requisitos y la arquitectura de su aplicación en particular, puede ser necesario realizar ajustes.
Configurar una aplicación web que utilice las capacidades de comunicación en tiempo real de SockJS e integre IronPDF para la creación dinámica de PDF es el primer paso para empezar a utilizar SockJS e IronPDF. Aquí tienes una guía para empezar:
Una poderosa herramienta para Node.js llamada IronPDF está diseñada para transformar datos HTML en archivos PDF de extraordinaria calidad. Sin sacrificar el contenido original de la web, acelera el proceso de convertir archivos HTML, CSS y otros JavaScript en PDFs correctamente formateados. Para aplicaciones web que necesitan generar documentos dinámicos e imprimibles como informes, facturas y certificaciones, esta es una herramienta muy útil.
Configuraciones de página personalizables, encabezados, pies de página y la capacidad de añadir fuentes e imágenes son solo algunas de las capacidades de IronPDF. Puede manejar diseños y estilos intrincados para garantizar que cada archivo PDF de prueba cumpla con los requisitos. Además, IronPDF gestiona la ejecución de JavaScript dentro del HTML, permitiendo una renderización precisa de contenido dinámico e interactivo.
Convierte JavaScript, HTML y CSS a PDF. Admite media queries y diseño responsivo, dos estándares web contemporáneos. útil para decorar dinámicamente informes, facturas y documentos PDF con HTML y CSS.
A los PDF preexistentes se les puede añadir texto, fotos y otros contenidos. Extraiga texto e imágenes de archivos PDF. Combinar numerosos PDF en un solo archivo. Divida archivos PDF en varios documentos independientes. Incluye marcas de agua, anotaciones, encabezados y pies de página.
El alto rendimiento y la fiabilidad son cualidades de diseño deseadas en los entornos industriales. Gestiona grandes conjuntos de documentos con facilidad.
Instale el paquete IronPDF para obtener las herramientas que necesita para trabajar con PDF en proyectos Node.js. En la línea de comandos, añada la siguiente línea de código.
npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
Configure SockJS en su servidor Node.js para gestionar las solicitudes de generación de PDF y las conexiones de los clientes:
// 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}`);
});
js
Configure SockJS en el lado del cliente para interactuar con el servidor y enviar solicitudes para generar archivos PDF.
<!-- 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-Side: Un servidor SockJS (sockjsServer) está configurado por el servidor Node.js, que luego vigila las conexiones en el puerto /socket. Utiliza IronPDF (IronPdf.PdfDocument) para invocar la función generatePdf() con el fin de gestionar los mensajes entrantes (solicitudes de generación de PDF). Tras generar el PDF, utiliza la conexión SockJS para enviar los datos PDF codificados en base64 al cliente.
Cliente: El cliente se conecta al servidor a través de una conexión SockJS (sock) y observa eventos como onopen, onmessage y onclose. El usuario utiliza sock.send(htmlContent) para enviar contenido HTML (htmlContent) al servidor para la generación de PDF cuando hace clic en el botón "Generar PDF". Muestra o descarga el PDF al cliente, después de obtener los datos del PDF del servidor (sock.onmessage).
A continuación se muestra el resultado generado a partir del código.
Se crea una fuerte sinergia en el desarrollo de aplicaciones web cuando se utiliza SockJS para la comunicación en tiempo real y IronPDF para la producción dinámica de PDF. SockJS facilita la comunicación bidireccional entre clientes y servidores, lo que permite funciones como la colaboración interactiva y las actualizaciones en tiempo real. Sin embargo, IronPDF ofrece a los programadores la posibilidad de crear y modificar documentos PDF mediante programación. Incluso puede convertir dinámicamente texto HTML en PDF.
La integración de estas tecnologías hace posible aplicaciones web complejas que pueden crear documentos PDF al instante en respuesta a las entradas del usuario o a actualizaciones de datos en tiempo real. Las aplicaciones que requieran la generación de documentos en tiempo real, la edición en grupo o la elaboración de informes interactivos encontrarán esta integración especialmente útil. Mediante la utilización de SockJS para actualizaciones instantáneas y IronPDF para la creación dinámica de PDF, los desarrolladores pueden optimizar la experiencia del usuario, optimizar los flujos de trabajo y proporcionar soluciones resistentes que satisfagan una serie de requisitos empresariales para cualquier usuario serio de SockJS.
Podemos aumentar la utilidad de su conjunto de herramientas de desarrollo de aplicaciones Node.js utilizando IronPDF para agregar OCR, escaneo de códigos de barras, producción de PDF, interacción con Excel y muchas otras características. Los sistemas altamente configurables de Iron Software y una extensa biblioteca de plugins con soporte de la comunidad permiten a los desarrolladores construir características y aplicaciones web más rápidamente.
Los desarrolladores pueden utilizar las numerosas características de IronPDF con una licencia de prueba gratuita y una variedad de ejemplos de código de la empresa antes de optar por la compra. Para obtener más información sobre las licencias perpetuas de IronPDF, visite la página de licencias. Para más instrucciones sobre cómo empezar a utilizar IronPDF, visite la página de documentación.