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 のバイナリデータが返されます。