IRONSOFTWAREHOME
AIDE NODE

BPMN JS npm (Comment ça marche pour les développeurs)

Curtis Chau
Curtis Chau
Updated: 21 avril 2026

Le Business Process Model and Notation (BPMN) est une norme pour la modélisation des processus qui fournit une représentation graphique pour spécifier les processus métier dans un flux de travail. bpmn-js est une bibliothèque puissante qui vous permet d'intégrer des diagrammes d'éléments BPMN dans les applications web, offrant des capacités interactives et de vastes options de personnalisation. Développé par Camunda, bpmn-js est construit sur les technologies modernes de modélisation web et peut être intégré de manière transparente dans les applications JavaScript. Nous verrons également comment créer un PDF avec des éléments de diagramme BPMN en utilisant IronPDF.

Fonctionnalités clés de bpmn-js

  1. Modélisation interactive : bpmn-js permet aux utilisateurs de créer des éléments BPMN, de modifier et de visualiser des diagrammes de manière interactive. Son interface conviviale prend en charge la fonctionnalité de glisser-déposer, ce qui facilite la conception de flux de travail complexes.

  2. Personnalisation : La bibliothèque est hautement personnalisable, permettant aux développeurs d'adapter l'apparence et la convivialité des diagrammes BPMN pour correspondre à la marque et aux exigences de leurs applications.

  3. Extensibilité : bpmn-js est conçu avec l'extensibilité en tête. Les développeurs peuvent étendre les fonctionnalités de base en ajoutant des éléments, des propriétés et des comportements personnalisés au modèle d'interaction du diagramme BPMN.

  4. Intégration : Il s'intègre bien avec d'autres bibliothèques et cadres, tels qu'Angular et React, facilitant son utilisation dans une large gamme d'applications web.

  5. Conformité aux normes : bpmn-js adhère à la norme BPMN 2.0, garantissant que les diagrammes créés sont compatibles avec d'autres outils BPMN et systèmes de trousse à outils d'édition.

Commencer avec bpmn-js

Pour commencer avec bpmn-js, vous devrez configurer un projet web de base. Voici un guide étape par étape pour créer un diagramme simple en utilisant bpmn-js.

Étape 1 : Configurer le projet

Tout d'abord, créez un nouveau répertoire pour votre projet et initialisez un projet Node.js en utilisant les commandes suivantes :

mkdir bpmn-js-demo
cd bpmn-js-demo
npm init -y
SHELL

IronPDF est une bibliothèque puissante permettant aux développeurs de générer, manipuler et convertir des PDF programmatiquement.

Ensuite, installez la bibliothèque bpmn-js :

npm install bpmn-js
SHELL

Étape 3 : Créer la structure HTML

Créez un fichier index.html avec le contenu de code source suivant :

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>bpmn-js Demo</title>
  <style>
    #canvas {
      width: 100%;
      height: 600px;
      border: 1px solid #ccc;
    }
  </style>
</head>
<body>
  <div id="canvas"></div>
  <script src="app.js"></script>
</body>
</html>
HTML

Étape 4 : Créer le fichier JavaScript

Créez un fichier app.js pour initialiser et rendre le diagramme BPMN :

// Import the BpmnViewer class from bpmn-js
import BpmnViewer from 'bpmn-js/lib/NavigatedViewer';

// BPMN XML data as a string
const bpmnXML = `<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
             xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
             xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
             id="sample-diagram"
             targetNamespace="http://bpmn.io/schema/bpmn">
  <process id="Process_1" isExecutable="false">
    <startEvent id="StartEvent_1">
      <outgoing>Flow_1a5niwu</outgoing>
    </startEvent>
    <task id="Activity_0ncu32f" name="This is the Test Diagram">
      <incoming>Flow_1a5niwu</incoming>
    </task>
    <sequenceFlow id="Flow_1a5niwu" sourceRef="StartEvent_1" targetRef="Activity_0ncu32f" />
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
        <omgdc:Bounds x="152" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0ncu32f_di" bpmnElement="Activity_0ncu32f">
        <omgdc:Bounds x="240" y="80" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Flow_1a5niwu_di" bpmnElement="Flow_1a5niwu">
        <omgdi:waypoint x="188" y="120" />
        <omgdi:waypoint x="240" y="120" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>`;

// Initialize the viewer with the container where the BPMN diagram will be rendered
const viewer = new BpmnViewer({
  container: '#canvas'
});

// Import the BPMN XML and render the diagram
viewer.importXML(bpmnXML, function(err) {
  if (err) {
    console.error('Error rendering', err); // Log an error message if rendering fails
  } else {
    console.log('BPMN diagram rendered'); // Log success message if rendering is successful
  }
});
JavaScript

BPMN JS npm (Comment ça fonctionne pour les développeurs) : Figure 1 - Sortie du rendu du diagramme BPMN

Étape 5 : Exécuter le projet

Pour héberger le projet, vous pouvez utiliser un serveur statique simple comme http-server :

npm install -g http-server
http-server .
SHELL

Ouvrez votre navigateur et accédez à http://localhost:8080 pour voir le diagramme BPMN rendu sur la page.

Utilisation avancée de bpmn-js

Bien que l'exemple ci-dessus couvre les bases, bpmn-js offre des fonctionnalités plus avancées, telles que l'ajout d'éléments personnalisés, l'intégration avec des systèmes backend et l'exportation de diagrammes. Vous pouvez explorer ces fonctionnalités dans la documentation bpmn-js.

Présentation de IronPDF for JavaScript

IronPDF est une bibliothèque puissante qui permet aux développeurs de générer, manipuler et convertir des documents PDF programmatique. Initialement conçu pour .NET, IronPDF a été étendu pour prendre en charge JavaScript, fournissant des capacités robustes de génération de PDF pour les applications web.

Fonctionnalités clés de IronPDF for JavaScript

  1. Génération de PDF : Créez des PDFs à partir de HTML, d'URL ou de contenu brut facilement.

  2. Manipulation de PDF : Fusionnez, divisez et modifiez les documents PDF existants.

  3. Conversion : Convertissez divers formats de documents (comme HTML et images) en PDF.

  4. Personnalisation : Personnalisez l'apparence et la mise en page des PDFs avec de nombreuses options de style.

Intégration de IronPDF avec bpmn-js

Pour démontrer l'intégration de IronPDF avec bpmn-js, créons un projet Node.js qui génère un PDF à partir d'un diagramme BPMN.

Étape 1 : Configurer le projet

Créez un nouveau répertoire pour votre projet et initialisez-le :

mkdir bpmn-ironpdf-demo
cd bpmn-ironpdf-demo
npm init -y
SHELL

Étape 2 : Installer les dépendances

Installez IronPDF :

> npm i @ironsoftware/ironpdf

BPMN JS npm (Comment ça fonctionne pour les développeurs) : Figure 2 - IronPDF

Étape 3 : Créer le diagramme BPMN et le script de génération de PDF

Créez un fichier nommé generatePDF.js :

const fs = require('fs');
const { createCanvas } = require('canvas');
const BpmnViewer = require('bpmn-js/lib/Viewer');
const PdfGenerator = require('@ironsoftware/ironpdf');

// BPMN XML data
const bpmnXML = `<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
             xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
             xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
             xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
             id="sample-diagram"
             targetNamespace="http://bpmn.io/schema/bpmn">
  <process id="Process_1" isExecutable="false">
    <startEvent id="StartEvent_1"/>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
        <omgdc:Bounds x="173" y="102" width="36" height="36"/>
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>`;

// Create a canvas for rendering the BPMN diagram
const canvas = createCanvas(800, 600);
const viewer = new BpmnViewer({ container: canvas });

// Import the BPMN XML and render the diagram
viewer.importXML(bpmnXML, function(err) {
  if (err) {
    console.error('Error rendering BPMN diagram:', err);
    return;
  }
  
  // Fit the diagram to the viewport
  viewer.get('canvas').zoom('fit-viewport');

  // Create a PNG stream and save the diagram as an image
  const stream = canvas.createPNGStream();
  const out = fs.createWriteStream('diagram.png');
  
  stream.pipe(out);
  out.on('finish', () => {
    console.log('BPMN diagram saved as PNG');

    // Generate PDF from the saved PNG
    PdfGenerator.ImageToPdf(['diagram.png']).then((pdf) => {
      pdf.saveAs('diagram.pdf');
      console.log('PDF generated and saved as diagram.pdf');
    }).catch((error) => {
      console.error('Error generating PDF:', error);
    });
  });
});
JavaScript

Étape 4 : Exécuter le script

Exécutez le script pour générer le diagramme BPMN et l'enregistrer en tant que PDF :

node generatePDF.js
SHELL

BPMN JS npm (Comment ça fonctionne pour les développeurs) : Figure 3 - Sortie PDF

Conclusion

L'intégration de bpmn-js et IronPDF vous permet de créer des diagrammes interactifs BPMN et de les convertir en documents PDF, combinant la puissance de la modélisation de processus visuelle avec la polyvalence de la génération de PDF. Cette intégration peut être particulièrement utile pour générer de la documentation, des rapports ou tout autre format nécessitant une représentation visuelle des processus. Les deux bibliothèques offrent une documentation et un support étendus, facilitant le démarrage et l'expansion des exemples de base fournis.

Pour des détails complets sur la licence IronPDF, reportez-vous à la page de licence IronPDF. Pour avoir une meilleure compréhension ou des ressources supplémentaires, consultez notre tutoriel détaillé sur la conversion de HTML en PDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $