製品・APIガイド
レポート作成の全体フロー
1. レポートの構造を作成
見出し、集計期間、グラフ、明細表を含むレポートテンプレートを作成します。複数ページにまたがる内容にはフロー配置を使い、必要に応じてヘッダー、フッター、ページ番号を追加してください。
2. データを一度定義
例えば、monthlyRevenueという配列でmonthとrevenueプロパティを使います。グラフをその配列にバインドし、カテゴリのフィールドにmonth、系列のフィールドにrevenueを選択します。明細表も同じ配列にバインドすると、両方が同じデータを使用します。
3. 境界ケースをテスト
空の配列、1カテゴリ、長いカテゴリ名、欠落フィールド、多数の行をテストします。グラフの合計を表と比較してください。円グラフやドーナツグラフに負の値は使えません。ラベルが密集する場合は、グラフを広げる、カテゴリを減らす、詳細を表に表示するなど調整してください。
レポート生成の全手順
レポートは通常、一括で生成され、単独の請求書より時間がかかるため、キューで処理します。まずグラフを単体で確認し、その後ドキュメントをキューに入れ、Webhookまたはポーリングで追跡してください。
cURL
# 1 - ドキュメントに挿入する前に、グラフを単体で検証
curl -X POST https://api.pdfgine.com/api/v1/templates/chart-preview \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"width": 640,
"locale": "ja",
"element": {
"id": "quarterly-volume",
"type": "chart",
"placementMode": "flow",
"layout": { "width": 100, "widthUnit": "percent", "height": 240 },
"content": {
"title": "生成されたドキュメント",
"data": [
{ "quarter": "Q1", "documents": 120 },
{ "quarter": "Q2", "documents": 180 },
{ "quarter": "Q3", "documents": 240 },
{ "quarter": "Q4", "documents": 310 }
]
},
"chart": {
"type": "bar",
"labelField": "quarter",
"series": [{ "field": "documents", "label": "ドキュメント", "color": "#e3232a" }],
"showLegend": true,
"showValues": true
}
}
}'
# 2 - レポートをキューに追加 - statusUrl付きの202が返る
curl -X POST https://api.pdfgine.com/api/v1/documents/render \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateCode": "maintenance-report",
"format": "pdf",
"locale": "ja",
"webhookUrl": "https://example.com/hooks/pdfgine",
"data": { "document": { "title": "四半期ごとの保守" } }
}'
# 3 - 追跡 - Webhook未指定の場合は、このエンドポイントをポーリング
curl -s https://api.pdfgine.com/api/v1/async-jobs/queue_fe86ad38402a4909b3b5a7965847924a \
-H "X-PDFgine-Key: $PDFGINE_KEY"
キューは、完成したドキュメントではなく、statusUrl付きの202レスポンスを返します。問い合わせる代わりに通知を受け取るには、webhookUrlを指定してください。ドキュメントが完成するとキューから通知され、通知に失敗した場合は再試行されます。
4. 出力を検証して共有
保存と公開を確認し、必要なPDFとWord出力を生成してください。Viewerではページ数と、グラフが使用可能領域を満たしているかを確認します。Wordのグラフは画像であり、編集可能なネイティブグラフではありません。外部共有では有効期限とダウンロード権限を確認し、共有リンクにAPIキーを含めないでください。
グラフとレポート →よくある問題
- キューは、レポートではなくstatusUrl付きの202を返します。このレスポンスからdocumentIdを直接読み取ると、常にnullになります。
- 行が1つもない月も、実際に起こります。空のグラフと見出しのない表のレポートが顧客に届く前に、空の配列でテストしてください。
- グラフと表を照合してください。ある配列に接続したグラフと、別の配列から計算した合計行の不一致は、レポートで特に気づきにくい数値の誤りです。
- 円グラフやドーナツグラフで、負の値を正確に描画することはできません。グラフではなく、元データを修正してください。
- 一括処理には、ページ利用枠と、プランの1分あたりのドキュメント数という2つの上限があります。429を繰り返し受け取らないよう、実行を分散してください。