
Word 文書をクラウド上でプログラム的に簡単に編集できます。ドキュメントのコンテンツを追加、編集したり、Node.js アプリケーションでプログラムによって Word ドキュメントのテキスト書式設定を適用したりできます。この記事では、Node.js の REST API を使用して Word ドキュメントを編集する方法に焦点を当てます。
この記事では次のトピックについて説明します。
- ドキュメント エディター REST API および Node.js SDK
- Node.js で REST API を使用して Word ドキュメントを編集する
- Node.jsを使用してWord文書に表を追加する
- Node.js を使用して Word 文書に画像を挿入する
ドキュメント エディター REST API および Node.js SDK
DOCX ファイルの編集には GroupDocs.Editor Cloud の Node.js SDK API を使用します。 Word、Excel スプレッドシート、PowerPoint, TXT、HTML、XML など、サポートされている形式のドキュメントをプログラムで編集できます。 API を使用すると、ドキュメントを HTML に変換して編集したり、ドキュメントの編集後に同じ外観を保ったまま元の形式に変換したりすることもできます。また、クラウド API の ドキュメント エディター ファミリ メンバー として、.NET、Java、PHP、Ruby、Android、および Python SDK も提供します。
コンソールで次のコマンドを使用して、GroupDocs.Editor Cloud を Node.js アプリケーションにインストールできます。
npm install groupdocs-editor-cloud
上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
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";
Node.js で REST API を使用して Word ドキュメントを編集する
以下の簡単な手順に従って、Word 文書を編集できます。
ドキュメントをアップロードする
まず、以下のコード例を使用して、Word ドキュメント (DOCX) をクラウドにアップロードします。
// 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);
});
その結果、アップロードされた DOCX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Node.jsを使用してWord文書を編集する
Word 文書をプログラムで編集するには、以下の手順に従ってください。
- FileAPI と EditAPI のインスタンスを作成します。
- FileInfo に入力ファイルのパスを指定します。
- WordProcessingLoadOptions の作成
- LoadOptions を使用して LoadRequest を作成する
- EditAPIのload()メソッドでファイルをロードします。
- ロードされたファイルを使用して DownloadFileRequest を作成する
- FileAPIのdownloadFile()メソッドを使用してHTMLドキュメントをダウンロードします。
- ダウンロードしたHTMLドキュメントを編集する
- UploadFileRequest の作成
- FileAPI の uploadFile() メソッドを使用して HTML をアップロードして戻す
- DOCX に保存する WordProcessingSaveOptions を提供します
- SaveOptions を使用して SaveRequest を作成する
- Edit API の save() メソッドを使用して HTML を DOCX に保存します。
次のコード スニペットは、Node.js の REST API を使用して Word ドキュメントを編集する方法を示しています。
// APIの初期化
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);
// 入力ファイル
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";
// ロードオプションを定義する
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";
// ロードリクエストを作成する
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);
// HTMLドキュメントをダウンロードする
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");
// 何かを編集して...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");
// HTMLをストレージにアップロードして戻す
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);
// HTMLをdocxに保存し直す
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;
// 保存リクエストを作成する
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);

Node.js の REST API を使用して Word ドキュメントを編集する
更新されたファイルをダウンロードする
上記のコードサンプルは、編集した Word 文書 (DOCX) をクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。
// APIを初期化する
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);
// ファイルのダウンロードリクエストを作成する
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);
// ダウンロードファイル
let response = await fileApi.downloadFile(request);
// 画像ファイルを作業ディレクトリに保存する
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });
Node.jsを使用してWord文書に表を追加する
以下の手順に従って、プログラムを使用して Word 文書に表を追加できます。
- FileAPI と EditAPI のインスタンスを作成します。
- FileInfo に入力ファイルのパスを指定します。
- WordProcessingLoadOptions の作成
- LoadOptions を使用して LoadRequest を作成する
- EditAPIのload()メソッドでファイルをロードします。
- ロードされたファイルを使用して DownloadFileRequest を作成する
- FileAPI の downloadFile() メソッドを使用して HTML ドキュメントをダウンロードします。
- ダウンロードしたHTMLドキュメントを編集する and add a table
- UploadFileRequest の作成
- FileAPI の uploadFile() メソッドを使用して HTML をアップロードして戻します。
- DOCX に保存する WordProcessingSaveOptions を提供します
- SaveOptions を使用して SaveRequest を作成する
- EditAPI の save() メソッドを使用して HTML を DOCX に保存します。
次のコード スニペットは、Node.js の REST API を使用して Word ドキュメントに表を追加する方法を示しています。
// APIの初期化
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);
// 入力ファイル
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";
// ロードオプションを定義する
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";
// ロードリクエストを作成する
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);
// HTMLドキュメントをダウンロードする
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");
// テーブルを追加
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>");
// HTMLをストレージにアップロードして戻す
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);
// HTMLをdocxに保存し直す
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;
// 保存リクエストを作成する
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);

Node.jsを使用してWord文書に表を追加する
Node.js を使用して Word 文書に画像を挿入する
以下の手順に従って、プログラムを使用して Word 文書に画像を挿入できます。
- FileAPI と EditAPI のインスタンスを作成します。
- FileInfo に入力ファイルのパスを指定します。
- WordProcessingLoadOptions の作成
- LoadOptions を使用して LoadRequest を作成する
- EditAPIのload()メソッドでファイルをロードします。
- ロードされたファイルを使用して DownloadFileRequest を作成する
- FileAPI の downloadFile() メソッドを使用して HTML ドキュメントをダウンロードします。
- ダウンロードしたHTMLドキュメントを編集する and insert an image
- UploadFileRequest の作成
- FileAPI の uploadFile() メソッドを使用して HTML をアップロードして戻します。
- DOCX に保存する WordProcessingSaveOptions を提供します
- SaveOptions を使用して SaveRequest を作成する
- EditAPI の save() メソッドを使用して HTML を DOCX に保存します。
次のコード スニペットは、Node.js の REST API を使用して Word ドキュメントに画像を挿入する方法を示しています。
// APIの初期化
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);
// 入力ファイル
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";
// ロードオプションを定義する
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";
// ロードリクエストを作成する
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);
// HTMLドキュメントをダウンロードする
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");
// 画像を挿入する
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/> <img src=\"sample.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">");
// HTMLをストレージにアップロードして戻す
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);
// HTMLをdocxに保存し直す
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;
// 保存リクエストを作成する
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);

Node.js を使用して Word 文書に画像を挿入する
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン DOCX 編集ツールをお試しください。 https://products.groupdocs.app/editor/docx
結論
この記事では、クラウド上で Word 文書を編集する方法を学習しました。 Node.js の REST API を使用して DOCX ファイルにテーブルを追加する方法も学習しました。さらに、プログラムを使用して Word 文書に画像を挿入する方法を学習しました。この記事では、プログラムによって DOCX ファイルをクラウドにアップロードし、編集したファイルをクラウドからダウンロードする方法についても説明しました。 GroupDocs.Editor Cloud API の詳細については、ドキュメント を使用して学習できます。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、フォーラムでお気軽にお問い合わせください。