Cloud FunctionsでNode.jsとPuppeteerを使ってPDFを出力する方法

0

2024年12月16日 12:33

Google Cloud Functionsを活用して、Node.jsとPuppeteerを使いPDFを生成する方法を紹介します。この仕組みを使うことで、動的に生成されたHTMLをPDFに変換し、レポートや請求書などの出力を自動化することが可能です。

準備するもの

  1. Google Cloud プロジェクト
  2. Node.js 環境
  3. Puppeteer パッケージ
  4. テンプレートエンジン (例: Handlebars)

事前にCloud Functionsをセットアップし、必要なパッケージをインストールしてください。

環境構築

1. Cloud Functionsプロジェクトの作成

まず、Google Cloud CLIを使ってプロジェクトを作成し、Cloud Functionsを有効化します。

img

2. 必要なパッケージのインストール

プロジェクトディレクトリで以下のコマンドを実行し、Puppeteerとテンプレートエンジンをインストールします。

img

PDF生成の実装

1. 基本的なPDF生成関数

以下のコードは、Puppeteerを使用してHTMLをPDFに変換する関数の例です。

img

2. テンプレートエンジンとの連携

テンプレートエンジンを利用して動的にHTMLを生成します。以下はHandlebarsの例です。

img

3. Cloud Functionsのエントリポイント

Cloud Functionsでこの仕組みを動作させるには、以下のようにエントリポイントを設定します。

img

パフォーマンス比較

項目手動PDF生成自動PDF生成 (Cloud Functions)
時間消費10分/ファイル1秒/ファイル
スケーラビリティ低い高い
初期コスト無料GCP利用料が発生

Cloud Functionsを使うことで、大量のPDFを効率的に生成できるようになります。

実装時の注意点

  1. Puppeteerの依存関係: Cloud Functions環境では--no-sandboxオプションが必要です。
  2. テンプレート管理: テンプレートを別ファイルに分離することで保守性を向上させます。
  3. PDFサイズの最適化: 必要に応じてフォントや画像を圧縮しましょう。

まとめ

Google Cloud FunctionsとPuppeteerを使用すると、HTMLからPDFを生成するプロセスを簡単に自動化できます。この仕組みを利用して、請求書、レポート、証明書などのPDF出力を効率化しましょう。次のステップとして、生成したPDFをCloud Storageに保存したり、メールで送信する仕組みを実装するのもおすすめです。


[cv:issue_marketplace_engineer]

# Google Cloud Functions
0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。