Tips & Tricks

PDF ダッシュボードにライブ データ フィードを埋め込む方法

従来の PDF はスナップショットです。表示されるデータは、PDF が生成された時点で固定されています。ライブ データを含む Interactive PDF ダッシュボードは、ドキュメントが開かれるたびにコンテンツを更新し、Web サービス、データベース、またはリンクされたデータ ソースから現在の数値を取得します。読者には、先週のエクスポートではなく、現在のデータが表示されます。この機能により、PDF が静的レポートからライブ レポート ツールに変わります。

PDF にライブ データ フィードを埋め込むには、更新されたデータを使用してスケジュールに従って PDF を再生成する、PDF を開いたときに Web サービスを呼び出す JavaScript を埋め込む、PDF リーダーが自動的に更新する外部データ ソースに PDF 要素をリンクする、という 3 つのアプローチのいずれかが必要です。各アプローチには、異なるインフラストラクチャ要件と、異なるレベルの PDF リーダー サポートがあります。

WukongPDF の Web to PDF ツールは、オンデマンドでライブ データ ビューを PDF に変換します。常に現在のデータを表示する必要があるダッシュボードの場合、スケジュールされた再生成アプローチがすべての PDF リーダーで最も信頼性が高くなります。

How to Embed Live Data Feeds in a PDF Dashboard

アプローチ 1: 現在のデータを使用したスケジュールされた PDF 再生成

PDF ダッシュボードに常に最新のデータが表示されるようにする最も信頼性の高い方法は、スケジュールに従ってダッシュボードを再生成することです。スクリプトはソース データベースまたは API からデータを取得し、レポート テンプレートにデータを入力し、新しい PDF をエクスポートします。生成された PDF には、現在のデータが静的コンテンツとして含まれています。リーダーは JavaScript や外部データ接続をサポートする必要はありません。データは生成時にファイルに焼き込まれるため、PDF はどのリーダーでも同じように見えます。

matplotlib ライブラリや reportlab ライブラリを備えた Python などのツールを使用すると、データ駆動型の PDF ダッシュボードをプログラムで生成できます。サーバー上の cron ジョブはスクリプトを 1 時間ごとまたは毎日実行し、新しいデータを取得して以前の PDF を上書きします。 PDF の URL は変わりませんが、スクリプトが実行されるたびに内容が更新されます。このアプローチは、プログラムでクエリできる任意の PDF リーダーおよびデータ ソースで機能します。制限は、データが最後の再生成サイクルと同じ最新のものしかないことです。時間ごとまたは毎日の更新で十分なダッシュボードの場合、スケジュールされた再生成により最適な互換性が提供されます。

WukongPDF

PDFを編集してみる

インストールは必要ありません。ブラウザで直接動作します。

始める →

アプローチ 2: ドキュメントが開いているときの JavaScript API 呼び出し

PDF ファイルには、ドキュメントを開いたときに実行される JavaScript を含めることができます。このスクリプトは、外部 Web サービスを呼び出し、応答として JSON データを受信し、返された値でフォーム フィールドにデータを入力したり、テキスト要素を更新したりできます。読者が PDF を開き、セキュリティ警告をクリックしてネットワーク接続を許可すると、ダッシュボードには Web サービスからのライブ データが入力されます。

このアプローチには、ダッシュボード データを JSON 形式で返すサーバー エンドポイントが必要です。 PDF には、Acrobat JavaScript API の Net.HTTP.request メソッドを使用してこのエンドポイントを呼び出す JavaScript が含まれています。スクリプトは DocOpen イベントで実行され、データをフェッチし、フィールド値を更新します。このアプローチは、JavaScript が有効になっている Adobe Acrobat Reader で機能します。ブラウザベースの PDF ビューア、ほとんどのモバイル PDF リーダー、または JavaScript が無効になっている Acrobat Reader では機能しません。リーダーのサポートが制限されているため、このアプローチは、既知の JavaScript 対応リーダーでユーザーに配布される内部ダッシュボードに適しています。

アプローチ 3: 自動更新を使用してリンクされた Excel データ

Microsoft Excel では、リンクされたデータ接続を使用してグラフや表を PDF にエクスポートできます。 Excel ファイルが SQL データベース、Web API、Power Query データ フィードなどの外部データ ソースに接続されている場合、データ接続が更新されると Excel ブック内のグラフとピボット テーブルが更新されます。更新されたワークブックを PDF にエクスポートすると、最新のデータが埋め込まれます。

実際には、PDF とライブ データ間のリンクは間接的です。 Excel ファイルはデータ ソースに接続し、スケジュールまたは開いたときに更新され、マクロまたはスケジュールされたタスクによって更新された PDF がエクスポートされます。 PDF 自体には、最新の Excel 更新からの静的データが含まれています。このアプローチでは、PDF で JavaScript を必要とせず、Excel に組み込まれたデータ接続を使用します。

データソースリフレッシュメソッド複雑さ
サーバーサイドスクリプト + PDF 再生成更新されたデータを使用してスケジュールに従って PDF 全体を再生成します中、スクリプト作成とスケジュール設定が必要
JavaScript + 埋め込み Web サービス呼び出しPDF フォームが開くと API を呼び出し、フィールドに応答を入力します中、サーバー エンドポイントと JS の知識が必要
自動更新付きのリンクされたスプレッドシート外部データ ソースにリンクされた PDF グラフ、開くと更新低、Excel から PDF へのワークフローでサポート

視聴者にとって適切なアプローチの選択

スケジュールされた再生成のアプローチは、すべての読者が開くことができる標準の静的 PDF を生成するため、どの閲覧者にも機能します。 JavaScript アプローチでは、開いた時点で真のライブデータが提供されますが、JavaScript が有効になっている Acrobat Reader を使用している読者にのみ提供されます。 Excel にリンクされたアプローチでは、データ ソースと PDF 出力の間のブリッジとして Excel を使用したセミライブ データが提供されます。

PDF リーダー構成が不明な視聴者への外部配布の場合は、スケジュールされた再生成が安全な選択です。同僚が管理対象デバイスで閲覧する社内ダッシュボードの場合、JavaScript または Excel にリンクされたアプローチにより、より頻繁にデータを更新できます。この決定は、データの新鮮さとリーダーの互換性のバランスをとります。すべての受信者に過去 1 時間のデータを表示するダッシュボードは、適切な PDF リーダーを持つ一部の受信者にライブ データを表示するダッシュボードよりも役立つことがよくあります。

PDF ダッシュボード内のライブ データにより、静的なドキュメントと動的なレポート インターフェイスの間の境界があいまいになります。 PDF 形式は、もともと静的コンテンツ交換用に設計されたものですが、適切なデータ配信メカニズムと組み合わせると、軽量のダッシュボード コンテナーとして機能します。スケジュールされた再生成アプローチは、幅広いユーザー向けのライブ PDF ダッシュボードへの最も現実的な方法です。

PDF ダッシュボードでのライブ データ接続の保護

ほとんどの場合、ライブ データをフェッチするネットワーク リクエストを行う PDF には、静的 PDF にはないセキュリティ上の考慮事項が導入されます。ネットワーク要求によりリーダーの IP アドレスがデータ サーバーに公開される可能性があり、サーバーが侵害された場合にはサーバーの応答に悪意のあるコンテンツが含まれる可能性があります。内部ダッシュボードの場合は、データ エンドポイントが HTTPS を使用し、認証が必要であることを確認してください。 PDF の JavaScript は、データを送受信する前にサーバーの SSL 証明書を検証する必要があります。

外部に配布されるダッシュボードの場合、スケジュールされた PDF 再生成の方がより安全なアプローチです。これは、データが生成時に制御されたサーバー上のファイルに埋め込まれ、受信者の PDF リーダーがネットワーク要求を行わないためです。静的 PDF のセキュリティ モデルは、ライブ API 呼び出しを行う JavaScript 対応 PDF よりもシンプルで監査が簡単です。ライブ API アプローチは、サーバー エンドポイント、PDF リーダー構成、およびそれらの間のネットワーク パスがすべて組織の制御下にある内部ダッシュボード用に予約してください。

ライブ データ サービスからのチャートを画像として埋め込む

完全なダッシュボードを構築するのではなく、ライブ データ サービスによって生成された個々のグラフを埋め込むことを検討してください。 Google Charts や QuickChart などのサービスは、データ値を指定するクエリ パラメータを使用して、URL からの画像としてグラフをレンダリングします。 PDF には、リクエスト時に現在のデータを含むグラフを返す URL からロードされた画像が表示されます。

このアプローチでは、リンクされた画像をサポートする PDF リーダーは JavaScript を実行せずにグラフを表示できるため、JavaScript データ取得よりも幅広いリーダー互換性があります。チャート サービスは、データの取得と視覚化を処理します。 PDF は結果の画像を表示するだけです。不明な PDF ビューア構成を使用して読者に配布されたダッシュボードの場合、リンクされたグラフ イメージにより、幅広い互換性を持つライブ ビジュアライゼーションが提供されます。

PDF ダッシュボードのライブ データは、静的なドキュメント交換を超えて PDF 形式の有用性を拡張します。スケジュールされた再生成アプローチにより、データの鮮度とリーダーの互換性の最適なバランスが得られます。 JavaScript とリンクされたイメージのアプローチは、リーダー ソフトウェアが知られている制御された環境に対して、より適時性を提供します。視聴者にとって適切なデータ更新戦略を選択すると、互換性に問題が発生することなく、ダッシュボードがその価値を確実に提供できるようになります。

ライブ データを含む PDF ダッシュボードは、静的レポートと完全な Web アプリケーションの間の中間点を占めます。現在のデータは、すべての関係者が新しいツールを学習しなくても開くことができる形式で提供されます。スケジュールされた再生成アプローチにより、最小限の技術的依存性で最も広範な互換性が提供されます。

PDF ダッシュボードのライブ データは、形式を静的なドキュメント交換を超えて軽量レポートに拡張します。スケジュールされた再生成アプローチにより、PDF リーダー間で最高の互換性が提供されます。 JavaScript とリンクされたイメージのアプローチにより、制御された環境の適時性が向上します。更新戦略を対象者に合わせることで、互換性のギャップがなくダッシュボードが価値を提供できるようになります。

WukongPDF

PDFを編集してみる

インストールは必要ありません。ブラウザで直接動作します。

始める →