GetTextFromPDF関数の罠 (FileMaker 2025)
- sago 
- 9月15日
- 読了時間: 4分
GetTextFromPDF関数はFileMaker 2025で追加された新しい関数です。
PDFからテキストを抽出することで、様々な用途に期待できる関数です。
例えば
- PDFの検索のインデックスにする 
- 納品書や請求書の項目を読み込む 
- AIに読み込ませる 
という用途が考えられます。これは関数のヘルプにも書かれています。
しかし、そう上手い話は無い。
という記事です。
結論
- PDFによってはエラーも返さず正しく読み込めない 
- Mac、Windows、Linuxの環境によって結果が異なる 
という問題があります。
その点に気をつけて開発する必要があります。
GetTextFromPDF関数について
まず、ヘルプページを読みましょう。
説明 
この関数を使用してオブジェクトフィールドに格納されている PDF ファイルからテキストを取得できます。これは次のような場合に非常に便利です:
・FileMaker Pro ファイル内で検索するために格納された PDF ファイルの内容の索引を作成する場合。
・標準化された PDF フォームまたはレポートから特定のテキストを返すことでデータ入力を自動化する場合。
・外部ツールの使用や手作業でコピーや貼り付けをせずに PDF ドキュメントのコレクション内のテキストを分析する場合。
メモ
・返されるテキストの品質はソース PDF ファイルの品質と構造によって異なります。フォント、色、サイズ、正確なレイアウトなどの書式設定は返されるテキストに保存されません。
・PNG や JPG などのビットマップイメージ形式のテキストは PDF ファイルから返されません。
・次の場合、この関数は「?」を返します:
 ・オブジェクトフィールドが空欄、PDF ファイルが含まれていない、またはテキストが見つからない場合。
 ・PDF ファイルがスキャンされたドキュメントの場合。
 ・PDF ファイルがパスワードで保護されているか何らかの理由で読み取ることができない場合。PDFによってはエラーも返さず正しく読み込めない
PDFが読み込めない場合
- 元々が紙のものをスキャンしたようなPDF 
- セキュリティによって制限があるPDF 
- PDFリーダー上でテキストをコピーできるが読み込まないPDF 
1,2はそりゃそうだよね。と納得が出来ます。
3は正確に説明できないのですが、とあるシステムから出力されているPDFが読み込めないことがありました。そのシステムまで調査できなかったので、詳細は解りませんが、”そういうPDFもある”と留意しておきましょう。
PDFの注釈機能を使った箇所は読み込めない
PDFには本文とは別に”注釈(Annot)”という概念があります。
注釈機能を利用して修正している部分はGetTextFromPDF関数では取り込めません。
PDFをちょっと修正したいという気持ちは解ります。注釈機能を使って白く塗りつぶしてテキスト(注釈)を置けば見た目は修正できている様に見えます。
しかし、FileMakerではそれが読めません。注釈機能が使われているかも解りません。

対策
- PDFの送り元にPDFの修正に注釈機能を使うのを止めてもらう 
- 注釈機能ではなく、Acrobatで言うと「テキストを入力」機能を使ってもらう 
- Acrobat(有料版)を使って編集してもらう 
1.PDFの送り元にPDFの修正に注釈機能を使うのを止めてもらう
可能ならベスト。1社なら可能かもしれませんが、複数社や力関係がある場合は難しそうです。
2.注釈機能ではなく、Acrobatで言うと「テキストを入力」機能を使ってもらう
妥協案ですが、修正前のテキストも取得します。それを判定出来れば良いですが・・・
注釈を追加するのは「テキストコメント追加」機能です。
3.Acrobat(有料版)を使って編集してもらう
ハードルが高いです。
Mac、Windows、Linuxの環境によって結果が異なる
環境が混在する場合に起こる問題です。
開発はMac。納品はWindowsといった開発環境と納品環境が異なる場合でも起こるので開発者は注意です。
クライアントPCがMacとWindows混在する場合はサーバ側で処理させれば良いでしょう。
環境によって異なると書いたのですが、Macとそれ以外が現状のテストでは異なる結果を出しています。
Macを使って開発している方は注意する必要があります。
特に、PDFのテキストを読み取ってFileMakerの各フィールドへ登録するような機能の開発では致命的になります。
WindowsとLinuxは今の所、同じだとは思うのですが、注意は必要です。
まとめ
GetTextFromPDF関数は使い方によっては便利ですが、100点を取れる機能ではないかなと思います。特に他社から来るPDFを読み取ってFileMakerに登録する機能を作る場合はかなり注意が必要です。
既存のPDFを多量に読み込ませてテストするべき機能です。
PDFのインデックスやAIに読み込ませるために使う場合も留意すべきでしょう。
送られてくるPDFを解析して項目を抽出してくれるサービスがあります。
この様なサービスをAPI連携するのも一つの手段だと思います。
Parseur®
そもそもは注釈機能で修正しないで欲しいですね・・・
















コメント