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
Un servidor en tiempo real está diseñado para responder a los datos al instante, haciéndolo inmediatamente receptivo a cada interacción del usuario o evento del sistema. A diferencia de los servidores convencionales de solicitud-respuesta que introducen retrasos, los servidores en tiempo real utilizan tecnologías y protocolos para garantizar un intercambio continuo de información y actualizaciones instantáneas. Es porque un servidor en tiempo real es crítico para varias aplicaciones que requieren comunicaciones en vivo: sistemas de mensajería, juegos en línea, plataformas de comercio financiero y herramientas de colaboración. En este artículo, vamos a aprender cómo usar el servidor de tiempo real abierto deepstream y IronPDF para generar PDFs.
deepstream.io es un servidor en tiempo real escalable para la sincronización de datos y mensajería de muchos a muchos. Puede manejar datos con facilidad y mantener a muchos clientes sincronizados con una latencia muy baja, admitiendo la transferencia de datos binarios. deepstream.io está diseñado para estar detrás de otros balanceadores de carga y ofrece una manera eficiente de sincronizar datos y mantener archivos de recursos actualizados, lo que lo hace adecuadamente apto para aplicaciones que actualizan datos en tiempo real y buscan una solución de servidor escalable.
La implementación de deepstream.io por parte de los desarrolladores puede permitir fácilmente actualizaciones en vivo, aplicaciones colaborativas y experiencias interactivas en tiempo real, sin necesidad de empezar desde cero. Ha sido diseñado para altas cargas y un escalado eficiente, lo que lo convierte en el software preferido para aplicaciones de alta concurrencia. deepstream.io es flexible y puede resultar ser la adición perfecta a tu stack de múltiples maneras diferentes. Proporciona una solución completa para permitir a los usuarios crear aplicaciones web y móviles en tiempo real, receptivas e interactivas.
Para crear un nuevo directorio de Node.js, ingrese los siguientes comandos en la consola:
mkdir deepstream-project
cd deepstream-project
npm init -y
mkdir deepstream-project
cd deepstream-project
npm init -y
En primer lugar, necesitas instalar deepstream.io. Puedes usar NPM para instalarlo o descargar los binarios desde el sitio web oficial.
npm install @deepstream/server
npm install @deepstream/server
const { Deepstream } = require('@deepstream/server')
//we can add modifying resource files as a parameter
const server = new Deepstream({})
// start the server
server.start()
js
El siguiente es un fragmento de código que demuestra cómo configurar e iniciar un servidor deepstream.io utilizando el paquete @deepstream/server en Node.js. Primero, importa la clase Deepstream de ese paquete. A continuación, crea una instancia de la clase. En este punto, se inicializa una nueva instancia de Deepstream. Con la llamada a server.start() a continuación, esto inicia el servidor, quedando así listo para aceptar cualquier conexión entrante para manejar la vinculación de datos en tiempo real, mensajería o servicios de backend de presencia. Esta configuración mínima pondrá en marcha un servidor, listo para conexiones de clientes y capaz de hacer lo que sea necesario, desde la gestión de datos hasta la transmisión de eventos.
const { DeepstreamClient } = require('@deepstream/client')
const client = new DeepstreamClient('127.0.0.1:6020')
client.login( null);
js
El siguiente es un fragmento de código que muestra cómo conectarse a deepstream utilizando la biblioteca @deepstream/client. Este script importa la clase DeepstreamClient y luego crea una instancia de DeepstreamClient que se conecta a un servidor deepstream que se ejecuta localmente en la dirección IP 127.0.0.1 en el puerto 6020. Al final, debería iniciar sesión en este servidor con client.login(null). En este caso, se pasa null, lo que significaría que no se proporcionan credenciales. Eso podría ser suficiente si el servidor no utiliza autenticación en absoluto o para algunos casos de prueba. La siguiente configuración inicializará un cliente que se conectará a un servidor deepstream para la sincronización de datos en tiempo real y la comunicación con usuarios avanzados.
Una vez que se conecta con el nodo del servidor, mostrará un mensaje como el siguiente en la consola del servidor.
A continuación se muestra el código de ejemplo que se puede utilizar para crear escuchas, lo cual es también uno de los conceptos clave de deepstream.
const { DeepstreamClient } = require("@deepstream/client");
const client = new DeepstreamClient("127.0.0.1:6020");
client.login(null, (success, clientData) => {
if (success) {
const event = client.event;
// Publish a custom event
event.publish("custom-event", { message: "Hello, Deepstream!" });
}
});
js
En el código anterior, inicie sesión en un servidor deepstream alojado en 127.0.0.1:6020 utilizando la biblioteca @deepstream/client. Después de esto, verifica si el inicio de sesión fue exitoso tras establecer una conexión e iniciar sesión. Si la autenticación con el servidor en tiempo real es exitosa, publica un evento personalizado llamado "custom-event" con una carga útil de mensaje { message: "Hello, Deepstream!" }. El ejemplo a continuación mostrará cómo conectarse a un servidor deepstream y enviar mensajes y un evento personalizado a este.
Utiliza IronPDF, un paquete de Node.js increíblemente robusto, para crear, editar, convertir y editar documentos PDF. Es una herramienta utilizada en la mayoría de los procesos basados en programación sobre PDFs y en procesos backend como la modificación de PDFs preexistentes y la conversión de HTML a PDFs. En aplicaciones donde la creación y manejo dinámico de PDFs son necesarios, IronPDF se vuelve muy útil. Proporciona una manera fácil de usar y flexible para generar documentos PDF de calidad.
Utilice NPM para descargar e instalar paquetes que permitan a Node.js habilitar la capacidad de IronPDF.
npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
Crea una función que use IronPDF para crear PDFs:
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
Ahora escribe un script en Python que escuchará datos en tiempo real y producirá archivos PDF basados en esos datos:
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
Podemos publicar eventos para desencadenar la generación de PDF desde otro script de Python o parte de tu aplicación:
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
Deepstream.io se implementa escuchando eventos en tiempo real que activarán la generación de PDF. La función generatePDF crea un documento PDF basado en datos de eventos de Deepstream.io utilizando IronPDF. El DeepstreamClient se suscribiría a estos, y cada vez que se publiquen eventos relevantes, llamaría a la función de generación de PDF. Dicha integración permite la generación dinámica de PDFs en tiempo real basándose en la ocurrencia de eventos, solicitudes o cambios de datos.
Para que el código se compile y funcione sin una marca de agua, se requiere una clave de licencia. Los desarrolladores que deseen una licencia de prueba pueden registrarse aquí. Obtener uno no requiere presentar una tarjeta de crédito. Todo lo que tienes que hacer para registrarte en una prueba gratuita es ingresar tu dirección de correo electrónico.
Una de las soluciones más sólidas para el manejo de datos en tiempo real y la generación dinámica de documentos se logra mediante una combinación de deepstream.io e IronPDF. deepstream.io sincroniza cambios y registra todos los eventos en tiempo real, por lo tanto, puede reaccionar inmediatamente a cualquier cambio en los datos. IronPDF proporciona un mecanismo robusto para crear documentos profesionales al instante. Esta integración permitirá que tus aplicaciones creen y procesen documentos PDF automáticamente no solo cuando cambien los datos en tiempo real, sino también cada vez que un usuario interactúe con tu aplicación.
Tanto si se trata de la generación de informes, facturas o cualquier otro tipo de documento, deepstream.io integrado con IronPDF permite la simplificación de flujos de trabajo, la creación de documentos responsivos y mantiene su aplicación ágil y actualizada con información en tiempo real. Esta combinación funciona mejor para aplicaciones ágiles, impulsadas por datos y receptivas que exigen soporte en tiempo real para la generación y gestión de documentos.
Las bibliotecas proporcionadas por Iron Software nos permiten crear programas de forma rápida y sencilla para una variedad de sistemas operativos, navegadores y plataformas, incluidos Windows, Android, MAC, Linux, etc.