ステップ 0: その PDF がどちらのタイプか先に見極める
ツールに手を伸ばす前に、いま開いているのがどちらのタイプの PDF か 10 秒で確かめてください。最適な手段はこの判定だけで決まります。「Mac の PDF OCR は面倒」という不満のほとんどは、間違った道具を間違った種類のファイルに当てはめたことが原因です。
PDF は実用上、大きく 2 種類に分かれます。
- テキスト層を持つネイティブ PDF。Word、Pages、LaTeX、ブラウザの「PDF として書き出し」など、元のソースが文字データだったファイルです。各文字がグリフと座標として保存されていて、ファイル内には本物のテキストが存在します。
- 画像のみのスキャン PDF。スキャナや「Adobe Scan」のようなスマホアプリ、FAX、画像を「PDF として書き出し」したものなど。各ページは単なる画像で、ファイル内に文字データはなく、人間にとって文字に「見える」ピクセルがあるだけです。
判定方法はシンプルで確実です。プレビューで PDF を開き、Cmd+F を押して、ページ上にはっきり見える単語(見出しでも人名でも)を検索してください。ハイライトされればネイティブ PDF で、テキストはすでに埋め込まれているので OCR は不要です。検索でヒットしないなら、それはスキャン PDF で、内容を選択・検索可能にするには OCR が必要です。
3 つ目のケースとして、混在 PDFがあります。大半のページはネイティブのテキストでも、間に挟まったページ(署名済み契約書、スキャンされた付録、FAX のカバーシートなど)が画像、というパターンです。Cmd+F で検索できる単語と、できない単語が混じります。本記事のどの方法でもこのケースは扱えますが、特に ocrmypdf には --skip-text というフラグがあり、既存のテキスト層を保ったままスキャンページだけを OCR してくれます。
方法 1: プレビュー / メモ(すでにテキスト層がある場合)
Cmd+F で見つかれば、サードパーティ製のツールは要りません。macOS は長年ネイティブ PDF を上手に扱ってきました。プレビューはカーソルでテキストを選択でき、コピーもページをまたいだ選択もできます。Spotlight は標準で PDF 内のテキストをインデックス化するので、メニューバーから契約書の条文の一部を探し当てられます。メモに貼ればきれいに入ります。Pages にドラッグすればレイアウトもおおむね保たれます。
ネイティブ PDF で別のツールに切り替えたくなる唯一の状況は、テキスト層は技術的に存在するけれど壊れているケースです。古い PDF では文字マッピングが破損していて、コピー&ペーストすると文字化けすることがあります。その場合はスキャン扱いにして、後述の方法で OCR をやり直したほうが速いです。
プレビューの Live Text は PDF にも使える?
macOS 13 Ventura 以降、Apple の Live Text(テキスト認識)は PDF ページにも使えるようになりました。プレビューでスキャン PDF を開き、テキストの上にカーソルを置くと I ビームに変わり、ドラッグで選択・コピーできます。これは本当に便利な機能で、「スキャンから 1 文だけ拾いたい」場面ではよく機能します。
ただし、正直に書いておきたい制約が 2 つあります。1 つ目、Live Text は今見えているページに対して動作するので、200 ページのスキャン報告書を一括処理したり、文書全体を検索可能にしたりはできません。2 つ目、Live Text は認識結果を PDF ファイルに書き戻しません。文書を閉じる、同僚に送る、別の Mac で開く、いずれの場合も Cmd+F は依然として効きません。Live Text はビューワー側の機能であって、ファイルを書き換える機能ではありません。
方法 2: スニペット抽出には Cheese! OCR
これは私たちの自社ツールなので、最初に正直なことを書きます。Cheese! OCR は PDF 全体を処理するためのツールではありません。テキスト層をファイルに書き戻すこともしませんし、500 ページを夜通しバッチ処理することもしません。それが必要なら方法 3 に飛んでください。
Cheese! OCR が Mac で最速になるのは、実務でいちばん頻度の高い別のシーンです。画面にスキャン PDF を開いていて、その中から段落、引用、表、コードスニペットを 1 つ抜きたいだけのとき。例えば、レビュー論文を書いていて 1970 年代に Scan された PDF から特定の一節を引用したい。業者から送られてきた契約書がスキャンで、損害賠償条項を Slack のスレッドに貼り付けたい。論文の一段落を翻訳ツールに突っ込みたい。あるいは漫画やビジネス文書のスキャン、駅看板のキャプチャから日本語を抜きたい。
流れはこうです。
- グローバルホットキー(デフォルトは ⇧+⌘+E)を押します。
- スクリーンショットを撮るのと同じ要領で、ページ上のテキスト部分を矩形で囲みます。
- 認識結果がクリップボードに入ります。あとはどこにでも貼れます。
スニペット用途で他の方法より速い理由は 3 つあります。ホットキーがグローバルなのでアプリを切り替える必要がない。認識は Apple Vision フレームワークで端末上で完結するので、ネットワーク往復もなく、機密ページがアップロードされる経路もない。結果が直接クリップボードに入るので「テキストファイルとして保存して開き直す」中間ステップが要らない。
プライバシーの点は具体的です。Cheese! OCR は App Store のサンドボックスでネットワーク権限を一切要求していません。「送信しない約束」ではなく、OS レベルでネットワーク接続そのものが不可能になっています。契約書、医療記録、社内資料といったページ単位の機密が混じる現場では、「理論上は外に出せる」ツールとの差は実際的です。
判断基準はシンプル。作業の単位が「スニペット」なら最速。作業の単位が「文書 1 本まるごと」なら、次の方法へ。
方法 3: ocrmypdf で文書全体を OCR(無料・OSS)
PDF 全体を検索可能にしたい——どのページも選択可能、どの単語も Cmd+F や Spotlight で見つかる——という場合、Mac での最良の無料解は ocrmypdf です。Tesseract をラップしたオープンソースで、傾き補正やノイズ除去などの前処理を済ませた上で、PDF のコピーに整理されたテキスト層を書き戻してくれます。
Homebrew が入っていれば、インストールは 1 行で済みます。
brew install ocrmypdf
もっとも基本的な使い方は引数 2 つ — 入力ファイルと出力ファイル — だけです。
ocrmypdf input.pdf output.pdf
英語のみの PDF ならこれで完了です。出力ファイルは見た目は入力と同じで、各ページの裏に不可視のテキスト層が乗っています。これでプレビューで Cmd+F が効き、コピーペーストもでき、同僚に送っても向こうで検索できます。元ファイルには手を加えません。
多言語・非英語の PDF
非英語の文書には -l(または --language)で言語コードを指定します。Tesseract は 3 文字コードを使います。
ocrmypdf -l eng+chi_sim+jpn+kor input.pdf output.pdf
プラスを使えば複数言語をスタックできるので、英日混在の学術 PDF や、引用が複数言語をまたぐ文書、漢字・かな・英字が一緒に出てくるビジネス文書に向きます。対応する Tesseract 言語データのインストールが必要で、Homebrew なら brew install tesseract-lang でだいたいの言語が揃います。
実務で使うフラグ
--skip-text— すでにテキスト層があるページはスキップし、スキャンのページだけを OCR。混在 PDF の正解。--rotate-pages— 横向き・上下逆のスキャンを自動検出して回転。--deskew— 少し傾いたスキャンをまっすぐに直す。認識精度が目に見えて上がります。--clean— OCR 前にページ画像のノイズ除去。古い・低画質スキャンに有効。--output-type pdfa— PDF/A 形式で出力。法務・機関アーカイブ用途で求められることがあります。
ocrmypdf の代償はコマンドラインであることです。Terminal に抵抗がない方には、Mac で文書全体を OCR する最速・最クリーン・最もプライバシーに優しい方法です。brew install がよく分からないなら、方法 4 へ進んでください。
方法 4: PDFPen Pro などの GUI 製品
コマンドラインではなく GUI で完結させたい方には、Smile Software の PDFPen Pro が Mac の定番です。スキャン PDF を開き、OCR を実行し、認識テキストを編集して、検索可能な PDF として保存——全部、ふつうの Mac アプリの UI で完結します。価格は買い切りで歴史的に 100 ドル前後を上下しています。バージョンや更新ライセンスで変動するので、購入前に公式の最新価格を確認するのが無難です。
類似製品としては Nitro PDF Pro、Readdle の PDF Expert(OCR は有料アドオン)、ABBYY FineReader for Mac(より高機能・高価格、研究やアーカイブ用途で選ばれがち)があります。やることは「PDF を開く → OCR を押す → テキスト層付きで保存」と大同小異で、有料なのは Terminal を開きたくない層が顧客だからです。
判断のコツ。四半期に一度しか OCR しないなら、ocrmypdf は学習コスト的に過剰で、PDFPen はエディタ機能をついでに使えるので過剰にはなりません。週に何度も OCR する業務なら、GUI ツールが省く時間がライセンス代を上回ります。
Adobe Acrobat について
Acrobat Pro は歴史的に既定の選択肢で、いまでも普通に動きます。それでも本記事で先頭に置いていない理由は、サブスクリプション制(プランにより月額 20 ドル前後〜)であること、OCR の経路によっては Adobe のクラウドサービスを通る場合があること、そして「スキャン PDF を検索可能にする」という単一目的に対して ocrmypdf 比でオーバースペックだからです。ocrmypdf は無料・ローカル動作・結果も同等以上です。
すでにフォーム入力、複雑な編集、企業コンプライアンスのために Acrobat に課金しているなら、その OCR で十分で、追加のソフトは不要です。OCR のためだけに Acrobat を契約するか迷っているなら、やめておいたほうが良いです。ocrmypdf や PDFPen Pro のほうが安く済みます。
判断マトリクス
ここまでを 1 枚にまとめます。
| 方法 | 得意な場面 | 費用 | プライバシー | 速度 |
|---|---|---|---|---|
| プレビュー / メモ | テキスト層がすでにあるネイティブ PDF | OS 標準・無料 | 完全ローカル | 即時 |
| Cheese! OCR | スキャン PDF からスニペット・引用・表を抜く | $5.99 買い切り | オンデバイス、ネットワーク権限ゼロ | 1 件あたり数秒 |
| ocrmypdf | 文書全体の検索可能化、バッチ処理 | 無料・OSS | 完全ローカル | 遅め(全ページ処理) |
| PDFPen Pro 系 | Terminal を使わない全文 OCR | 約 $100+ 買い切り(変動あり) | 完全ローカル | ocrmypdf と同程度 |
| Adobe Acrobat Pro | すでに別目的で契約済み | 月額 $20〜 | 混在(機能によりクラウド) | 同程度 |
選び方を 1 段落で
まず Cmd+F を試す。見つかればプレビューで終わり。見つからなければ、必要なのはスニペットか文書全体か。スニペットなら Cheese! OCR、文書全体で Terminal が苦でなければ ocrmypdf、文書全体で GUI を望むなら PDFPen Pro、すでに Acrobat を契約しているなら Acrobat、OCR のためだけに Acrobat 契約を検討中なら——やめておく。
多くの方は最終的にこの中の 2 つを併用しています。月 1 のアーカイブ用に ocrmypdf、毎日の「この PDF から 1 段落欲しい」にスクリーンショット OCR、というように。あるいは大物に PDFPen、たまの単発に Live Text、という組み合わせ。これらは競合ではなく補完関係にあります。
個別の方法についてさらに気になる点があれば、よく聞かれる質問を下の FAQ にまとめました。