ナビゲーション

JavaScript

JavaScript で画像と PDF を作成する

JavaScript SDK で、テンプレートから画像、PDF、ホスト済みの画像 URL を生成します。

各メソッドは、テンプレート ID とオプションのオブジェクトを受け取ります。オプションはすべて省略できます。

画像を作成する

createImage はテンプレートをレンダリングし、画像のバイト列を返します。

#templateIdstringrequired

テンプレート ID。たとえば tpl_xxx です。

#modificationsModification[]

テンプレートのレイヤーに設定する値。各項目は name でレイヤーを指定します。指定しなかったレイヤーは、テンプレートの値のままです。各レイヤーが受け付けるフィールドは、Modifications にあります。

#format'png' | 'jpeg' | 'webp'default: png

画像の形式。

import { writeFile } from "node:fs/promises"

const { result, error } = await bannerify.createImage("tpl_xxx", {
  modifications: [
    { name: "headline", text: "Launch promo" },
    { name: "price", text: "$29" },
  ],
  format: "webp",
})

if (error) throw new Error(error.message)

await writeFile("launch-promo.webp", Buffer.from(result))

result は ArrayBuffer です。ブラウザやエッジランタイムでは、Response のボディとして返し、Content-Type ヘッダーに画像の種類を設定してください。

PDF を作成する

createPdf は、同じ templateId と modifications を受け取ります。format オプションはありません。

const { result, error } = await bannerify.createPdf("tpl_invoice", {
  modifications: [
    { name: "customer", text: "Acme Studio" },
    {
      name: "line-items",
      columns: ["Item", "Qty", "Total"],
      rows: [{ Item: "Automate plan", Qty: 1, Total: "$29.00" }],
    },
  ],
})

if (error) throw new Error(error.message)

await writeFile("invoice.pdf", Buffer.from(result))

保存済み画像を作成する

createStoredImage は、画像をレンダリングして保存し、バイト列の代わりに URL を返します。リンクをメール、データベースの行、ノーコードツールに入れたいときに使います。

createImage のオプションに加えて、s3Config を受け付けます。

#s3ConfigS3Config

S3 互換の自分のバケットにファイルを保存します。Scale プランまたは Enterprise プランが必要です。指定しない場合、Bannerify はファイルを CDN に保存し、https://images.bannerify.co/files/ で始まるリンクを返します。

const { result: url, error } = await bannerify.createStoredImage("tpl_xxx", {
  modifications: [{ name: "headline", text: "Welcome back" }],
})

if (error) throw new Error(error.message)

console.log(url)

S3Config には、次のフィールドがあります。

フィールド 必須 説明
endPoint はい プロトコルを含まない S3 エンドポイント
region はい バケットのリージョン
bucket はい バケット名
accessKey はい アクセスキー
secretKey はい シークレットキー
port いいえ エンドポイントのポート。既定値は 443
useSSL いいえ 既定値は true
pathStyle いいえ パススタイルの URL を使う。既定値は false
customUrl いいえ 返されるリンクの URL テンプレート。ファイルキーには {key} を使います

結果を処理する

3 つのメソッドは、いずれも { result } または { error } を返します。エラーを処理するを参照してください。