Porównaj pliki PDF za pomocą REST API w NodeJs

Możesz programowo porównać dwa lub więcej dokumentów PDF w chmurze. Porównanie pozwala zidentyfikować podobieństwa i różnice w dokumentach. W tym artykule dowiesz się, jak porównywać pliki PDF za pomocą REST API w Node.js.

W tym artykule zostaną omówione następujące tematy:

Porównanie dokumentów REST API i Node.js SDK

Będę używać Node.js SDK of GroupDocs.Comparison Cloud API do porównywania dokumentów PDF. Pozwala porównać dwa lub więcej dokumentów i znaleźć różnice. W rezultacie tworzy wynikowy plik zawierający różnice. Umożliwia także zaakceptowanie lub odrzucenie pobranych zmian. Możesz łatwo zintegrować go z istniejącymi aplikacjami Node.js, aby porównywać dokumenty, arkusze kalkulacyjne, prezentacje, diagramy Visio, wiadomości e-mail i pliki w wielu innych formatach. Udostępnia również zestawy SDK .NET, Java, PHP, Python i Ruby jako członkowie rodziny porównywania dokumentów dla Cloud API.

Możesz zainstalować GroupDocs.Comparison Cloud w swojej aplikacji Node.js za pomocą następującego polecenia w konsoli:

npm install groupdocs-comparison-cloud --save

Przed wykonaniem wspomnianych kroków uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:

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

Porównaj pliki PDF za pomocą interfejsu API REST w Node.js

Możesz programowo porównywać swoje dokumenty PDF, wykonując proste czynności podane poniżej:

  1. Prześlij pliki PDF do chmury
  2. Porównaj pliki PDF za pomocą Node.js
  3. Pobierz wynikowy plik PDF

Prześlij pliki PDF

Najpierw prześlij źródłowy i docelowy plik PDF do chmury, korzystając z następującego przykładowego kodu:

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

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // czytać pliki jeden po drugim
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // utwórz prośbę o przesłanie pliku
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      // Przesyłanie pliku
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

W rezultacie przesłane pliki PDF będą dostępne w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.

Porównaj pliki PDF za pomocą Node.js

Możesz programowo porównać dwa dokumenty PDF, wykonując czynności wymienione poniżej:

  • Utwórz instancję CompareApi
  • Ustaw źródłowy plik .pdf
  • Ustaw docelowy plik .pdf
  • Zdefiniuj opcje porównania
  • Przypisz pliki źródłowe i docelowe
  • Ustaw ścieżkę pliku wyjściowego
  • Utwórz żądanie porównania
  • Uzyskaj wyniki, wywołując metodę CompareApi.comparisons().

Poniższy przykład kodu pokazuje, jak porównać dwa pliki PDF przy użyciu interfejsu API REST w Node.js.

// zainicjować api
let porównywaćApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// Plik źródłowy
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pdf";

// plik docelowy
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

// zdefiniuj opcje porównania
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "porównywaćd/result.pdf";

// utwórz prośbę o porównanie
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// porównywać
let response = await porównywaćApi.comparisons(request);
console.log("Output file link: " + response.href);
Porównaj pliki PDF za pomocą Node.js

Porównaj pliki PDF za pomocą Node.js

Wynikowy plik zawiera również stronę podsumowania na końcu dokumentu, jak pokazano poniżej:

Porównaj pliki PDF za pomocą REST API w Node.js

Pobierz wynikowy plik

Powyższy przykładowy kod zapisze różnice w nowo utworzonym pliku PDF w chmurze. Możesz go pobrać, korzystając z następującego przykładowego kodu:

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

// utwórz żądanie pobrania pliku
let request = new groupdocs_comparison_cloud.DownloadFileRequest("compared\\result.pdf", myStorage);

// pobieranie pliku
let response = await fileApi.downloadFile(request);

// zapisać w katalogu roboczym
fs.writeFile("C:\\Files\\result.pdf", response, "binary", function (err) { });

Porównaj wiele plików PDF za pomocą Node.js

Możesz programowo porównywać wiele dokumentów PDF, wykonując proste czynności wymienione poniżej:

  • Utwórz instancję CompareApi
  • Ustaw źródłowy plik .pdf
  • Ustaw wiele docelowych plików .pdf
  • Utwórz instancję ComparisonOptions
  • Przypisz pliki źródłowe i docelowe
  • Ustaw ścieżkę pliku wyjściowego
  • Utwórz żądanie porównania
  • Uzyskaj wyniki, wywołując metodę CompareApi.comparisons().

Poniższy przykład kodu pokazuje, jak porównać wiele plików PDF przy użyciu interfejsu API REST w Node.js.

// zainicjować api
let porównywaćApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// Plik źródłowy
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pdf";

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

// plik docelowy 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.pdf";

// zdefiniuj opcje porównania
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "porównywaćd/result.pdf";

// utwórz prośbę o porównanie
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// porównywać
let response = await porównywaćApi.comparisons(request);

Dostosuj wyniki porównania za pomocą Node.js

Możesz łatwo dostosować styl zmian programowo, wykonując czynności wymienione poniżej:

  • Utwórz instancję CompareApi
  • Ustaw źródłowy plik .pdf
  • Ustaw docelowy plik .pdf
  • Utwórz instancję ustawień
  • Ustaw czułość porównania
  • Dostosuj styl elementów
  • Utwórz instancję ComparisonOptions
  • Przypisz pliki źródłowe i docelowe
  • Ustaw ścieżkę pliku wyjściowego
  • Przypisz ustawienia
  • Utwórz żądanie porównania
  • Uzyskaj wyniki, wywołując metodę CompareApi.comparisons().

Poniższy przykład kodu pokazuje, jak dostosować wyniki porównania przy użyciu interfejsu API REST w Node.js.

// zainicjować api
let porównywaćApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// Plik źródłowy
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pdf";

// plik docelowy
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

// zdefiniuj ustawienia porównania
let settings = new groupdocs_comparison_cloud.Settings();

// porównaj czułość
settings.sensitivityOfComparison = 100;

// dostosuj styl zmian
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;

// zdefiniuj opcje porównania
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "porównywaćd/result_porównywaćOptions.pdf";
options.settings = settings;

// utwórz prośbę o porównanie
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// porównywać
let response = await porównywaćApi.comparisons(request);

Uzyskaj listę zmian za pomocą Node.js

Możesz uzyskać pełną listę znalezionych różnic po programowym porównaniu dokumentów PDF, wykonując proste czynności wymienione poniżej:

  • Utwórz instancję CompareApi
  • Ustaw źródłowy plik .pdf
  • Ustaw docelowy plik .pdf
  • Zdefiniuj opcje porównania
  • Utwórz żądanie porównania
  • Uzyskaj wyniki, wywołując metodę CompareApi.comparisons().
  • Pokaż wszystkie zmiany jeden po drugim

Poniższy przykład kodu pokazuje, jak uzyskać listę zmian przy użyciu interfejsu API REST w Node.js.

// zainicjować api
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// Plik źródłowy
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pdf";

// plik docelowy
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

// zdefiniuj opcje porównania
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.pdf";

// utwórz prośbę o porównanie
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);
});
Uzyskaj listę zmian za pomocą Node.js

Uzyskaj listę zmian za pomocą Node.js

Porównaj i zapisz z hasłem i metadanymi za pomocą Node.js {#Compare-and-Save-with-Password-&-Metadata-using-Nodejs}

Wykonaj poniższe czynności, aby zabezpieczyć plik wynikowy hasłem i zapisać go wraz z metadanymi:

  • Utwórz instancję CompareApi
  • Ustaw źródłowy plik .pdf
  • Ustaw docelowy plik .pdf
  • Utwórz instancję ustawień
  • Ustaw metadane i hasło
  • Utwórz instancję ComparisonOptions
  • Przypisz pliki źródłowe i docelowe
  • Ustaw ścieżkę pliku wyjściowego
  • Przypisz ustawienia
  • Utwórz żądanie porównania
  • Uzyskaj wyniki, wywołując metodę CompareApi.comparisons().

Poniższy przykład kodu pokazuje, jak zapisać wynikowy plik z hasłem i metadanymi przy użyciu interfejsu API REST w Node.js.

// zainicjować api
let porównywaćApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// Plik źródłowy
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pdf";

// plik docelowy
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

let settings = new groupdocs_comparison_cloud.Settings();

// ustawić metadane
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;

// Ustaw hasło
settings.password = "password";
settings.passwordSaveOption = groupdocs_comparison_cloud.Settings.PasswordSaveOptionEnum.User;

// zdefiniuj opcje porównania
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "porównywaćd/result_Metadata.pdf";
options.settings = settings;

// utwórz prośbę o porównanie
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// porównywać
let response = await porównywaćApi.comparisons(request);

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie do porównywania plików PDF online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/comparison/pdf

Wniosek

W tym artykule nauczyłeś się porównywać dokumenty PDF w chmurze. Nauczyłeś się również porównywać wiele plików PDF, dostosowywać styl zmian i uzyskiwać listę zmian. Ponadto nauczyłeś się programowo przesyłać wiele plików PDF do chmury, a następnie pobierać wynikowy plik z chmury. Możesz dowiedzieć się więcej o GroupDocs.Comparison Cloud API, korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też