logo

API 仕様

pdfg の API は、HTML コンテンツと PDF 生成オプションを含む JSON ペイロードを受け付けます。

エンドポイント

POST https://api.pdfg.net/v1

ヘッダー

Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

リクエストボディ

リクエストボディは以下の 2 つのパラメータを持つ JSON オブジェクトです:

  • html (必須): PDF 化したい HTML コンテンツを文字列で指定します。
  • pdfOptions (オプション): PDF 生成時の様々な設定を指定できます。
  • preview (オプション): true を指定すると、PDF にウォーターマークが追加され、API 使用量にカウントされません。開発やテスト時の利用を想定しています。

PDF オプション

pdfOptionsとして指定可能なパラメータは以下の通りです:

パラメータ名説明デフォルト値
displayHeaderFooterbooleanヘッダーとフッターを表示するかどうかfalse
footerTemplatestringフッターの HTML テンプレート。headerTemplateと同じ制約と特殊クラスのサポートがあります""
formatstring用紙サイズ。LetterLegalTabloidLedgerA0A1A2A3A4A5A6のいずれか。指定された場合、widthheightより優先されます"letter"
headerTemplatestringヘッダーの HTML テンプレート。以下の特殊クラスを使用可能:
- date: 印刷日
- title: ドキュメントタイトル
- url: ドキュメントの場所
- pageNumber: 現在のページ番号
- totalPages: 総ページ数
""
heightstring | numberPDF の高さ(ピクセル単位の数値、または単位付きの文字列)-
landscapeboolean横向きで出力するかどうかfalse
marginobjectマージン設定(toprightbottomleftを指定可能)undefined(マージンなし)
omitBackgroundbooleanデフォルトの白背景を非表示にし、透過 PDF の生成を許可するかどうかfalse
pageRangesstring出力するページ範囲(例: '1-5, 8, 11-13')""(すべてのページ)
preferCSSPageSizebooleanCSS の@page サイズ宣言を、width/height/format オプションよりも優先するかどうかfalse(用紙サイズに合わせて拡大縮小)
printBackgroundboolean背景のグラフィックスを印刷するかどうかfalse
scalenumberWeb ページのレンダリングスケール。0.1 から 2.0 の間で指定1
widthstring | numberPDF の幅(ピクセル単位の数値、または単位付きの文字列)-

リクエスト例

以下は、すべての PDF オプションを指定した場合の cURL リクエストの例です:

curl --location 'https://api.pdfg.net/v1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
  "html": "<h1>Hello World</h1>",
  "pdfOptions": {
    "displayHeaderFooter": true,
    "footerTemplate": "<div style=\"text-align: center; width: 100%; font-size: 10px;\"><span class=\"pageNumber\"></span> / <span class=\"totalPages\"></span></div>",
    "format": "A4",
    "headerTemplate": "<div style=\"text-align: center; width: 100%; font-size: 10px;\">サンプルヘッダー</div>",
    "height": "297mm",
    "landscape": false,
    "margin": {
      "top": "20mm",
      "right": "20mm",
      "bottom": "20mm",
      "left": "20mm"
    },
    "omitBackground": false,
    "pageRanges": "1-5",
    "preferCSSPageSize": false,
    "printBackground": true,
    "scale": 1,
    "width": "210mm"
  }
}' \
--output sample.pdf

レスポンス

生成された PDF のバイナリデータが返されます。