製品・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を繰り返し受け取らないよう、実行を分散してください。