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として指定可能なパラメータは以下の通りです:
| パラメータ名 | 型 | 説明 | デフォルト値 |
|---|---|---|---|
displayHeaderFooter | boolean | ヘッダーとフッターを表示するかどうか | false |
footerTemplate | string | フッターの HTML テンプレート。headerTemplateと同じ制約と特殊クラスのサポートがあります | "" |
format | string | 用紙サイズ。Letter、Legal、Tabloid、Ledger、A0、A1、A2、A3、A4、A5、A6のいずれか。指定された場合、widthとheightより優先されます | "letter" |
headerTemplate | string | ヘッダーの HTML テンプレート。以下の特殊クラスを使用可能: - date: 印刷日- title: ドキュメントタイトル- url: ドキュメントの場所- pageNumber: 現在のページ番号- totalPages: 総ページ数 | "" |
height | string | number | PDF の高さ(ピクセル単位の数値、または単位付きの文字列) | - |
landscape | boolean | 横向きで出力するかどうか | false |
margin | object | マージン設定(top、right、bottom、leftを指定可能) | undefined(マージンなし) |
omitBackground | boolean | デフォルトの白背景を非表示にし、透過 PDF の生成を許可するかどうか | false |
pageRanges | string | 出力するページ範囲(例: '1-5, 8, 11-13') | ""(すべてのページ) |
preferCSSPageSize | boolean | CSS の@page サイズ宣言を、width/height/format オプションよりも優先するかどうか | false(用紙サイズに合わせて拡大縮小) |
printBackground | boolean | 背景のグラフィックスを印刷するかどうか | false |
scale | number | Web ページのレンダリングスケール。0.1 から 2.0 の間で指定 | 1 |
width | string | number | PDF の幅(ピクセル単位の数値、または単位付きの文字列) | - |
リクエスト例
以下は、すべての 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 のバイナリデータが返されます。