PDFにテキストレイヤーがない?ルールを作る前に確認する方法
PDFの文字を選択・検索できなければテキストレイヤーはありません。内容ルールを作る前にMacとWindowsで60秒でできる確認方法と、失敗したときの対処法を解説します。
PDFにテキストレイヤーがないとは、ページ上の文字が一度も文字データとして記録されず、その画像だけが保存されているということです。ルールにも検索ボックスにもCtrl+Fにも、読み取れる中身がそもそも存在しません。これが、内容マッチングのルールが黙って何もしない最も多い原因です。ルールが壊れているのではなく、絵の下に何もないファイルなのです。どちらのPDFかは、MacでもWindowsでも1分もかからず見分けられます。ルールを作る手間をかける前に確認する価値があります。この記事では、その確認方法、確認に失敗したファイルへの対処、そして普通のPDFでも同じように黙って外れてしまう他の形式と上限をまとめて解説します。
なぜルールはPDFの中の文字を見つけられないのか
WordやPages、最近のスキャンアプリから書き出されたPDFは、2つのものを同時に抱えています。目に見えるページの画像と、その裏側に配置された、実際の文字コードでできた隠しレイヤーです。この隠しレイヤーがテキストレイヤーです。PDFリーダーが文を選択させてくれるのも、Ctrl+Fが検索するのも、内容マッチングのルールが読み取るのも、このレイヤーです。
スキャンしたページやスマートフォンで撮った書類の写真には、画像しかありません。誰も文字認識をかけていないため、画像の裏に文字コードは存在せず、文字のように見えるピクセルが並んでいるだけです。人の目には、スキャンした請求書と「PDFとして印刷」した請求書はまったく同じに見えます。ソフトウェアにとっては、一方には文字があり、もう一方には何もありません。ここでつまずく人が多いのはまさにこの点です。ファイルは普通の書類に見え、問題なく開き、問題なく印刷できるのに、ルールが先にOCRを実行しない限り、内容ルールには何ひとつマッチしません。そもそもマッチすべき文字が最初から存在しないからです。
これはFile Arbor特有の癖ではありません。ファイルの中身を読み取るツールなら、File Juggler、organizeも含めてどれもテキストレイヤーを必要とします。スキャンを扱えるHazel 6と、1.3.0以降のFile Arbor Proは、そのテキストを作るために先にOCRを実行します。Noodlesoft自身のHazelサポートフォーラムには、ルールが「PDFを読まなくなった」というユーザーからの投稿が繰り返し立っており、その多くの原因はテキストレイヤーの欠如、あるいはSpotlightのインデックスがそれに追いついていないことです。
60秒でわかるテスト:このPDFにテキストレイヤーはあるか
PDFの中身をもとにルールを組む前に、そのファイルをルールと同じ方法で読んでみてください。文字を選択または検索してみるのです。何も選択できず、何も検索でヒットしなければテキストレイヤーはなく、先にOCRを実行しない限り、その文書に内容ルールがマッチすることはありません。File Arbor Proなら、ルールをスキャンした文書も読み取るよう設定します(1.3.0以降)。
Macの場合
PDFをプレビューで開きます。見えている文字の行をクリックしたままドラッグしてみてください。個々の単語がハイライトされればテキストレイヤーがあります。どこをドラッグしても何もハイライトされなければ、ありません。もう一つの確認として、Command+Fを押し、ページに確かに印刷されている単語を検索してみましょう。本物のテキストレイヤーならすぐに見つかり、画像だけのPDFは何も見つけません。
Windowsの場合
既定のPDFリーダーでファイルを開きます(Windows 10・11ならMicrosoft Edgeでそのまま開けます)。文字の行をドラッグして選択するか、Ctrl+Aで全選択してみてください。テキストレイヤーがあれば個々の単語がハイライトされ、画像だけのページなら何も選択されないか、ページ全体を囲む1つの枠だけが選ばれます。もう一つの確認としてCtrl+Fを押し、ページ上の単語を検索します。ルールはMacと同じで、見つかればテキストレイヤーあり、見つからなければなしです。
このテストは、フォルダ全体にルールを組む前に、代表的な1ファイルで試してください。テキストベースの書類が並ぶ中にスキャンした表紙が1枚だけ混じっていてもテストには通りますが、卓上スキャナーで作った書類ばかりのフォルダはたいてい通りません。ルールが1週間黙って何もしていなかったと後から気づくより、事前に知っておくほうがずっと良いはずです。
検索可能なPDFとスキャンしたPDF:実際にOCRを行うツールはどれか
検索可能なPDFとスキャンしたPDFは、見た目がそっくりなのに機能はまったく逆になり得ます。違いはひとえに、そのファイルにOCR(光学文字認識)がかけられたことがあるかどうかにかかっています。作成時(文字を認識しながらスキャンするアプリ)であれ、後から(既存の画像だけのファイルに対する別工程のOCR)であれ、です。
ここがツール同士で実際に差が出るところで、注記ではなくはっきり言っておく価値があります。Hazel 6はマッチングのステップの中で、OCR未処理のPDFに対してその場でテキスト認識を実行し、暗号化PDFにはパスワードを与えて開くことができます。 File Arborは1.3.0より前はどちらも行いませんでした。それ以降は、ProもOCRを実行します。ルールがスキャンした文書も読み取るよう設定されているとき、スキャンしたPDFや写真(JPEG、PNG、TIFF)の最初と最後のページを、9言語で、1ページあたり約1秒で読み取ります。パスワード欄は今もないため、暗号化されたPDFは読み取れないままです。
| 機能 | File Arbor | Hazel 6 |
|---|---|---|
| 既存のテキストレイヤーを持つPDFの読み取り | できる | できる |
| スキャン・OCR未処理PDFへのOCR実行 | できる(Pro、1.3.0以降) | できる |
| パスワード保護PDFを開く | できない | できる |
| 対応プラットフォーム | Windows & Mac | Macのみ |
| 価格 | $24.99(Pro、一括購入) | $42(一括購入) |
PDFに日常的にパスワードがかかっているなら、Hazelのパスワード機能こそが、クロスプラットフォーム対応ツールを好む人にとってすらHazelを選ぶ実際の理由になります。スキャンについては、今ではどちらもルールの中でOCRを実行します。ただしFile Arbor Proが読み取るのは最初と最後のページだけなので、必要な文字が長いスキャンの奥にある場合は、必要なファイルに対して事前に一度OCRをかけておけば、File Arborの内容ルールでも同じ結果にたどり着けます。
テキストレイヤーがない場合にすべきこと
60秒のテストに落ちても、そのファイルの内容マッチングをあきらめる必要はありません。誠実な選択肢は2つあり、どちらも「待って様子を見る」ではありません。
OCRをかける。 1.3.0以降、File Arbor Proはこれをルールの中で行えます。ルールをスキャンした文書も読み取るよう設定すると、各スキャンの最初と最後のページを読み取ります。同じルールで、スキャンから読み取った日付や番号を使って、そのスキャンに名前を付けることもできます。手順はPDFを中身で自動リネームする方法にあります。そうでなければ、専用のOCRツール、スキャナー付属のソフト、またはAdobe Acrobatの文字認識機能を使えば、画像だけのPDFに本物のテキストレイヤーを追加できます。これが済めば、そのファイルは同じ選択・検索テストに通り、他のPDFと同じように内容ルールで読み取れるようになります。
あるいは、そのファイルは内容マッチングをあきらめ、別の条件でマッチさせる。 ファイル名、届いたフォルダ、日付でマッチするルールは、ファイルの中の文字を1文字も読む必要がありません。取引先が常にreceipt-scan-*.pdfのような名前でスキャンした領収書を送ってくるなら、名前ベースのルールだけでOCRなしに解決できます。ときには、大きなツールを持ち出すより、シンプルなルールのほうが誠実な直し方です。
テキストレイヤーがあっても振り分けられない他の形式
テキストレイヤーがないことだけが、ファイルが黙ってマッチしない原因ではありません。File Arborでは、次のいずれも、中に何が書かれていようと内容条件を発火させません。
- XLSXスプレッドシート。 内容条件はセルの中身を一切読み取りません。
- DOCXのヘッダー・フッター・脚注。 チェックされるのはWord文書の本文だけです。フッターやページヘッダーだけにあるキーワードはマッチしません。
- 暗号化・パスワード保護されたPDF。 パスワードなしにはテキストを取り出せず、File Arborにはパスワードを入力する欄がありません。
これはFile Arborの実装だけの問題ではありません。パスワード入力欄もスプレッドシート用のパーサーも持たないルールエンジンが抽出できる範囲を、そのまま反映しているだけであり、後から直されるべき不具合ではありません。
通常のPDFでも黙って外れる上限
60秒のテストに通り、本物のテキストレイヤーを持つPDFでも、マッチしないことがあります。File Arborの内容抽出には明確な上限があるからです。1ファイルあたり32MB、抽出するテキストは先頭256KBまで、PDFは先頭20ページまで、そして1ファイルあたり5秒の処理時間まで。
意表を突かれやすいのはページの上限です。「解約」という単語が25ページ目にしかない40ページの契約書は、いくらそれを探すルールを組んでもマッチしません。File Arborは20ページより先を一切読まないため、ルールから見ればその単語はファイルの中に存在しないのと同じです。同じ理屈が、文字数の多い長文書類に対する256KBの文字数上限にも当てはまります。ファイルがどれだけ続いていても、抽出はそこで止まります。これらは恣意的な数字ではありません。1つの巨大なファイルが、後ろで待っている他のすべてのファイルの処理を止めてしまわないようにするためのものです。
どの対処法を使うべきか
「文字がまったく選択も検索もできない。」 テキストレイヤーのないスキャンか写真です。File Arbor Proでは、ルールをスキャンした文書も読み取るよう設定してください(1.3.0以降)。そうでなければ、ルールを向ける前にOCRソフトで処理するか、内容ではなく名前・フォルダ・日付で振り分けてください。
「文字は選択できるのに、ルールがまだマッチしない。」 マッチさせたいフレーズが20ページより後にないか、ファイルが32MBを超えていないか、抽出したテキストの先頭256KBより後にマッチが隠れていないかを確認してください。いずれか一つでも当てはまれば、見た目は普通のPDFでも黙って外れます。
「PDFがパスワード保護されている。」 File Arborも一般的な内容ルールも、パスワードなしにそれを開けません。MacであればHazelにルールの中で直接パスワードを与えられます。それ以外の環境では、可能ならファイルを自動化する前にパスワードを外してください。
「スプレッドシートか、マッチさせたい文字がWord文書のヘッダー・フッターにある。」 内容条件が読み取るのはDOCXの本文とPDFのテキストレイヤーだけで、スプレッドシートのセルもヘッダー・フッター・脚注も対象外です。ファイル名やフォルダでマッチさせてください。
「スキャンしたファイルが何百もあり、1つずつ直している時間がない。」 ルールにOCRを実行させてください。File Arbor Proは1.3.0以降WindowsでもMacでもそれができ、Hazel 6はMacでできます。それ以外のツールでは、まとめて専用のOCRソフトで処理してから、OCR済みの出力にルールを向けてください。
FAQ
PDFにテキストレイヤーがないとはどういうことですか?
ページ上の文字が、文字データとしてではなく画像としてしか保存されていないという意味です。スキャンやスマートフォン写真から作られたPDFはピクセルの集まりであり文字コードを持たないため、OCRで認識されるまでは選択も検索もマッチもできません。見た目は普通のPDFと同じでも、その下には読み取れる文字が何も存在しません。
なぜルールはPDFの中の文字を見つけられないのですか?
たいていはテキストレイヤーがなく、スキャンやスマートフォン写真で文字を読み取る仕組みがないためです。通常のPDFでも、マッチ箇所がツールの上限を超えていたり、PDFが暗号化されていたり、スプレッドシートやWord文書のヘッダーのように内容を読み取らない形式だったりすると同じことが起こります。
検索可能なPDFとスキャンしたPDFの違いは何ですか?
検索可能なPDFはワープロソフトから書き出されるか、OCRによって作られたテキストレイヤーを持ち、文字を選択・検索・マッチさせられます。スキャンしたPDFはスキャナーやスマートフォンのカメラで撮影したページの画像で、テキストレイヤーがないため、OCRで認識されるまでは、ソフトウェアにはその文字を読み取れません。
ルールを作る前に、PDFにテキストレイヤーがあるかどう確認すればいいですか?
PDFを開き、1行の文字を選択するか、画面に見えている単語を検索してみてください。MacならプレビューでCommand+F、WindowsならPDFリーダーの検索機能かドラッグでの文字選択を使います。何もハイライトされず検索も見つからなければ、そのファイルにテキストレイヤーはありません。
File ArborもHazelのようにスキャンしたPDFを読み取れますか?
はい、1.3.0以降は読み取れます。ただし違いが2つあります。File Arbor Proは、ルールがスキャンした文書も読み取るよう設定されているとき、スキャンしたPDFや写真にOCRを実行しますが、読み取るのは最初と最後のページだけです。そして、Hazel 6と違ってパスワード保護されたPDFは開けないため、暗号化されたPDFは、File Arborの内容ルールでマッチさせる前にロックを解除しておく必要があります。
PDFの40ページ目にある文字は、内容ルールにマッチしますか?
いいえ。File Arborが読み取るのはPDFの先頭20ページと、抽出したテキストの先頭256KB、32MBまでのファイル、1ファイルあたり5秒の処理時間までです。長い書類の40ページ目にしか出てこないキーワードは、そのPDFに普通のテキストレイヤーがあってもマッチしません。
まとめ
テキストレイヤーのないPDFは、ルールの組み方を間違えたわけではありません。読み取るものが何もないファイルというだけです。60秒の選択・検索テストが、設定に時間を使う前にどちらのPDFかを教えてくれます。必要なファイルにはOCRをかけるか(1.3.0以降は、File Arbor Proのルール自体がそれを行えます)、名前・フォルダ・日付で振り分けてください。それ以外は形式と上限を確認します。XLSXなし、DOCXのヘッダー・フッターなし、暗号化PDFなし、そして20ページ・256KB・32MBを超える部分もありません。
これは、ファイルの中身でフォルダに自動振り分けする方法でも触れている、同じ誠実な限界です。内容ルールは、実際に読み取れる中身をもとにファイルを振り分けるだけで、何も推測されません。ファイルがテストに通るなら、File Arborをダウンロードしてルールを組んでください。通らないなら、ルールにスキャンした文書も読み取らせる(Pro)か、まず先にファイルを直してください。