Excel スプレッドシートは、請求書、元帳、在庫、アカウント、その他のレポートを管理するために広く使用されています。 Excel から PDF への変換により、Excel データをポータブルな形式で他のユーザーと共有できるようになります。 Node.js 開発者は、クラウド上でプログラムを使用して Excel スプレッドシートを PDF ドキュメントに簡単に変換できます。この記事では、Node.js を使用して Excel スプレッドシートを PDF に変換する方法を学習します。
この記事では次のトピックについて説明します。
- Excel から PDF への変換 REST API と Node.js SDK
- Node.js の REST API を使用して Excel を PDF に変換する
- Node.js で特定の Excel スプレッドシートを PDF に変換する
- 高度なオプションを使用した Excel から PDF への変換
- クラウドストレージを使用せずに Excel を PDF に変換する
- Excel を PDF に変換し、透かしを追加する
Excel から PDF への変換 REST API および Node.js SDK
XLSX を PDF に変換するには、GroupDocs.Conversion Cloud の Node.js SDK API を使用します。 API を使用すると、ドキュメントを必要な形式に変換できます。 Word、Excel、PowerPoint, PDF、HTML、JPG、PNG、CADなど50種類以上の文書や画像の変換に対応しています。また、クラウド API の ドキュメント変換ファミリー メンバー として、.NET、Java、PHP、Ruby、Android、および Python SDK も提供します。
コンソールで次のコマンドを使用して、GroupDocs.Conversion Cloud を Node.js アプリケーションにインストールできます。
npm install groupdocs-conversion-cloud
手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";
Node.js の REST API を使用して Excel を PDF に変換する
以下の簡単な手順に従って、クラウド上で Excel スプレッドシートを PDF ドキュメントに変換できます。
- XLSXファイルをクラウドにアップロード
- Node.js を使用して Excel を PDF に変換
- ダウンロード変換されたPDFファイル
Excelファイルをアップロードする
まず、次のコード サンプルを使用して、XLSX ファイルをクラウドにアップロードします。
// ローカル/ディスクからIOStreamでファイルを開きます。
var resourcesFolder = 'C:\\Files\\sample.xlsx';
fs.readFile(resourcesFolder, (err, fileStream) => {
// FileApi を構築する
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
// アップロードファイルリクエストの作成
var request = new groupdocs_conversion_cloud.UploadFileRequest("sample.xlsx", fileStream, myStorage);
// ファイルをアップロードする
fileApi.uploadFile(request);
});
その結果、アップロードされた XLSX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Node.js を使用して Excel を PDF に変換する
以下の手順に従って、プログラムで XLSX を PDF ドキュメントに簡単に変換できます。
- ConvertApi のインスタンスを作成する
- ConvertSettings のインスタンスを作成する
- XLSXファイルパスを設定します。
- 形式に「pdf」を割り当てる
- 出力ファイルのパスを指定します
- ConvertSettings を使用して ConvertDocumentRequest を作成する
- ConvertDocumentRequest で ConvertApi.convertDocument() メソッドを呼び出して変換します。
次のコード例は、Node.js の REST API を使用して Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。
// APIを初期化する
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 変換設定を定義する
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.xlsx"; // input file path
settings.format = "pdf"; // convert format
settings.outputPath = "output"; // output file folder on the cloud storage
// ドキュメント変換リクエストの作成
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// ドキュメントを変換する
let result = await convertApi.convertDocument(request);
// 変換されたファイルパスを表示
console.log("Document converted successfully: " + result[0].url);
変換されたファイルをダウンロードする
上記のコードサンプルは、変換された PDF ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。
// FileApi を構築する
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
// ダウンロードファイルリクエストの作成
let request = new groupdocs_conversion_cloud.DownloadFileRequest("output/sample.pdf", myStorage);
// ダウンロードファイル
let response = await fileApi.downloadFile(request);
// ファイルを作業ディレクトリにコピーする
fs.writeFile("C:\\Files\\converted.pdf", response, "binary", function (err) { });
console.log(response);
Node.js で特定の Excel スプレッドシートを PDF に変換する
以下の手順に従って、特定の Excel スプレッドシートをプログラムで PDF ドキュメントに変換できます。
- ConvertApi のインスタンスを作成する
- ConvertSettings のインスタンスを作成する
- XLSXファイルパスを設定します。
- 形式に「pdf」を割り当てる
- 出力ファイルのパスを指定します
- PdfConvertOptions のインスタンスを作成する
- 変換する特定のスプレッドシートを指定します
- PdfConvertOptions を設定する
- ConvertSettings を使用して ConvertDocumentRequest を作成する
- ConvertDocumentRequest で ConvertApi.convertDocument() メソッドを呼び出して変換します。
次のコード例は、Node.js の REST API を使用して特定の Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。
// APIを初期化する
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 変換設定を定義する
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.xlsx";
settings.format = "pdf";
// PDF 変換オプションを定義する
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.pages = [1]; // define pages (sheets) to convert
settings.convertOptions = convertOptions
settings.outputPath = "specific_pages.pdf";
// ドキュメント変換リクエストの作成
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// ドキュメントを変換する
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
高度なオプションを使用した Excel から PDF への変換
高度な設定を使用して XLSX を PDF ドキュメントに変換するには、以下の手順に従ってください。
- ConvertApi のインスタンスを作成する
- ConvertSettings のインスタンスを作成する
- XLSXファイルパスを設定します。
- 形式に「pdf」を割り当てる
- 出力ファイルのパスを指定します
- SpreadsheetLoadOptions のインスタンスを作成する
- HideComments、onePagePerSheet などのさまざまな読み込みオプションを設定します。
- PdfConvertOptions のインスタンスを作成する
- displayDocTitle、fromPage、pagesCount、マージン (上、左、右、下) などのさまざまな変換オプションを設定します。
- ConvertSettings を使用して ConvertDocumentRequest を作成する
- ConvertDocumentRequest で ConvertApi.convertDocument() メソッドを呼び出して変換します。
次のコード例は、高度な変換オプションを使用して Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。
// APIを初期化する
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 変換設定を定義する
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.xlsx";
settings.format = "pdf";
// スプレッドシートのロード オプションを定義する
var loadOptions = new groupdocs_conversion_cloud.SpreadsheetLoadOptions();
loadOptions.hideComments = true; // hide comments
loadOptions.onePagePerSheet = true; // set one page per sheet
settings.loadOptions = loadOptions;
// PDF 変換オプションを定義する
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.centerWindow = true; // set position of the document's window. Default: false.
convertOptions.displayDocTitle = true; // display document title. Default: false
convertOptions.fromPage = 2; // Start conversion from
convertOptions.pagesCount = 3; // Number of pages(sheets) to convert
convertOptions.marginTop = 5; // top margin
convertOptions.marginLeft = 5; // left margin
settings.convertOptions = convertOptions;
settings.outputPath = "converted.pdf";
// ドキュメント変換リクエストの作成
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 文書を作成する
convertApi.convertDocument(request)
クラウドストレージを使用せずに Excel を PDF に変換する
以下の手順に従って、クラウド ストレージを使用せずに Excel スプレッドシートを PDF ドキュメントに変換できます。
- ConvertApi のインスタンスを作成する
- ローカル パスから入力 XLSX ファイルを読み取ります
- ConvertDocumentDirectRequest を作成する
- ターゲット形式と入力ファイルのパスを入力パラメータとして指定します。
- ConvertDocumentDirectRequest で convertDocumentDirect() メソッドを呼び出して結果を取得します
- FileStream.writeFile() メソッドを使用して、出力ファイルをローカル パスに保存します。
次のコード例は、クラウド ストレージを使用せずに Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。これは、リクエスト本文で入力ファイルを渡し、API レスポンスで出力ファイルを受け取ることを意味します。
// APIを初期化する
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// ローカルパスからファイルを読み取る
let file = fs.readFileSync('C:\\Files\\sample.xlsx');
// 作成、変換ドキュメントの直接リクエスト
let request = new groupdocs_conversion_cloud.ConvertDocumentDirectRequest("pdf", file);
// ドキュメントを変換する
let result = await convertApi.convertDocumentDirect(request);
// 出力ファイルを指定したパスに保存する
fs.writeFile("C:\\Files\\sample_direct.pdf", result, "binary", function (err) { });
console.log("Document converted: " + result.length);
Excel を PDF に変換し、透かしを追加する
以下の手順に従って、Excel スプレッドシートを透かし入りの PDF ドキュメントに変換できます。
- ConvertApi のインスタンスを作成する
- ConvertSettings のインスタンスを作成する
- XLSXファイルパスを設定します。
- 形式に「pdf」を割り当てる
- 出力ファイルのパスを指定します
- WatermarkOptions のインスタンスを作成する
- 透かしのテキスト、色、幅、高さなどを設定します。
- PdfConvertOptions を定義し、WatermarkOptions を割り当てます。
- ConvertSettings を使用して ConvertDocumentRequest を作成する
- ConvertDocumentRequest で ConvertApi.convertDocument() メソッドを呼び出して変換します。
次のコード例は、Node.js の REST API を使用して Excel スプレッドシートを PDF ドキュメントに変換し、変換された PDF ドキュメントにウォーターマークを追加する方法を示しています。
// APIを初期化する
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);
// 変換設定を定義する
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.xlsx";
settings.format = "pdf";
settings.outputPath = "converted";
// 透かしオプションを定義する
let watermark = new groupdocs_conversion_cloud.WatermarkOptions();
watermark.text = "CONFIDENTIAL";
watermark.bold = true;
watermark.fontSize = 44;
watermark.color = "Gray";
watermark.background = false;
watermark.rotationAngle = 30;
watermark.left = 100;
watermark.top = 250;
// PDF 変換オプションを定義する
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.watermarkOptions = watermark;
// 変換オプションを割り当てる
settings.convertOptions = convertOptions
// ドキュメント変換リクエストの作成
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// ドキュメントを変換する
let result = await convertApi.convertDocument(request);
// 出力ドキュメントのパスを表示
console.log("Document converted successfully: " + result[0].url);
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン XLSX から PDF への変換ツールをお試しください。 https://products.groupdocs.app/conversion/xlsx-to-pdf
結論
この記事では、クラウド上で Excel を PDF ドキュメントに変換する方法を学習しました。 Node.js を使用して、変換された PDF ドキュメントにウォーターマークを追加する方法も学習しました。さらに、クラウド ストレージを使用せずに Excel スプレッドシートを PDF ドキュメントに変換する方法を学びました。さらに、XLSX ファイルをプログラムでクラウドにアップロードし、変換されたファイルをクラウドからダウンロードする方法を学習しました。 GroupDocs.Conversion Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。