編集済みPDFの送信データをSupabaseに保存する方法

SimplePDFをアプリやAIエージェントに追加し、PDFの送信データをSupabase Storageに保存したいとします。
たとえば以下のようなことが可能です:
- 送信データの処理をさらに自動化する:たとえばフォームからデータを抽出して処理する
- PDFをベクターストアに保存し、セマンティック検索や送信されたPDF内の重複や類似の自動検出を実現する
このチュートリアルでは、SimplePDFのPRO機能を2つ使用します:
- Webhook連携 - Supabase Edge Functionsと組み合わせて使用
Supabase Edge Functionのコードはこちらにあります
- S3連携 - Supabase Storageと組み合わせて使用
PDF送信データ用にSupabase Storageを設定する
このセクションでは、SimplePDFのデフォルトストレージの代わりにSupabase Storageを編集済みPDF送信データ(およびドキュメント)のストレージとして設定する手順を説明します。
-
Supabaseプロジェクトの「Storage」に移動し、New bucketをクリックします
-
バケットに名前を付け、プライベートのままにして(Public bucketはトグルしないでください)、Saveをクリックします

- Storageの設定で、新しいS3 Access Keysを作成します

- SimplePDFアカウントに移動し、以下のようにS3ストレージを設定します:
ステップバイステップのガイドはこちらをご覧ください
Endpoint: <Supabase Storage設定のS3 ConnectionからエンドポイントをコピーE>
Path-style: <トグルを有効にする>
Region: <Supabase Storage設定のS3 Connectionに表示されているリージョンを選択>
Bucket: <バケット名を入力:この例では「pdf」を使用>
Access Key ID: <ステップ3で取得した値を貼り付け>
Secret Access Key: <ステップ3で取得した値を貼り付け>

- Updateをクリックし、Supabase Storageに移動すると、新しいファイルが自動的に追加されていることを確認できます。これで設定が完了したことが確認されます!
このファイルは不要なので削除して構いません

PDF送信メタデータを保存するSupabaseテーブルを作成する
このセクションでは、各新規送信についてSimplePDFから受信するメタデータを保存するための新しいテーブルを作成します。Supabase Edge Functionsを使用してテーブルにデータを挿入します。
チュートリアルをスキップしたい場合は、完全なソースコード、テーブル定義、前提条件をこちらでご確認いただけます。
-
Database > Tablesに移動し、新しいテーブルを作成します。
simplepdf_submissionsと名付けましょう。 -
以下のスキーマを定義します: SQLで定義されたスキーマはGitHubのこちらで確認できます
- id:
int8- Primary - document_name:
text - document_id:
text - submission_id:
text - submission_bucket_path:
text - context:
jsonb

- 用意済みのEdge Functionをデプロイします:GitHubのソースコード
npm i
npm run deploy
simplepdf_submissionsテーブルへの行挿入をEdge Functionに許可する新しいRLSポリシーを作成します:
本番環境では、より厳格なRLSポリシーを推奨します。またはSimplePDF側から認証ヘッダーを渡してWebhookの呼び出しを認証することも可能です
alter policy "Allow edge function to insert into simplepdf_submissions"
on "public"."simplepdf_submissions"
to anon
with check (true);

- SupabaseのEdge Functionsセクションで
simplepdf-webhooksEdge FunctionのURLをコピーします

- SimplePDFに移動し、デプロイした
simplepdf-webhooks関数を指すようにWebhookを設定します
ステップバイステップのガイドはこちらをご覧ください

以上で連携が完了しました!Supabase Storageに編集済みPDFを保存し、Supabase Edge Functionsを使用して編集済みPDF送信に関するイベント(およびメタデータ)をテーブルに保存できます!

ご質問がございましたら、お気軽にsupport@simplepdf.comまでご連絡ください。
あなたが興味を持つかもしれない
- PDFフォームに必須フィールドを追加する
- エディターのカスタマイズとブランド追加方法
- 送信確認のカスタマイズ方法
- PDFフォームの送信に対するメール通知の取得方法
- PDFフォームの送信に自分のS3バケットを設定する方法
- PDFフォーム送信のために独自のAzure Blob Storageを設定する
- 新しいPDFフォームの送信通知を取得するためのWebhooksの設定方法
- Bubbleのワークフローを使用してPDFの送信内容をBubbleデータベースに保存する方法
- PDFフォームの処理を自動化するためにSimplePDFをActivepiecesに接続する方法
- IDPワークフローでAIを活用するためのRobocorp統合の使用方法
- Next.jsアプリに埋め込みPDFエディターを追加する方法
- ExcalidrawでPDFを表示・編集する方法