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

En tant que développeur Node.js, vous pouvez facilement comparer deux ou plusieurs documents Word pour les similitudes et les différences par programme sur le cloud. Il peut vous aider à suivre les modifications dans différentes versions du même document Word ou de différents documents. Dans cet article, vous apprendrez à comparer deux documents Word ou plus à l’aide d’une API REST dans Node.js.

Les sujets suivants seront traités dans cet article :

API REST et SDK Node.js pour comparer des documents Word

Pour comparer deux ou plusieurs fichiers DOCX, nous utiliserons l’API Node.js SDK of GroupDocs.Comparison Cloud. Il vous permet de comparer deux documents ou plus et de trouver les différences dans un fichier résultant. Vous pouvez facilement intégrer le SDK dans vos applications Node.js existantes pour comparer des documents, des feuilles de calcul, des présentations, des diagrammes Visio, des e-mails et des fichiers de nombreux autres formats pris en charge.

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

npm install groupdocs-comparison-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 config = new groupdocs_comparison_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Comparez deux fichiers Word à l’aide d’une API REST dans Node.js

Vous pouvez comparer vos documents Word par programmation en suivant les étapes simples ci-dessous :

  1. Télécharger les fichiers DOCX dans le Cloud
  2. Comparer des fichiers Word avec Node.js
  3. Télécharger le fichier DOCX résultant

Télécharger les fichiers DOCX

Tout d’abord, importez les fichiers DOCX source et cible dans le Cloud à l’aide de l’exemple de code suivant :

// construire FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\comparison\\uploads\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    console.log(file);
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      fileApi.uploadFile(request);
    });
  });
});

Par conséquent, les fichiers DOCX téléchargés seront disponibles dans la section fichiers de votre tableau de bord sur le cloud.

Comparer des fichiers Word à l’aide de Node.js

Vous pouvez comparer deux documents Word par programme en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée cible.
  • Après cela, créez une instance de ComparaisonOptions et affectez les fichiers source et cible.
  • Ensuite, définissez le chemin du fichier de sortie.
  • Ensuite, créez le ComparaisonsRequest avec ComparaisonOptions.
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest.

L’exemple de code suivant montre comment comparer deux fichiers Word à l’aide d’une API REST dans Node.js.

// initialiser l'API
let comparerApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// fichier source
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// fichier cible
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// définir les options de comparaison
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "comparerd/result_comparerOptions.docx";

// créer une demande de comparaisons
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// comparer
let response = await comparerApi.comparisons(request);
console.log("Output file link: " + response.href);
Fichiers source et cible.

Fichiers source et cible.

Comparez deux fichiers Word à l'aide d'une API REST dans Node.js

Comparez deux fichiers Word à l’aide d’une API REST dans Node.js

Télécharger le fichier résultant

L’exemple de code ci-dessus enregistrera les différences dans un fichier DOCX nouvellement créé sur le cloud. Vous pouvez le télécharger à l’aide de l’exemple de code suivant :

// construire FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

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

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

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

Comparez plusieurs fichiers DOCX à l’aide de Node.js

Vous pouvez comparer plusieurs documents Word par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée cible.
  • Répétez les étapes ci-dessus pour ajouter plusieurs fichiers cibles.
  • Après cela, créez une instance de ComparaisonOptions et affectez les fichiers source et cible.
  • Ensuite, définissez le chemin du fichier de sortie.
  • Ensuite, créez le ComparaisonsRequest avec ComparaisonOptions.
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest

L’exemple de code suivant montre comment comparer plusieurs fichiers Word à l’aide d’une API REST dans Node.js.

// initialiser l'API
let comparerApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// fichier source
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// fichier cible 1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target1.docx";

// fichier cible 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.docx";

// définir les options de comparaison
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "comparerd/result_Multiple.docx";

// créer une demande de comparaisons
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// comparer
let response = await comparerApi.comparisons(request);
console.log("Output file link: " + response.href);

Obtenir la liste des modifications à l’aide de l’API REST dans Node.js

Vous pouvez obtenir une liste complète des différences trouvées après avoir comparé des documents Word par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi
  • Ensuite, créez une instance de FileInfo et définissez le chemin du fichier DOCX d’entrée source
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée cible.
  • Après cela, créez une instance de ComparaisonOptions et affectez les fichiers source et cible
  • Ensuite, définissez le chemin du fichier de sortie
  • Ensuite, créez le PostChangesRequest avec ComparaisonOptions
  • Après cela, obtenez des résultats en appelant la méthode CompareApi.postChanges() avec PostChangesRequest
  • Enfin, affichez tous les changements un par un

L’exemple de code suivant montre comment obtenir une liste des modifications à l’aide d’une API REST dans Node.js.

// initialiser l'API
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// fichier source
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// fichier cible
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// définir les options de comparaison
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.docx";

// créer une demande de post-modifications
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);

// publier des modifications
let changes = await compareApi.postChanges(request);

console.log("Changes count: " + changes.length);

changes.forEach(change => {
  console.log(change.id + 1 +"- Target Text: " + change.targetText + ", Text: " + change.text + ", Type: " + change.type);
});
Obtenir la liste des modifications à l'aide de l'API REST dans Node.js

Obtenir la liste des modifications à l’aide de l’API REST dans Node.js

Personnaliser les résultats de comparaison à l’aide de Node.js

Vous pouvez facilement personnaliser le style des modifications par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin d’accès au fichier DOCX d’entrée cible.
  • Après cela, créez une instance des paramètres et définissez divers paramètres de comparaison tels que sensibilitéOfComparison.
  • Ensuite, créez des instances de ItemsStyle pour insertItemsStyle, deleteItemsStyle et modifiedItemsStyle.
  • Ensuite, définissez diverses propriétés pour chaque ItemsStyle telles que highlightColor, fontColor, bold, italic, etc.
  • Après cela, créez une instance de ComparaisonOptions et affectez les fichiers source et cible.
  • Ensuite, définissez le chemin du fichier de sortie.
  • Ensuite, attribuez des paramètres à ComparaisonOptions
  • Après cela, créez le ComparaisonsRequest avec ComparaisonOptions.
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest

L’exemple de code suivant montre comment personnaliser les résultats de comparaison à l’aide d’une API REST dans Node.js.

// initialiser l'API
let comparerApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// fichier source
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// fichier cible
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// définir les paramètres de comparaison
let settings = new groupdocs_comparison_cloud.Settings();

// comparerr la sensibilité
settings.sensitivityOfComparison = 100;

// personnaliser le style des changements pour les éléments insérés
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;

// personnaliser le style des changements pour les éléments supprimés
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;

// personnaliser le style des modifications pour les éléments modifiés
settings.changedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.changedItemsStyle.fontColor = "14320170";
settings.changedItemsStyle.italic = true;

// définir les options de comparaison
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "comparerd/result_comparerOptions.docx";
options.settings = settings;

// créer une demande de comparaisons
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// comparer
let response = await comparerApi.comparisons(request);
console.log("Output file link: " + response.href);

Essayez en ligne

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

Conclusion

Dans cet article, vous avez appris à comparer des documents Word à l’aide d’une API REST sur le cloud. De plus, vous avez vu comment comparer plusieurs fichiers DOCX par programme. Cet article a également expliqué comment télécharger par programmation un fichier DOCX dans le cloud, puis télécharger le fichier résultant à partir du cloud. En outre, vous pouvez en savoir plus sur l’API GroupDocs.Comparison Cloud à 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