Modifier des documents Word à l'aide de l'API REST dans Node.js

Vous pouvez facilement modifier vos documents Word par programmation sur le cloud. Vous pouvez ajouter, modifier le contenu des documents ou vous pouvez appliquer la mise en forme du texte dans les documents Word par programmation dans vos applications Node.js. Cet article se concentrera sur la façon de modifier des documents Word à l’aide d’une API REST dans Node.js.

Les sujets suivants seront traités dans cet article :

API REST de l’éditeur de documents et SDK Node.js

J’utiliserai l’API Node.js SDK of GroupDocs.Editor Cloud pour modifier les fichiers DOCX. Il vous permet d’éditer par programmation des documents des formats pris en charge tels que Word, des feuilles de calcul Excel, PowerPoint, TXT, HTML, XML. L’API vous permet également de convertir le document en HTML pour l’édition et de le reconvertir dans son format d’origine en conservant la même apparence après l’édition du document. Il fournit également des SDK .NET, Java, PHP, Ruby, Android et Python en tant que membres de la famille des éditeurs de documents pour l’API Cloud.

Vous pouvez installer GroupDocs.Editor Cloud sur votre application Node.js à l’aide de la commande suivante dans la console :

npm install groupdocs-editor-cloud

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_editor_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Modifier des documents Word à l’aide de l’API REST dans Node.js

Vous pouvez modifier les documents Word en suivant les étapes simples mentionnées ci-dessous :

  1. Télécharger le fichier Word dans le Cloud
  2. Modifier Document Word utilisant Node.js
  3. Télécharger le fichier mis à jour

Télécharger le document

Tout d’abord, téléchargez le document Word (DOCX) dans le Cloud en utilisant l’exemple de code ci-dessous :

// construire FileApi
let fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\sample.docx';

fs.readFile(resourcesFolder, (err, fileStream) => {
  let request = new groupdocs_editor_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request);
});

Par conséquent, le fichier DOCX téléchargé sera disponible dans la section fichiers de votre tableau de bord sur le cloud.

Modifier un document Word à l’aide de Node.js

Veuillez suivre les étapes mentionnées ci-dessous pour modifier les documents Word par programmation.

  • Créer des instances de FileAPI et de EditAPI
  • Indiquez le chemin du fichier d’entrée dans FileInfo
  • Créer des options de chargement de traitement de texte
  • Créer LoadRequest avec LoadOptions
  • Charger un fichier avec la méthode load() de EditAPI
  • Créer DownloadFileRequest avec le fichier chargé
  • Télécharger le document HTML à l’aide de la méthode downloadFile() de FileAPI
  • Modifier le document HTML téléchargé
  • Créer UploadFileRequest
  • Téléchargez le code HTML à l’aide de la méthode uploadFile() de FileAPI
  • Fournissez WordProcessingSaveOptions pour enregistrer dans le DOCX
  • Créer SaveRequest avec SaveOptions
  • Enregistrez le code HTML dans DOCX à l’aide de la méthode save() de l’API d’édition

L’extrait de code suivant montre comment modifier un document Word à l’aide d’une API REST dans Node.js.

// initialisation de l'API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// fichier d'entrée      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// définir les options de charge
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// créer une demande de chargement
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// télécharger le document html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// modifier quelque chose...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");

// télécharger le code HTML vers le stockage
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// enregistrer le html dans docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// créer une demande de sauvegarde
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Modifier des documents Word à l'aide d'une API REST dans Node.js

Modifier des documents Word à l’aide d’une API REST dans Node.js

Télécharger le fichier mis à jour

L’exemple de code ci-dessus enregistrera le document Word modifié (DOCX) sur le cloud. Vous pouvez le télécharger à l’aide de l’exemple de code suivant :

// initialiser l'API
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);

// créer une demande de téléchargement de fichier
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);

// télécharger un fichier
let response = await fileApi.downloadFile(request);

// enregistrer le fichier image dans le répertoire de travail
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });

Ajouter une table dans des documents Word à l’aide de Node.js

Vous pouvez ajouter un tableau dans le document Word par programme en suivant les étapes mentionnées ci-dessous :

  • Créer des instances de FileAPI et de EditAPI
  • Indiquez le chemin du fichier d’entrée dans FileInfo
  • Créer des options de chargement de traitement de texte
  • Créer LoadRequest avec LoadOptions
  • Charger un fichier avec la méthode load() de l’EditAPI
  • Créer DownloadFileRequest avec le fichier chargé
  • Télécharger le document HTML à l’aide de la méthode downloadFile() de FileAPI
  • Modifier le document HTML téléchargé and add a table
  • Créer UploadFileRequest
  • Téléchargez le code HTML à l’aide de la méthode uploadFile() de FileAPI
  • Fournissez WordProcessingSaveOptions pour enregistrer dans le DOCX
  • Créer SaveRequest avec SaveOptions
  • Enregistrez le code HTML dans le DOCX à l’aide de la méthode save() de l’EditAPI

L’extrait de code suivant montre comment ajouter un tableau dans un document Word à l’aide d’une API REST dans Node.js.

// initialisation de l'API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// fichier d'entrée      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// définir les options de charge
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// créer une demande de chargement
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// télécharger le document html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// ajouter un tableau
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/><table style=\"width: 100%;background-color: #dddddd;\">"
		+ "<caption style=\"font-weight:bold;\"> Persons List</caption>"
		+ "<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>"
		+ "<tr><td>Jill</td><td>Smith</td><td>50</td></tr>"
		+ "<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>"
		+ "</table>");

// télécharger le code HTML vers le stockage
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// enregistrer le html dans docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// créer une demande de sauvegarde
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Ajouter une table dans des documents Word à l'aide de Node.js

Ajouter une table dans des documents Word à l’aide de Node.js

Insérer une image dans des documents Word à l’aide de Node.js

Vous pouvez insérer une image dans le document Word par programme en suivant les étapes mentionnées ci-dessous :

  • Créer des instances de FileAPI et de EditAPI
  • Indiquez le chemin du fichier d’entrée dans FileInfo
  • Créer des options de chargement de traitement de texte
  • Créer LoadRequest avec LoadOptions
  • Charger un fichier avec la méthode load() de l’EditAPI
  • Créer DownloadFileRequest avec le fichier chargé
  • Télécharger le document HTML à l’aide de la méthode downloadFile() de FileAPI
  • Modifier le document HTML téléchargé and insert an image
  • Créer UploadFileRequest
  • Téléchargez le code HTML à l’aide de la méthode uploadFile() de FileAPI
  • Fournissez WordProcessingSaveOptions pour enregistrer dans le DOCX
  • Créer SaveRequest avec SaveOptions
  • Enregistrez le code HTML dans le DOCX à l’aide de la méthode save() de l’EditAPI

L’extrait de code suivant montre comment insérer une image dans un document Word à l’aide d’une API REST dans Node.js.

// initialisation de l'API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// fichier d'entrée   
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// définir les options de charge
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// créer une demande de chargement
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// télécharger le document html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// insérer une image
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/> <img src=\"sample.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">");

// télécharger le code HTML vers le stockage
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// enregistrer le html dans docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// créer une demande de sauvegarde
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Insérer une image dans des documents Word à l'aide de Node.js

Insérer une image dans des documents Word à l’aide de Node.js

Essayez en ligne

Veuillez essayer l’outil d’édition DOCX en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/editor/docx

Conclusion

Dans cet article, vous avez appris à modifier des documents Word sur le cloud. Vous avez également appris à ajouter une table dans le fichier DOCX à l’aide d’une API REST dans Node.js. De plus, vous avez appris à insérer une image dans un document Word par programmation. Cet article a également expliqué comment télécharger par programmation un fichier DOCX sur le cloud, puis télécharger le fichier modifié à partir du cloud. Vous pouvez en savoir plus sur l’API cloud GroupDocs.Editor à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également