SDK Node.js pour l'assemblage de documents et la génération de rapports

Intégrez de puissantes fonctionnalités d’assemblage de documents dans vos applications Node à l’aide de l’API REST Cloud GroupDocs.Assembly.

  • GroupDocs.Assembly Cloud SDK for cURL
  • GroupDocs.Assembly Cloud SDK for .NET
  • GroupDocs.Assembly Cloud SDK for Java
  • GroupDocs.Assembly Cloud SDK for PHP
  • GroupDocs.Assembly Cloud SDK for Python
  • GroupDocs.Assembly Cloud SDK for Ruby
  • GroupDocs.Assembly Cloud SDK for Go
  • GroupDocs.Assembly Cloud SDK for C++
  • GroupDocs.Assembly Cloud SDK for Swift
Commencer l'essai gratuit

GroupDocs.Assembly Cloud est un service REST entièrement géré qui permet aux développeurs de créer des documents riches et prêts à imprimer à partir de modèles réutilisables et de sources de données externes.

La plateforme prend en charge une grande variété de formats sources et cibles, des fichiers Microsoft Office classiques (DOCX, XLSX, PPTX) aux formats PDF, HTML, OpenDocument et de nombreux formats graphiques. Vous pouvez ainsi générer des contrats, des factures, des rapports, des brochures marketing ou tout autre document personnalisé sans installer de logiciel tiers sur vos serveurs. Toutes les tâches lourdes (analyse des modèles, liaison des données, rendu des images, génération de codes-barres, évaluation des formules et conversion des fichiers) sont effectuées dans le cloud, ce qui garantit des résultats cohérents sur tous les systèmes d’exploitation et réduit les coûts d’infrastructure.

Pourquoi utiliser le SDK Node.js ? *Exécution sans installation : le SDK est une enveloppe légère autour de l’API REST Assembly Cloud. Vous n’avez donc besoin que de Node12+ et d’un package npm.

  • Multiplateforme – fonctionne de la même manière sous Windows, macOS, Linux ou dans des conteneurs.

  • Sécurisé – toutes les communications sont chiffrées via TLS et l’authentification est effectuée avec votre SID d’application et votre clé d’application personnels.

  • Évolutif – le service cloud peut gérer des requêtes portant sur un seul document ainsi que des tâches de publipostage par lots volumineuses.

  • Extensible – la même API peut être utilisée depuis n’importe quel langage capable d’appeler des points de terminaison REST ; le SDK Node.js simplifie la construction des requêtes et la gestion des réponses.

Flux de travail typique dans une application Node.js

  1. Préparez un modèle (DOCX, PPTX, etc.) contenant des champs d’espace réservé et des constructions de programmation facultatives telles que des blocs conditionnels, des boucles ou des balises de code-barres.

  2. Créez une source de données au format XML ou JSON qui fournit les valeurs à fusionner dans le modèle.

  3. Téléchargez le modèle sur GroupDocs Cloud Storage à l’aide de la méthode « uploadFile » du SDK.

  4. Configurez « AssembleOptions » : spécifiez le chemin du modèle, la source de données, le format de sortie souhaité (PDF, DOCX, HTML, etc.) et les paramètres supplémentaires (par exemple, génération de codes-barres, couleur d’arrière-plan).

  5. Appelez « assembleDocument » : le SDK envoie une requête HTTP unique qui déclenche le processus d’assemblage sur le serveur.

  6. Recevez le fichier assemblé sous forme de tableau d’octets, enregistrez-le localement ou diffusez-le directement au client.

L’exemple suivant (présenté dans la section « Plus de fonctionnalités ») illustre chacune de ces étapes dans un extrait de code compact et prêt pour la production.

Fonctionnalités de l’API Cloud GroupDocs.Assembly

Générer des documents à partir de modèles à l’aide de l’API REST cloud

Liaison de données de style LINQ pour les sources XML et JSON

Insérer des images, des graphiques et du contenu de documents externes

Tableaux et listes dynamiques à partir de données de tableau

Ajoutez des hyperliens, des signets et des pièces jointes aux e-mails

Appliquer des formules et des opérations de données séquentielles

Blocs de contenu conditionnels (IF-ELSE) dans les modèles

Générer des codes-barres (QR, Code128, etc.)

Définir les couleurs d’arrière-plan pour la sortie HTML

Publipostage pour les lettres personnalisées par lots

Générer un rapport dans Node.js

L’extrait ci-dessous illustre le processus complet : télécharger un modèle, lire un fichier de données JSON, configurer la requête d’assemblage et recevoir le document assemblé.

Étapes

  1. Télécharger le modèle DOCX sur GroupDocs Cloud Storage.
  2. Lire le fichier de données JSON contenant les valeurs à fusionner.
  3. Configurer « AssembleOptions » : choisir le format de sortie et lier les données.
  4. Appeler « assembleDocument » pour générer le rapport.
  5. Enregistrer le tableau d’octets renvoyé au format PDF (ou tout autre format pris en charge).
// Replace with your App SID and App Key
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = require("path");

// Authorization placeholder
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");

// 1️⃣ Upload the template file
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
    fileContent: fs.createReadStream(templatePath),
    path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);

// 2️⃣ Read the data source (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");

// 3️⃣ Set assembly options
const assembleOptions = new AssembleOptions({
    saveFormat: "pdf",
    reportData: reportData,
    templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});

// 4️⃣ Create and send the assemble request
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);

// 5️⃣ Save the resulting document
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);

console.log("Report generated successfully:", outputPath);

Ressources d'assistance et d'apprentissage

GroupDocs.Assembly Cloud propose également des SDK pour d’autres langages :

  Français