Tips & Tricks

PDF フォームの回答を構造化 CSV ファイルにエクスポートする方法

すべての PDF Forms の送信では、フィールド値がドキュメント内に保存されます。完成したフォームが 1 つある場合は、画面上でそれらの値を読み取るだけで十分です。記入済みのフォームが 50 ~ 500 個ある場合、各回答を手動でスプレッドシートに転記すると、何時間も無駄になり、エラーが発生します。フォームの回答を構造化された CSV ファイルにエクスポートすると、個々の PDF 送信が、分析、データベースへのインポート、またはレポートへの統合が可能な単一の並べ替えおよびフィルター可能なデータセットに変換されます。

エクスポート プロセスは、すべての回答者が同じフォームのコピーに記入したか、異なるフォームに記入したか、または混合したフォームに記入したかによって異なります。複数の回答者からの同一のフォームにより、各行が 1 つの送信内容、各列が 1 つのフォーム フィールドとなるきれいな表が作成されます。フィールド名がドキュメント間で異なるため、混合フォームではさらに多くの処理が必要になります。このガイドでは、最も一般的な 3 つのエクスポート ワークフロー、つまり同一のフォーム用の Adobe Acrobat Pro、ブラウザベースの迅速なエクスポート用のオンライン ツール、および自動データ パイプライン用のスクリプト アプローチについて説明します。

WukongPDF の PDF to Excel コンバータは、PDF から表形式のデータをスプレッドシート対応形式に抽出します。特にフォーム データの場合、FDF または XFDF をエクスポートする PDF エディターと CSV への変換ステップを組み合わせると、プログラミング スキルを必要とせずに最も信頼性の高い抽出パイプラインが得られます。

How to Export PDF Form Responses Into a Structured CSV File

PDF フォーム データの保存方法

入力可能な PDF フォームは、ユーザーが入力した値を保存する名前付きフィールドを使用します。各フィールドには、FirstName、EmailAddress、DepartmentChoice などの一意の名前が付いています。ユーザーがフォームに入力して保存すると、これらのフィールドと値のペアが PDF の内部データ構造に書き込まれます。値はビジュアル ページ コンテンツとは別のものであるため、テキストがページの一部であるように見えるフォームからでも、プログラムによってフォーム データを抽出できます。

Forms Data Format (FDF) と XML Forms Data Format (XFDF) は、PDF フォーム データを交換するための 2 つの標準形式です。 FDF は古いバイナリ形式です。 XFDF は XML ベースであり、標準ツールで簡単に解析できます。 PDF からフォーム データをエクスポートすると、ツールはフィールドと値のペアを読み取り、FDF または XFDF ファイルに書き込むか、CSV やタブ区切り値などの区切りテキスト形式に直接変換します。

WukongPDF

PDFをExcelに変換してみる

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

始める →

方法 1: Adobe Acrobat Pro を使用して応答データをエクスポートする

Acrobat Pro は、最も完全なフォームデータエクスポートツールキットを提供します。完成した PDF フォームを Acrobat Pro で開きます。 [ツール]パネルに移動し、[フォームの準備]を選択します。右側のペインで、「その他」ドロップダウンをクリックし、「データのエクスポート」を選択します。 Acrobat では、形式を選択するよう求められます。 XFDF 出力には XML ファイル (*.xml) を選択します。これは、後で CSV に変換するのが最も簡単です。タブ区切りの出力には、ほとんどのスプレッドシート アプリケーションに直接インポートするテキスト ファイル (*.txt) を選択します。

同じフォームの複数のコピーをバッチ処理する場合は、代わりにデータ ファイルの結合機能を使用してください。完成したすべての PDF を 1 つのフォルダーに配置します。 Acrobat Pro で、「ツール」、「フォームの準備」に移動し、「その他」をクリックして、「データファイルをスプレッドシートに結合」を選択します。 「ファイルの追加」をクリックし、完成した PDF をすべて選択して、「エクスポート」をクリックします。 Acrobat はすべての応答を 1 つの CSV ファイルにコンパイルし、各 PDF が 1 行になります。これは、同一のフォーム テンプレートを多数送信する場合に最も高速な組み込みメソッドです。

出力 CSV の品質は、送信されたすべての PDF にわたってフィールド名が一貫しているかどうかによって決まります。ある回答者が電子メール フィールドの名前が「Email」の PDF に入力し、別の回答者が「EmailAddress」という名前のバージョンに入力した場合、結合プロセスでは、データが 1 つに結合されるのではなく、2 つの別々の列が作成されます。最終的なデータセットでの列の断片化を避けるために、配布前にフォーム テンプレートを標準化します。

方法 2: オンライン PDF から CSV へのエクスポート ツールを使用する

いくつかのオンライン サービスは、アップロードされた PDF フォームを受け入れ、抽出されたフィールド データを含む CSV ファイルを返します。完成した PDF をアップロードすると、サービスが入力可能なフィールドを識別してその値を読み取り、CSV をダウンロードします。これらのツールは、フィールド数が 30 未満で、複数選択リスト ボックスやカスケード ドロップダウンなどの複雑なフィールド タイプを持たない単純なフォームで最適に機能します。通常、チェックボックスの値は、フォーム作成者がエクスポート値をどのように構成したかに応じて、はいとしてエクスポートされるか、オンとしてエクスポートされます。

オンライン ツールは、無料枠で一度に 1 つのフォームを処理します。バッチエクスポートの場合、Acrobat Pro は 1 回の操作で複数のファイルを処理するため、はるかに効率的です。エクスポートするフォームが 1 つまたは 2 つだけで、ソフトウェアをインストールしたくない場合は、オンライン ツールを使用すると 1 分以内に作業が完了します。ほとんどの無料オンライン サービスは処理されたファイルを保存しないため、ブラウザー タブを閉じる前に、エクスポートされた CSV に予期されるすべての列が含まれていることを確認し、すぐに CSV をダウンロードします。

方法 3: 自動ワークフローのためのスクリプトによる抽出

毎週の従業員タイムシートや毎日の患者受け入れフォームなど、PDF フォームの送信を定期的に受け取る場合、抽出プロセスをスクリプト化することで手動の手順が完全に不要になります。 PyPDF2、pdfrw、pikepdf などの Python ライブラリは、PDF ドキュメントからフォーム フィールドの値を読み取ることができます。基本的な抽出スクリプトは、PDF のフォルダーを開き、それぞれからフィールド値辞書を読み取り、CSV ファイルに行を追加します。

pdfrw ライブラリを使用する Python スクリプトでは、完成したフォームのフォルダーを CSV に処理するために約 20 行のコードが必要です。このスクリプトは、予期されるフィールド名のリストを定義し、各 PDF を反復処理して各フィールドを検索し、フィールド名と一致するヘッダーを付けて値を CSV に書き込みます。スケジュールに従ってスクリプトを実行するか、新しい PDF が監視フォルダーに到着するたびにスクリプトをトリガーします。このアプローチでは、手作業を増やすことなく、10 件の送信から 10,000 件の送信まで拡張できます。

エクスポートされたデータ内の特殊なフィールド タイプの処理

アクション出力フォーマットいつ使用するか
フォームデータのエクスポート(Acrobat)FDF、XFDF、XML、TXT個別フォーム、1 回限りのエクスポート
データファイルを結合する(Acrobat)CSV(スプレッドシートアプリ経由)複数の同一フォーム、バッチエクスポート
オンライン PDF ツールCSVダウンロードブラウザベースのワークフロー、インストール不要
Python スクリプトCSV、JSON、データベース自動化されたパイプライン、定期的なエクスポート

ラジオ ボタン グループは、エクスポート中に特別な注意が必要です。 CreditCard、PayPal、および BankTransfer の値を持つ PaymentMethod という 3 つの選択肢があるラジオ ボタン グループは、選択された値を含む PaymentMethod という名前の単一の列としてエクスポートされます。何も選択されていない場合、セルは空になります。ドロップダウンの場合、エクスポートされる値は選択テキスト、またはフィールド プロパティで割り当てられている場合はエクスポート値です。複数選択リスト ボックスは、選択されたすべての値をセミコロン区切りまたはカンマ区切りの文字列としてエクスポートします。これは、後処理中に別の列に分割する必要がある場合があります。

チェックボックス フィールドのエクスポート方法は、PDF リーダーによって異なります。一部のリーダーは、チェック ボックスを [はい] としてエクスポートし、チェックを外したボックスを [オフ] としてエクスポートします。他のものは、チェックボックスをフィールドのエクスポート値 (多くの場合、数値またはコード) としてエクスポートします。バッチを処理する前に、単一のテスト フォームをエクスポートし、CSV 出力を検査して、各フィールドの種類がエクスポートされたデータにどのようにマッピングされるかを確認します。この 1 分間のチェックにより、その後のデータのクリーンアップに何時間もかかることがなくなります。

フォームの回答を CSV にエクスポートすると、PDF 送信が視覚的な形式から実用的なデータに変わります。どの方法を選択するかは、音量と技術的な快適さによって異なります。たまに使用する単一フォームの場合は、Acrobat Pro のデータのエクスポートで十分です。毎週のバッチ処理の場合は、スクリプトを一度セットアップすると、それ以降のすべてのバッチが自動的に処理されます。

一般的なエクスポート エラーの防止

いくつかの問題により、フォーム データのエクスポート中に CSV 出力が破損する可能性があります。フィールド値にカンマが含まれている場合、CSV パーサーはその値を複数の列に誤って分割する可能性があります。ほとんどのエクスポート ツールは、これを防ぐためにカンマを含む値を二重引用符で囲みますが、すべてがそうするわけではありません。 CSV をスプレッドシート アプリケーションにインポートする前に、テキスト エディタで CSV を確認してください。値が正しく分割されていない場合は、カンマの代わりにタブ区切り文字を使用して再エクスポートするか、XFDF XML 形式を使用し、特殊文字を適切に処理するツールを使用して CSV に変換します。

空のフィールドもよくある混乱の原因です。回答者がフィールドを空白のままにした場合、そのフィールドに対してエクスポートされた CSV セルは単に空になります。複数のフォームのバッチ結合では、行の中央に空のセルがあることが予期されており、エクスポートの失敗を示すものではありません。本当に空白のままになっているフィールドとフォームにまったく存在しないフィールドを区別する必要がある場合は、CSV 出力に頼るのではなく、PDF を直接調べてこれら 2 つのケースを区別してください。

スキャンされた紙のフォームからチェックマークを抽出するなど、単純なフィールドと値のペアを超えるPDF データの抽出 要件を持つフォームの場合、フィールド データを直接エクスポートするのではなく、OCR ベースの抽出が必要です。基盤となるテクノロジーは、名前付きフィールドの読み取りから、精度の上限が低く、手動による検証が必要な視覚的マークの分析に移行します。

ダウンストリーム システムでの CSV 出力の使用

PDF フォーム データが CSV 形式になると、下流の統合オプションが大幅に拡張されます。ピボット テーブル分析のために CSV を Excel または Google スプレッドシートにインポートします。それを CRM にアップロードして連絡先レコードを更新します。統計分析のためにそれを Python pandas スクリプトにフィードします。これを SQL データベースにロードして、他のデータセットと一緒にクエリを実行します。 CSV 形式は、静的な PDF フォームの送信を、クエリ可能なライブ ビジネス データに変換するユニバーサル コネクタです。フィールドの命名規則を元のフォーム テンプレートに文書化すると、数か月後に CSV を処理する人が参照用に個々の PDF を開かなくても、各列が何を表しているかを正確に知ることができます。

WukongPDF

PDFをExcelに変換してみる

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

始める →