Comparer des fichiers PDF à l'aide de l'API REST dans NodeJs

Vous pouvez comparer deux ou plusieurs documents PDF par programmation sur le Cloud. La comparaison vous permet d’identifier les similitudes et les différences dans les documents. Dans cet article, vous apprendrez à comparer des fichiers PDF à l’aide d’une API REST dans Node.js.

Les sujets suivants seront traités dans cet article :

API REST de comparaison de documents et SDK Node.js

J’utiliserai l’API Node.js SDK of GroupDocs.Comparison Cloud pour comparer des documents PDF. Il vous permet de comparer deux ou plusieurs documents et de trouver les différences. En conséquence, il crée un fichier résultant contenant les différences. Il vous permet également d’accepter ou de rejeter les modifications récupérées. Vous pouvez facilement l’intégrer à 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. Il fournit également des SDK .NET, Java, PHP, Python et Ruby en tant que membres de la famille de comparaison de documents pour l’API Cloud.

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 --save

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";

Comparer des fichiers PDF à l’aide d’une API REST dans Node.js

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

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

Télécharger les fichiers PDF

Tout d’abord, importez les fichiers PDF 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\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // lire les fichiers un par un
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // créer une demande de téléchargement de fichier
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      // téléverser un fichier
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

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

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

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

  • Créer une instance de CompareApi
  • Définir le fichier source .pdf
  • Définir le fichier .pdf cible
  • Définir les options de comparaison
  • Attribuer des fichiers source et cible
  • Définir le chemin du fichier de sortie
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()

L’exemple de code suivant montre comment comparer deux fichiers PDF à 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.pdf";

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

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

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

// comparer
let response = await comparerApi.comparisons(request);
console.log("Output file link: " + response.href);
Comparer des fichiers PDF à l'aide de Node.js

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

Le fichier résultant contient également une page récapitulative à la fin du document comme indiqué ci-dessous :

Comparer des fichiers PDF à l'aide de l'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 PDF 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.pdf", myStorage);

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

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

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

Vous pouvez comparer plusieurs documents PDF par programme en suivant les étapes simples mentionnées ci-dessous :

  • Créer une instance de CompareApi
  • Définir le fichier source .pdf
  • Définir plusieurs fichiers .pdf cibles
  • Créer une instance de ComparaisonOptions
  • Attribuer des fichiers source et cible
  • Définir le chemin du fichier de sortie
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()

L’exemple de code suivant montre comment comparer plusieurs fichiers PDF à 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.pdf";

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

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

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

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

// comparer
let response = await comparerApi.comparisons(request);

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 mentionnées ci-dessous :

  • Créer une instance de CompareApi
  • Définir le fichier source .pdf
  • Définir le fichier .pdf cible
  • Créer une instance de paramètres
  • Définir la sensibilité de comparaison
  • Personnaliser le style des éléments
  • Créer une instance de ComparaisonOptions
  • Attribuer des fichiers source et cible
  • Définir le chemin du fichier de sortie
  • Attribuer des paramètres
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()

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.pdf";

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

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

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

// personnaliser le style des modifications
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;
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.pdf";
options.settings = settings;

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

// comparer
let response = await comparerApi.comparisons(request);

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

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

  • Créer une instance de CompareApi
  • Définir le fichier source .pdf
  • Définir le fichier .pdf cible
  • Définir les options de comparaison
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()
  • Afficher 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.pdf";

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

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

// créer une demande de comparaison
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);
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 Node.js

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

Comparez et enregistrez avec un mot de passe et des métadonnées à l’aide de Node.js {#Compare-and-Save-with-Password-&-Metadata-using-Nodejs}

Veuillez suivre les étapes mentionnées ci-dessous pour protéger par mot de passe le fichier résultant et l’enregistrer avec les métadonnées :

  • Créer une instance de CompareApi
  • Définir le fichier source .pdf
  • Définir le fichier .pdf cible
  • Créer une instance de paramètres
  • Définir les métadonnées et le mot de passe
  • Créer une instance de ComparaisonOptions
  • Attribuer des fichiers source et cible
  • Définir le chemin du fichier de sortie
  • Attribuer des paramètres
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()

L’exemple de code suivant montre comment enregistrer le fichier résultant avec un mot de passe et des métadonnées à 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.pdf";

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

let settings = new groupdocs_comparison_cloud.Settings();

// définir les métadonnées
settings.metadata = new groupdocs_comparison_cloud.Metadata();
settings.metadata.author = "Author";
settings.metadata.company = "GroupDocs";
settings.metadata.lastSaveBy = "Last saved by";
settings.cloneMetadata = groupdocs_comparison_cloud.Settings.CloneMetadataEnum.FileAuthor;

// définir le mot de passe
settings.password = "password";
settings.passwordSaveOption = groupdocs_comparison_cloud.Settings.PasswordSaveOptionEnum.User;

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

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

// comparer
let response = await comparerApi.comparisons(request);

Essayez en ligne

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

Conclusion

Dans cet article, vous avez appris à comparer des documents PDF sur le cloud. Vous avez également appris à comparer plusieurs fichiers PDF, à personnaliser le style des modifications et à obtenir une liste des modifications. De plus, vous avez appris à télécharger par programme plusieurs fichiers PDF dans le cloud, puis à télécharger le fichier résultant à partir du cloud. 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