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

Intégrez des capacités puissantes d’assemblage de documents dans vos applications Node en utilisant GroupDocs.Assembly Cloud REST API.

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

GroupDocs.Assembly Cloud est un service entièrement géré, basé sur REST‑, qui permet aux développeurs de créer des documents richement formatés, prêts à l’impression, à partir de modèles réutilisables et de sources de données externes.

La plateforme prend en charge une grande variété de formats source et cible – des fichiers classiques Microsoft Office (DOCX, XLSX, PPTX) aux formats PDF, HTML, OpenDocument et de nombreux formats graphiques – vous permettant de générer des contrats, factures, rapports, brochures marketing ou tout document personnalisé sans installer de logiciel tiers sur vos propres serveurs. Toutes les opérations lourdes – analyse de modèles, liaison de données, rendu d’images, génération de codes-barres, évaluation de formules et conversion de 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 Node.js SDK ?

  • Runtime zéro‑installation – le SDK est une fine enveloppe autour de l’Assembly Cloud REST API, vous n’avez donc besoin que de Node 12+ et d’un package npm.
  • Multiplateforme – fonctionne de la même façon sur Windows, macOS, Linux ou à l’intérieur de conteneurs.
  • Sécurisé – toutes les communications sont chiffrées via TLS, et l’authentification est réalisée avec votre SID d’application personnel et App Key.
  • Évolutif – le service cloud peut gérer les requêtes de documents uniques ainsi que les travaux de publipostage par lots à haut volume.
  • Extensible – le même API peut être utilisé depuis n’importe quel langage capable d’appeler des points de terminaison REST ; le Node.js SDK simplifie simplement la construction des requêtes et le traitement des réponses.

Flux de travail typique dans une application Node.js

  1. Préparer un modèle (DOCX, PPTX, etc.) contenant des champs de substitution et des constructions de programmation optionnelles telles que des blocs conditionnels, des boucles ou des balises de code‑barres.
  2. Créer une source de données dans XML ou JSON qui fournit les valeurs à fusionner dans le modèle.
  3. Téléverser le modèle vers GroupDocs Cloud Storage en utilisant la méthode uploadFile du SDK.
  4. Configurer AssembleOptions – indiquez le chemin du modèle, la source de données, le format de sortie souhaité (PDF, DOCX, HTML, …) ainsi que les paramètres supplémentaires (par ex., génération de code‑barres, couleur d’arrière‑plan).
  5. Appeler assembleDocument – le SDK envoie une requête unique HTTP qui déclenche le processus d’assemblage sur le serveur.
  6. Recevoir le fichier assemblé sous forme de tableau d’octets, le sauvegarder localement ou le diffuser directement au client.

L’exemple suivant (présenté dans la section More Feature) illustre chacune de ces étapes dans un extrait de code compact et prêt pour la production.

Fonctionnalités GroupDocs.Assembly Cloud API

Générez des documents à partir de modèles en utilisant le cloud REST API

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

Insérez 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 par e-mail

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

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

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

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

Publipostage pour des lettres personnalisées en lot

Générez un rapport au format Node.js

Le fragment ci-dessous montre un flux complet : téléversez un modèle, lisez un fichier de données JSON, configurez la requête d’assemblage et recevez le document assemblé.

Étapes

  1. Téléversez le modèle DOCX vers GroupDocs Cloud Storage.
  2. Lisez le fichier de données JSON qui contient les valeurs à fusionner.
  3. Configurez AssembleOptions – choisissez le format de sortie et liez les données.
  4. Appelez assembleDocument pour générer le rapport.
  5. Enregistrez le tableau d’octets retourné sous forme de 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 SDKs pour d’autres langues :

  Français
894b7c2f6