Node.js の REST API を使用して Word ドキュメントを解析する

さまざまな目的で、Word 文書からテキストや画像を抽出する必要がある場合があります。 Word ドキュメントを簡単に解析し、Node.js アプリケーションでプログラムによってテキストを読み取ることができます。 Node.js 開発者は、クラウド上でプログラムによって DOCX ファイルからすべてのテキストと画像を抽出できます。この記事では、Node.js の REST API を使用して Word ドキュメントを解析する方法に焦点を当てます。

この記事では次のトピックについて説明します。

ドキュメント パーサー REST API および Node.js SDK

DOCX ドキュメントを解析するには、GroupDocs.Parser Cloud の Node.js SDK API を使用します。 50 を超えるドキュメント タイプのデータを解析できます。また、Node.js アプリケーション内の ZIP アーカイブ、OST/PST メール データ ファイル、電子ブック、マークアップ、PDF ポートフォリオなどのコンテナーの解析もサポートします。 SDK を使用すると、テンプレートによってテキスト、画像を抽出し、データを解析できます。また、クラウド API の ドキュメント パーサー ファミリ メンバー として、.NET、Java、PHP、Ruby、および Python SDK も提供します。

コンソールで次のコマンドを使用して、GroupDocs.Parser Cloud を Node.js アプリケーションにインストールできます。

npm install groupdocs-parser-cloud 

上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Node.js の REST API を使用して Word ドキュメントを解析し、画像を抽出する

以下の手順に従って、Word 文書を解析し、プログラムで画像を抽出できます。

ドキュメントをアップロードする

まず、以下のコード例を使用して、Word ドキュメント (DOCX) をクラウドにアップロードします。

// APIを初期化する
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\sample.docx';

// ファイルを読み取る
fs.readFile(resourcesFolder, (err, fileStream) => {
  // ファイルアップロードリクエストを作成する
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // ファイルをアップロードする
  fileApi.uploadFile(request);
});

その結果、アップロードされた DOCX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

Node.js を使用して Word 文書から画像を抽出する

以下の手順に従って、Word 文書からすべての画像を簡単に抽出できます。

  • ParseApi のインスタンスを作成する
  • FileInfo のインスタンスを作成する
  • DOCX ファイルへのパスを設定します
  • ImageOptions のインスタンスを作成する
  • FileInfo を ImageOptions に割り当てる
  • 画像の作成リクエスト
  • ParseApi.images() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して DOCX ファイルから画像を抽出する方法を示しています。

// APIの初期化
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// サンプルファイル情報
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// 画像オプションを定義する
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// 画像リクエストの作成
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// 画像を取得する
let result = await parseApi.images(request);

// 画像のダウンロード パスを表示
let images = result.images;
images.forEach(image => {
  console.log("Image path in storage: " + image.path);
  console.log("Download url: " + image.downloadUrl);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});
Node.js を使用して Word 文書から画像を抽出する

Node.js を使用して Word 文書から画像を抽出する

抽出した画像をダウンロードする

上記のコードサンプルは、抽出した画像をクラウド上に保存します。以下に示すコード サンプルを使用して、これらのイメージをダウンロードできます。

// APIを初期化する
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// ファイルのダウンロードリクエストを作成する
let request = new groupdocs_parser_cloud.DownloadFileRequest("parser/images/sample_docx/image_0.png", myStorage);

// ダウンロードファイル
let response = await fileApi.downloadFile(request);

// 画像ファイルを作業ディレクトリに保存する
fs.writeFile("C:\\Files\\images\\image_0.png", response, "binary", function (err) { });
console.log(response);

Node.js を使用して Word 文書からテキストを抽出する

以下の手順に従って、Word 文書からすべてのテキストを簡単に抽出できます。

  • ParseApi のインスタンスを作成する
  • FileInfo のインスタンスを作成する
  • DOCX ファイルへのパスを設定します
  • TextOptions のインスタンスを作成する
  • FileInfo を TextOptions に割り当てる
  • 開始ページ番号を設定する
  • FormattedTextOptions の定義
  • TextRequest の作成
  • ParseApi.text() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して DOCX ファイルからテキストを抽出する方法を示しています。

// APIの初期化
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// サンプルファイル情報
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// テキストオプションを定義する
let options = new groupdocs_parser_cloud.TextOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 0;
options.countPagesToExtract = 1;
options.formattedTextOptions = new groupdocs_parser_cloud.FormattedTextOptions({
  mode: "Html"  // extract text in HTML
});

// テキストリクエストを作成する
let request = new groupdocs_parser_cloud.TextRequest(options);

// テキストを取得する
let result = await parseApi.text(request);

// 抽出されたテキストを表示する
let pages = result.pages;
pages.forEach(page => console.log(page.text));
Node.js を使用して Word 文書からテキストを抽出する

Node.js を使用して Word 文書からテキストを抽出する

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン DOCX 解析ツールをお試しください。 https://products.groupdocs.app/parser/docx

結論

この記事では、クラウド上で Word 文書を解析する方法を学習しました。また、Node.js の REST API を使用して DOCX ファイルから画像とテキストを抽出する方法も学習しました。この記事では、プログラムで DOCX ファイルをクラウドにアップロードし、クラウドからイメージ ファイルをダウンロードする方法についても説明しました。 GroupDocs.Parser Cloud API の詳細については、ドキュメント を使用して学習できます。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目