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
- Edytuj dokument Worda za pomocą REST API w Node.js
- Dodaj tabelę w dokumentach programu Word za pomocą Node.js
- Wstaw obraz do dokumentów programu Word za pomocą Node.js
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:
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);
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);
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);
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.