Porównaj dokumenty Worda przy użyciu REST API w Node.js

Jako programista Node.js możesz łatwo programowo porównywać dwa lub więcej dokumentów Worda pod kątem podobieństw i różnic w chmurze. Może pomóc w śledzeniu zmian w różnych wersjach tego samego dokumentu Word lub różnych dokumentów. W tym artykule dowiesz się, jak porównać dwa lub więcej dokumentów Worda za pomocą REST API w Node.js.

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

REST API i Node.js SDK do porównywania dokumentów Worda

Do porównania dwóch lub więcej plików DOCX użyjemy Node.js SDK of GroupDocs.Comparison Cloud API. Pozwala porównać dwa lub więcej dokumentów i znaleźć różnice w pliku wynikowym. Zestaw SDK można łatwo zintegrować z istniejącymi aplikacjami Node.js w celu porównywania dokumentów, arkuszy kalkulacyjnych, prezentacji, diagramów programu Visio, wiadomości e-mail i plików w wielu innych obsługiwanych formatach.

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

npm install groupdocs-comparison-cloud

Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. 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ównanie dwóch plików programu Word przy użyciu interfejsu API REST w Node.js

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

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

Prześlij pliki DOCX

Najpierw prześlij źródłowe i docelowe pliki DOCX 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\\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);
    });
  });
});

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

Porównaj pliki Word za pomocą Node.js

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

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw źródłową ścieżkę pliku wejściowego DOCX.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku wejściowego DOCX.
  • Następnie utwórz instancję ComparisonOptions i przypisz pliki źródłowe i docelowe.
  • Następnie ustaw ścieżkę pliku wyjściowego.
  • Następnie utwórz ComparisonsRequest z ComparisonOptions.
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest.

Poniższy przykładowy kod pokazuje, jak porównać dwa pliki programu Word 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.docx";

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

// 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.docx";

// 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);
Pliki źródłowe i docelowe.

Pliki źródłowe i docelowe.

Porównanie dwóch plików programu Word przy użyciu interfejsu API REST w Node.js

Porównanie dwóch plików programu Word przy użyciu interfejsu API REST w Node.js

Pobierz wynikowy plik

Powyższy przykładowy kod zapisze różnice w nowo utworzonym pliku DOCX 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_compareOptions.docx", myStorage);

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

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

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

Możesz programowo porównać wiele dokumentów programu Word, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw źródłową ścieżkę pliku wejściowego DOCX.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku wejściowego DOCX.
  • Powtórz powyższe kroki, aby dodać wiele plików docelowych.
  • Następnie utwórz instancję ComparisonOptions i przypisz pliki źródłowe i docelowe.
  • Następnie ustaw ścieżkę pliku wyjściowego.
  • Następnie utwórz ComparisonsRequest z ComparisonOptions.
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest

Poniższy przykładowy kod pokazuje, jak porównać wiele plików programu Word 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.docx";

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

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

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

// 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);

Uzyskaj listę zmian za pomocą REST API w Node.js

Pełną listę znalezionych różnic można uzyskać po programowym porównaniu dokumentów programu Word, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję CompareApi
  • Następnie utwórz instancję FileInfo i ustaw źródłową ścieżkę pliku wejściowego DOCX
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku wejściowego DOCX
  • Następnie utwórz instancję ComparisonOptions i przypisz pliki źródłowe i docelowe
  • Następnie ustaw ścieżkę pliku wyjściowego
  • Następnie utwórz PostChangesRequest z ComparisonOptions
  • Następnie uzyskaj wyniki, wywołując metodę CompareApi.postChanges() z PostChangesRequest
  • Na koniec pokaż wszystkie zmiany jeden po drugim

Poniższy przykładowy kod 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.docx";

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

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

// utwórz żądanie zmian postu
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);

// zmiany postów
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ą REST API w Node.js

Uzyskaj listę zmian za pomocą REST API w Node.js

Dostosuj wyniki porównania za pomocą Node.js

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

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw źródłową ścieżkę pliku wejściowego DOCX.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku wejściowego DOCX.
  • Następnie utwórz instancję Ustawień i ustaw różne ustawienia porównania, takie jak czułośćPorównania.
  • Następnie utwórz instancje ItemsStyle dla wstawionych stylów, usuniętych elementów i zmienionych elementów.
  • Następnie ustaw różne właściwości dla każdego ItemsStyle, takie jak highlightColor, fontColor, pogrubienie, kursywa itp.
  • Następnie utwórz instancję ComparisonOptions i przypisz pliki źródłowe i docelowe.
  • Następnie ustaw ścieżkę pliku wyjściowego.
  • Następnie przypisz ustawienia do ComparisonOptions
  • Następnie utwórz ComparisonsRequest z ComparisonOptions.
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest

Poniższy przykładowy kod 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.docx";

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

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

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

// dostosuj styl zmian dla wstawionych elementów
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;

// dostosuj styl zmian dla usuniętych elementów
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;

// dostosuj styl zmian dla zmienionych elementów
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.docx";
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);
console.log("Output file link: " + response.href);

Wypróbuj online

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

Wniosek

W tym artykule nauczyłeś się porównywać dokumenty programu Word przy użyciu interfejsu API REST w chmurze. Ponadto widziałeś, jak programowo porównywać wiele plików DOCX. W tym artykule wyjaśniono również, jak programowo przesłać plik DOCX do chmury, a następnie pobrać wynikowy plik z chmury. Poza tym 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ż