Edytuj dokumenty Word za pomocą REST API w Node.js

Możesz łatwo programowo edytować dokumenty Worda w chmurze. Możesz dodawać, edytować zawartość dokumentów lub zastosować formatowanie tekstu w dokumentach Word programowo w swoich aplikacjach Node.js. Ten artykuł skupi się na tym, jak edytować dokumenty Worda przy użyciu interfejsu API REST w Node.js.

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

Interfejs API REST edytora dokumentów i zestaw SDK Node.js

Będę używać Node.js SDK of GroupDocs.Editor Cloud API do edycji plików DOCX. Pozwala programowo edytować dokumenty obsługiwanych formatów, takich jak Word, arkusze kalkulacyjne Excel, PowerPoint, TXT, HTML, XML. Interfejs API umożliwia również konwersję dokumentu do formatu HTML w celu edycji i konwertuje go z powrotem do oryginalnego formatu, zachowując ten sam wygląd po edycji dokumentu. Udostępnia również zestawy SDK .NET, Java, PHP, Ruby, Android i Python jako członkowie rodziny edytorów dokumentów dla Cloud API.

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

npm install groupdocs-editor-cloud

Przed wykonaniem wspomnianych kroków uzyskaj swój identyfikator klienta i klucz tajny z panelu 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 configuration = new groupdocs_editor_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Edytuj dokumenty Word za pomocą REST API w Node.js

Możesz edytować dokumenty programu Word, wykonując proste czynności wymienione poniżej:

  1. Prześlij plik Word do chmury
  2. Edytuj Dokument Worda używający Node.js
  3. Pobierz zaktualizowany plik

Prześlij dokument

Najpierw prześlij dokument Word (DOCX) do chmury, korzystając z przykładowego kodu podanego poniżej:

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

W rezultacie przesłany plik DOCX będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.

Edytuj dokument Word za pomocą Node.js

Wykonaj czynności wymienione poniżej, aby programowo edytować dokumenty programu Word.

  • Utwórz instancje FileAPI i EditAPI
  • Podaj ścieżkę pliku wejściowego w pliku FileInfo
  • Utwórz WordProcessingLoadOptions
  • Utwórz LoadRequest za pomocą LoadOptions
  • Załaduj plik za pomocą metody load() EditAPI
  • Utwórz DownloadFileRequest z załadowanym plikiem
  • Pobierz dokument HTML za pomocą metody downloadFile() FileAPI
  • Edytuj pobrany dokument HTML
  • Utwórz żądanie przesłania pliku
  • Prześlij HTML z powrotem za pomocą metody uploadFile() FileAPI
  • Podaj WordProcessingSaveOptions, aby zapisać w DOCX
  • Utwórz SaveRequest za pomocą SaveOptions
  • Zapisz kod HTML z powrotem w DOCX, używając metody save() interfejsu Edit API

Poniższy fragment kodu pokazuje, jak edytować dokument programu Word przy użyciu interfejsu API REST w Node.js.

// inicjalizacja API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// plik wejściowy      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// zdefiniuj opcje ładowania
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// utwórz żądanie ładowania
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// pobierz dokument html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// edytuj coś...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");

// prześlij html z powrotem do pamięci
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// zapisz html z powrotem do docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// utwórz żądanie zapisania
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Edytuj dokumenty Word za pomocą interfejsu API REST w Node.js

Edytuj dokumenty programu Word za pomocą interfejsu API REST w Node.js

Pobierz zaktualizowany plik

Powyższy przykładowy kod zapisze edytowany dokument programu Word (DOCX) w chmurze. Możesz go pobrać, korzystając z następującego przykładowego kodu:

// zainicjować api
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);

// utwórz żądanie pobrania pliku
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);

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

// zapisz plik obrazu w katalogu roboczym
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });

Dodaj tabelę w dokumentach Word za pomocą Node.js

Możesz programowo dodać tabelę w dokumencie programu Word, wykonując czynności wymienione poniżej:

  • Utwórz instancje FileAPI i EditAPI
  • Podaj ścieżkę pliku wejściowego w pliku FileInfo
  • Utwórz WordProcessingLoadOptions
  • Utwórz LoadRequest za pomocą LoadOptions
  • Załaduj plik za pomocą metody load() interfejsu EditAPI
  • Utwórz DownloadFileRequest z załadowanym plikiem
  • Pobierz dokument HTML za pomocą metody downloadFile() interfejsu FileAPI
  • Edytuj pobrany dokument HTML and add a table
  • Utwórz żądanie przesłania pliku
  • Prześlij kod HTML z powrotem za pomocą metody uploadFile() interfejsu FileAPI
  • Podaj WordProcessingSaveOptions, aby zapisać w DOCX
  • Utwórz SaveRequest za pomocą SaveOptions
  • Zapisz kod HTML z powrotem w DOCX, używając metody save() interfejsu EditAPI

Poniższy fragment kodu pokazuje, jak dodać tabelę w dokumencie programu Word przy użyciu interfejsu API REST w Node.js.

// inicjalizacja API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// plik wejściowy      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// zdefiniuj opcje ładowania
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// utwórz żądanie ładowania
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// pobierz dokument html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// dodaj tabelę
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>");

// prześlij html z powrotem do pamięci
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// zapisz html z powrotem do docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// utwórz żądanie zapisania
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Dodaj tabelę w dokumentach Word za pomocą Node.js

Dodaj tabelę w dokumentach Word za pomocą Node.js

Wstaw obraz do dokumentów programu Word za pomocą Node.js

Możesz programowo wstawić obraz do dokumentu Word, wykonując czynności wymienione poniżej:

  • Utwórz instancje FileAPI i EditAPI
  • Podaj ścieżkę pliku wejściowego w pliku FileInfo
  • Utwórz WordProcessingLoadOptions
  • Utwórz LoadRequest za pomocą LoadOptions
  • Załaduj plik za pomocą metody load() interfejsu EditAPI
  • Utwórz DownloadFileRequest z załadowanym plikiem
  • Pobierz dokument HTML za pomocą metody downloadFile() interfejsu FileAPI
  • Edytuj pobrany dokument HTML and insert an image
  • Utwórz żądanie przesłania pliku
  • Prześlij kod HTML z powrotem za pomocą metody uploadFile() interfejsu FileAPI
  • Podaj WordProcessingSaveOptions, aby zapisać w DOCX
  • Utwórz SaveRequest za pomocą SaveOptions
  • Zapisz kod HTML z powrotem w DOCX, używając metody save() interfejsu EditAPI

Poniższy fragment kodu pokazuje, jak wstawić obraz do dokumentu programu Word przy użyciu interfejsu API REST w Node.js.

// inicjalizacja API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// plik wejściowy   
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// zdefiniuj opcje ładowania
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// utwórz żądanie ładowania
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// pobierz dokument html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

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

// prześlij html z powrotem do pamięci
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// zapisz html z powrotem do docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// utwórz żądanie zapisania
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Wstaw obraz do dokumentów programu Word za pomocą Node.js

Wstaw obraz do dokumentów programu Word za pomocą Node.js

Wypróbuj online

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

Wniosek

W tym artykule nauczyłeś się, jak edytować dokumenty Worda w chmurze. Nauczyłeś się również, jak dodać tabelę w pliku DOCX za pomocą REST API w Node.js. Ponadto nauczyłeś się programowo wstawiać obraz do dokumentu programu Word. W tym artykule wyjaśniono również, jak programowo przesłać plik DOCX do chmury, a następnie pobrać edytowany plik z chmury. Możesz dowiedzieć się więcej o GroupDocs.Editor 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ż