PDF ファイルをプログラムで複数のファイルに分割する必要がある場合があります。 PDF ドキュメントを分割することで、特定の情報または一連のデータを簡単に抽出して関係者と共有できます。 Node.js 開発者は、PDF ドキュメントをクラウド上で複数のドキュメントに分割できます。この記事では、Node.js の REST API を使用して PDF ドキュメントを分割する方法を学習します。
この記事では次のトピックについて説明します。
- PDF スプリッター REST API および Node.js SDK
- Node.js の REST API を使用して PDF ドキュメントを 1 ページのドキュメントに分割する
- Node.js を使用して PDF ファイルを MultiPage PDF ドキュメントに分割する
- Node.js の REST API を使用してページ範囲ごとにページを抽出する
PDF スプリッター REST API および Node.js SDK
PDF ファイルの分割には、GroupDocs.Merger Cloud の Node.js SDK API を使用します。 サポートされている文書形式、Word、Excel、PowerPoint、 Visio 図面、PDF、HTML。
コンソールで次のコマンドを使用して、GroupDocs.Merger Cloud を Node.js アプリケーションにインストールできます。
npm install groupdocs-merger-cloud
上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
Node.js の REST API を使用して PDF ドキュメントを 1 ページのドキュメントに分割する
以下に説明する簡単な手順に従って、クラウド上で PDF ファイルをプログラム的に分割できます。
- アップロード the PDF file to the Cloud
- Node.js の REST API を使用して PDF ドキュメントを分割する
- ダウンロード the separated files
PDF ファイルをアップロードする
まず、以下のコード例を使用して PDF ファイルをクラウドにアップロードします。
// FileApi を構築する
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\merger\\ten-pages.pdf';
// ファイルを 1 つずつ読み込む
fs.readFile(file, (err, fileStream) => {
// アップロードファイルリクエストの作成
let request = new groupdocs_merger_cloud.UploadFileRequest("ten-pages.pdf", fileStream, myStorage);
// ファイルをアップロードする
fileApi.uploadFile(request)
});
その結果、アップロードされた PDF ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Node.js の REST API を使用して PDF ドキュメントを分割する
以下の手順に従って、PDF ファイルのページをプログラムで簡単に、ドキュメント内の 1 ページで構成される個別の PDF ドキュメントに分割できます。
- DocumentApi のインスタンスを作成します。
- FileInfo のインスタンスを作成します。
- 次に、入力 PDF ファイルへのパスを設定します。
- SplitOptions のインスタンスを作成します。
- 次に、FileInfo を SplitOptions に割り当てます。
- ドキュメントを分割するには、カンマ区切りの配列で特定のページ番号を設定します。
- また、ドキュメント分割モードを「ページ」に設定します。これにより、API でカンマ区切りの配列で指定されたページ番号を別個の PDF ドキュメントとして分割できるようになります。
- SplitOptions を使用して SplitRequest を作成します。
- 最後に、SplitRequest で DocumentAPI.split() メソッドを呼び出し、結果を取得します。
次のコード スニペットは、Node.js で REST API を使用して PDF ファイルを分割する方法を示しています。
// APIの初期化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
// 入力ファイルのパスを指定します
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";
// 分割オプションを定義する
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.pages = [1, 3];
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;
// 分割リクエストを作成する
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
// 分割文書
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
console.log("Document Path: " + element.path);
});
分割ファイルをダウンロードする
上記のコードサンプルでは、分割したファイルをクラウド上に保存します。次のコード サンプルを使用してダウンロードできます。
// APIを初期化する
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let folderApi = new groupdocs_merger_cloud.FolderApi(configuration);
// ファイルのリストを取得する
var listRequest = new groupdocs_merger_cloud.GetFilesListRequest("Output", myStorage);
let res = await folderApi.getFilesList(listRequest);
res.value.forEach(element => {
// ファイルをダウンロードする
var request = new groupdocs_merger_cloud.DownloadFileRequest(element.name, myStorage);
fileApi.downloadFile(request)
.then(function (response) {
// 画像ファイルを作業ディレクトリに保存する
fs.writeFile("C:\\Files\\merger\\downloads\\" + element.name, response, "binary", function (err) { });
console.log("Expected response type is Stream: " + response.length);
})
.catch(function (error) {
console.log("Error: " + error.message);
});
});
Node.js を使用して PDF ファイルを MultiPage PDF ドキュメントに分割する
以下の手順に従って、プログラムで PDF ファイルを複数ページの PDF ドキュメントに分割できます。
- DocumentApi のインスタンスを作成します。
- FileInfo のインスタンスを作成します。
- 次に、入力 PDF ファイルへのパスを設定します。
- SplitOptions のインスタンスを作成します。
- 次に、FileInfo を SplitOptions に割り当てます。
- カンマ区切りの配列で分割するページ番号の間隔を設定します。
- また、ドキュメント分割モードを間隔に設定します。これにより、API はカンマ区切りの配列で指定されたページ間隔に基づいてドキュメント ページを分割できるようになります。
- SplitOptions を使用して SplitRequest を作成します。
- 最後に、SplitRequest で DocumentAPI.split() メソッドを呼び出し、結果を取得します。
次のコード スニペットは、Node.js の REST API を使用して PDF ファイルを複数ページの PDF ドキュメントに分割する方法を示しています。
// APIの初期化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
// 入力ファイルのパスを指定します
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";
// 分割オプションを定義する
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.pages = [3, 6, 8];
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Intervals;
// 分割リクエストを作成する
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
// 分割文書
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
console.log("Document splitted: " + element.path);
});
Node.js の REST API を使用してページ範囲ごとにページを抽出する
以下の手順に従って、プログラムで一定範囲のページ番号を指定することで、PDF ファイルからページを抽出して保存できます。
- DocumentApiのインスタンスを作成します。
- FileInfo のインスタンスを作成します。
- 次に、入力 PDF ファイルへのパスを設定します。
- SplitOptions のインスタンスを作成します。
- 次に、FileInfo を SplitOptions に割り当てます。
- 開始ページ番号と終了ページ番号を設定します。
- また、ドキュメント分割モードを「ページ」に設定します。
- SplitOptions を使用して SplitRequest を作成します。
- 最後に、SplitRequest で DocumentAPI.split() メソッドを呼び出し、結果を取得します。
次のコード スニペットは、Node.js の REST API を使用して PDF ファイルをページ番号範囲ごとに分割する方法を示しています。
// APIの初期化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";
// 分割オプションを定義する
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.startPageNumber = 3;
options.endPageNumber = 7;
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;
// 分割リクエストを作成する
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
// 分割文書
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
console.log("Document splitted: " + element.path);
});
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン PDF 分割ツールをお試しください。 https://products.groupdocs.app/splitter/pdf/
結論
この記事では、クラウド上で REST API を使用して PDF ドキュメントを分割する方法を学習しました。さらに、プログラムによって PDF ファイルを複数ページの PDF ドキュメントに分割する方法についても説明しました。この記事では、プログラムで PDF ファイルをクラウドにアップロードし、分割されたファイルをクラウドからダウンロードする方法についても説明しました。また、この API を使用すると、ドキュメント ページの並べ替えや置換、ページの向きの変更、ドキュメントのパスワードの管理など、サポートされているファイル形式に対するその他の操作を簡単に行うことができます。さらに、GroupDocs.Merge Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラムでお気軽にお問い合わせください。