AIDE PYTHON

deepstream io (Comment cela fonctionne pour les développeurs)

Un serveur en temps réel est conçu pour répondre instantanément aux données, le rendant immédiatement réactif à chaque interaction utilisateur ou événement système. Contrairement aux serveurs de demande-réponse conventionnels qui introduisent des retards, les [serveurs](https://en.wikipedia.org/wiki/Server_(computing) en temps réel utilisent des technologies et des protocoles pour garantir un échange continu d'informations et des mises à jour instantanées. C'est parce qu'un serveur en temps réel est essentiel pour plusieurs applications nécessitant des communications en direct : systèmes de messagerie, jeux en ligne, plateformes de trading financier et outils collaboratifs. Dans cet article, nous allons apprendre à utiliser le serveur open realtime deepstream et IronPDF pour générer des PDF.

Introduction

deepstream.io est un serveur en temps réel évolutif pour la synchronisation des données et la messagerie de plusieurs à plusieurs. Il peut gérer les données avec aisance et garder de nombreux clients synchronisés avec une latence très faible, prenant en charge le transfert de données binaires. deepstream.io est conçu pour être placé derrière d'autres équilibrages de charge et équilibreurs et offre un moyen efficace de synchroniser les données et de maintenir les fichiers de ressources à jour, ce qui le rend parfaitement adapté aux applications mettant à jour des données en temps réel et à la recherche d'une solution de serveur évolutive.

deepstream io (Comment cela fonctionne pour les développeurs) : Figure 1 - deepstream.io

L'implémentation de deepstream.io par les développeurs peut facilement permettre des mises à jour en direct, des applications collaboratives et des expériences interactives en temps réel, sans repartir de zéro. Il a été conçu pour des charges élevées et une mise à l'échelle efficace, ce qui en fait le logiciel de choix pour les applications à haute concurrence. deepstream.io est flexible et pourrait s'avérer être le complément parfait à votre stack de plusieurs manières différentes. Il fournit une solution complète permettant aux utilisateurs de créer des applications web et mobiles en temps réel, réactives et interactives.

Pour créer un nouveau répertoire Node.js, entrez les commandes ci-dessous dans la console :

mkdir deepstream-project
cd deepstream-project
npm init -y
mkdir deepstream-project
cd deepstream-project
npm init -y
SHELL

Installer le package deepstream.io

Tout d'abord, vous devez installer deepstream.io. Vous pouvez soit utiliser NPM pour l'installer, soit télécharger les binaires depuis le site officiel.

npm install @deepstream/server
npm install @deepstream/server
SHELL

Configuration de base de 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

Le code suivant est un extrait qui montre comment configurer et démarrer un serveur deepstream.io en utilisant le package @deepstream/server dans Node.js. Tout d'abord, il importe la classe Deepstream de ce package. Ensuite, il crée une instance de la classe. À ce stade, une nouvelle instance de Deepstream est initialisée. Avec l'appel de server.start() qui le suit, cela démarre le serveur, le rendant ainsi prêt à accepter toutes les connexions entrantes pour gérer la liaison de données en temps réel, la messagerie ou les services de backend de présence. Cette configuration minimale permet de mettre en place un serveur prêt pour les connexions des clients et capable de faire tout ce qu'il faut, de la gestion des données à la diffusion d'événements.

Connexion de Deepstream avec le client

const { DeepstreamClient } = require('@deepstream/client')
const client = new DeepstreamClient('127.0.0.1:6020')
client.login( null);
js
JAVASCRIPT

Voici un extrait de code montrant comment se connecter à deepstream en utilisant la bibliothèque @deepstream/client. Ce script importe la classe DeepstreamClient, puis crée une instance de DeepstreamClient qui se connecte à un serveur deepstream fonctionnant localement à l'adresse IP 127.0.0.1 sur le port 6020. À la fin, il devrait se connecter à ce serveur avec client.login(null). Dans ce cas, null est passé, ce qui signifie qu'aucune identification n'est fournie. Cela pourrait être suffisant si le serveur n'utilise pas d'authentification du tout ou pour certains cas de test. La configuration suivante initialisera ensuite un client se connectant à un serveur deepstream pour la synchronisation des données en temps réel et la communication des utilisateurs avancés.

Une fois connecté au nœud du serveur, il affichera un message similaire à celui-ci dans la console du serveur.

deepstream io (Comment cela fonctionne pour les développeurs) : Figure 2 - Message de la console

Utilisation de Listener avec deepstream.io

Ci-dessous se trouve le code d'exemple qui peut être utilisé pour créer des auditeurs, ce qui est également l'un des concepts fondamentaux 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
JAVASCRIPT

Dans le code ci-dessus, connectez-vous à un serveur deepstream hébergé sur 127.0.0.1:6020 en utilisant la bibliothèque @deepstream/client. Ensuite, il vérifie si la connexion a réussi après avoir établi une connexion et s'être connecté. Si l'authentification au serveur en temps réel réussit, il publie un événement personnalisé nommé "custom-event" avec une charge utile de message { message: "Hello, Deepstream!" }. L'exemple ci-dessous montrera comment se connecter à un serveur deepstream et lui envoyer des messages et un événement personnalisé.

Présentation d'IronPDF

Utilisez IronPDF, un package Node.js incroyablement puissant, pour créer, modifier, convertir et éditer des documents PDF. C'est un outil utilisé dans la majorité des processus basés sur la programmation pour les PDFs, et les processus de backend tels que la modification de PDFs préexistants et la conversion de HTML en PDFs. Dans les applications où la création et la gestion dynamiques de PDFs sont nécessaires, IronPDF devient très utile. Il offre une méthode conviviale et flexible pour générer des documents PDF de qualité.

deepstream io (Comment cela fonctionne pour les développeurs) : Figure 3 - IronPDF

Installer le package IronPDF

Utilisez NPM pour télécharger et installer des packages permettant à Node.js d'activer la capacité d'IronPDF.

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

Fonction de génération de PDF

Créez une fonction qui utilise IronPDF pour créer des PDF :

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

Configurer le client Deepstream

Écrivez maintenant un script Python qui écoutera des données en temps réel et produira des PDF basés sur ces données :

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

Publier des événements pour déclencher la génération de PDF

Nous pouvons publier des événements pour déclencher la génération de PDF à partir d'un autre script Python ou d'une partie de votre application :

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 est implémenté en écoutant des événements en temps réel qui déclencheront la génération de PDF. La fonction generatePDF crée un document PDF basé sur des données issues des événements Deepstream.io en utilisant IronPDF. Le DeepstreamClient s'abonnerait à ceux-ci, et chaque fois que des événements pertinents sont publiés, il appellerait la fonction de génération de PDF. Une telle intégration permet la génération dynamique de PDF en temps réel basée sur des occurrences d'événements, des demandes ou des modifications de données.

deepstream io (Comment cela fonctionne pour les développeurs) : Figure 4 - Sortie PDF

Licences

Pour que le code se compile et fonctionne sans filigrane, une clé de licence est requise. Les développeurs qui souhaitent obtenir une licence d'essai peuvent s'inscrire ici. Obtenir un ne nécessite pas de présenter une carte de crédit. Tout ce que vous avez à faire pour vous inscrire à un essai gratuit, c'est entrer votre adresse e-mail.

Conclusion

Une des solutions les plus puissantes pour la gestion de données en temps réel et la génération dynamique de documents est atteinte grâce à une combinaison de deepstream.io et IronPDF. deepstream.io synchronise les modifications et enregistre tous les événements en temps réel, ce qui lui permet de réagir immédiatement à tout changement de données. IronPDF offre un mécanisme robuste pour créer des documents professionnels à la volée. Cette intégration permettra à vos applications de créer et de traiter automatiquement des documents PDF non seulement lorsque les données en direct changent, mais aussi chaque fois qu'un utilisateur interagit avec votre application.

Que ce soit pour la génération de rapports, des factures, ou tout autre type de document, deepstream.io intégré avec IronPDF permet la simplification des flux de travail, la création réactive de documents et maintient votre application légère et à jour avec des informations en temps réel. Cette association est idéale pour les applications agiles, axées sur les données et réactives qui nécessitent un support de génération et de gestion de documents en temps réel.

Les bibliothèques fournies par Iron Software nous permettent de créer des programmes rapidement et facilement pour une variété de systèmes d'exploitation, navigateurs et plateformes, y compris Windows, Android, MAC, Linux, etc.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
SUIVANT >
imageio python (Comment cela fonctionne pour les développeurs)