Excel から PDF へ

Node.js を使用して Excel を PDF に変換する

Excel は、計算データ保存用の一般的なファイル形式の 1 つです。数値や数式、テキスト、図形の描画などのデータを保存できます。また、Excel は Microsoft Office Suite ソフトウェアの一部であるため、多くのユーザーが XLS ファイルの作成に使用しています。さらに、数値行と文字名列に配置されたセルのグリッドにデータを保存して、算術演算などのデータ操作を整理できるため、非常に人気があります。ただし、これらのファイルを表示するには、特定のアプリケーションがインストールされている必要があります。また、ソフトウェアのバージョンによって、ファイルの表示形式が異なります。したがって、これらすべての問題を解決するには、デスクトップの Web ブラウザーの大部分とモバイル デバイスのさまざまな無料アプリケーションで PDF ドキュメントを簡単に表示できるため、ファイルを PDF 形式に変換することが実行可能なソリューションです。

この記事では、Cloud REST API を使用して Excel から PDF に変換する方法について説明します。

Excel から PDF への変換 API

Aspose.Cells Cloud は、Excel ファイルを最初から作成したり、既存のファイルの内容を編集したり、XLSMHTMLXPSTIFFSVG などの形式にファイルをレンダリングしたりする機能を提供する、受賞歴のある REST API です。したがって、この記事では、Aspose.Cells Cloud SDK for Node.js を使用します。

cURL コマンドを使用して Excel を PDF に変換する

このセクションでは、cURL コマンドを使用して Excel を PDF 形式で保存します。最初の手順は、Aspose.Cloud ダッシュボード で無料アカウント サブスクリプションを作成することです。GitHub または Google アカウントをお持ちの場合は、サインアップするだけです。それ以外の場合は、新しいアカウントの作成 ボタンをクリックして、必要な情報を入力します。ダッシュボードにログインして、クライアント資格情報にアクセスします。

ここで、以下のコマンドを実行して JWT アクセス トークンを生成してください。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT トークンを取得したら、次の cURL コマンドを実行して、ローカル システムからクラウド ストレージにファイルをアップロードし、PDF 形式への変換を実行する必要があります。

curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xls" \
-H  "accept: application/json" 
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}
https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xlsx

クラウド ストレージにすでに存在する XLS ファイルを PDF 形式に変換する必要がある場合は、次の cURL コマンドを使用してみてください。

curl -X GET "https://api.aspose.cloud/v3.0/cells/conditional.xls?format=PDF&isAutoFit=true&onlySaveTable=false&outPath=output.pdf" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Node.js で XLS を PDF に変換する

このセクションでは、Node.js SDKを使用してExcelワークシートをPDF形式に変換する手順と詳細について説明します。最初の手順は、NPMおよびGitHubからダウンロードできるSDKをローカルシステムにインストールすることです。NPMからSDKをインストールするには、次のコマンドを実行します。

npm i asposecellscloud

インストール後、次のコードスニペットを実行して、Node.jsを使用してXLSからPDFへの変換を実行できます。

  • クライアント ID とクライアント シークレットの詳細を定義するオブジェクトを作成します。
  • 次に、クライアント ID とクライアント シークレットの詳細を引数として受け取る CellsApi クラスのオブジェクトを作成します。
  • 次のステップは、ファイル システム モジュールの createReadStream(…) メソッドを使用して、ローカル システムで使用可能な入力 XLS ファイルの内容を読み取ることです。
  • 次に、UploadFileRequest クラスのインスタンスを作成し、入力ストリーム データをファイル プロパティに渡します。
  • ファイルをクラウド ストレージにアップロードするには、CellsApi の uploadFile(…) メソッドを呼び出します。
  • 次のステップは、CellsSaveAsPostDocumentSaveAsRequest(…) クラスのオブジェクトを作成することです。
  • さらに、PdfSaveOptions クラスのインスタンスを作成し、PDF の値を saveFormat プロパティに渡します。
  • 最後に、CellsApi クラスの cellsSaveAsPostDocumentSaveAs(..) メソッドを呼び出して変換プロセスを開始します。
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");

// https://dashboard.aspose.cloud から ClientId と ClientSecret を取得します (無料登録が必要です)。
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// CellsApiのインスタンスを作成する
const cellsApi = new CellsApi(clientId, clientSecret);

// 入力Excelドキュメントの名前
filename = "conditional.xlsx"

// コードにファイルシステムモジュール参照を含める
const fs = require("fs");

// 入力Excelファイルの内容を読み取る
var data =fs.createReadStream("/Users/nayyershahbaz/Downloads/"+ filename);

// FileUpload Requestインスタンスを作成する
var req = new UploadFileRequest();
req.path = filename;
// 読み込まれたExcelファイルを含むストリームインスタンスとしてコンテンツを設定する
req.file = data;

// ファイルをクラウドストレージにアップロードする
return cellsApi.uploadFile(req)
    .then((result) => {
        // Document SaveAsRequestインスタンスを作成する
        var req = new CellsSaveAs_PostDocumentSaveAsRequest();
        req.name = filename;

        // PdfSaveOptionsクラスのオブジェクトを作成する
        req.saveOptions = new PdfSaveOptions();
  
        // 結果のファイル形式をPDFに設定する
        req.saveOptions.saveFormat = "pdf";
        
        // 新しい結果ファイルの名前を設定する
        req.newfilename = "newbook.pdf";
        // デフォルトの場所に保存するので、フォルダの値としてnullを設定します。        
        req.folder = null;
    
        // 変換プロセスを開始するには、SaveAsPostDocument メソッドを呼び出します。     
        return cellsApi.cellsSaveAsPostDocumentSaveAs(req)
            .then((result) => {
            expect(result.body.code).to.equal(200);
            expect(result.response.statusCode).to.equal(200);
        });
    });

結論

この記事では、Excel を PDF 形式に簡単かつ便利な方法で変換する方法について詳しく説明しました。Aspose.Cells Cloud SDK for Node.js はオープンソースの原則に従って開発されているため、完全なソース コードは GitHub からダウンロードできます。API の使用中に問題が発生した場合や、関連する質問がある場合は、無料製品サポート フォーラム からお気軽にお問い合わせください。

関連記事

詳細については、以下のリンクをご覧ください。