如何對掃描版 PDF 進行 OCR,讓它可供搜尋

掃描的 PDF 是影象,而不是文字:您無法搜尋、選擇或複製其內容。本指南展示 pdfmcp 的兩種本地方式:將 OCR 應用為可搜尋的 PDF,或將 OCR 應用為純文字,全部在您的裝置上,並附真正重要的設定。

為什麼掃描的 PDF 沒有文字

掃描器儲存的是每一頁的照片。文字是影象中的畫素,而不是字元,因此搜尋找不到任何東西,選擇文字也選不到任何東西,也沒有東西可以複製。OCR(光學字元識別)解決了這個問題:它讀取每一頁的影象,並推斷畫素構成了哪些字元。

pdfmcp 為此使用 Tesseract。OCR 操作有兩種,每種都滿足不同的需求。ocr_pdf 返回外觀相同但帶有不可見文字層的 PDF,因此文件本身變得可搜尋、可選擇。ocr_to_text 僅以純文字形式返回文字。兩者都在本地執行。

選擇方式:可搜尋的 PDF 還是僅文字

當文件必須繼續是文件時,請選擇 ocr_pdf:合同、報告或他人會開啟、查閱和引用的檔案。它使用 pdfmcp 軟體包在本地執行,因為製作乾淨的可搜尋 PDF 需要較重的機械。已經帶有文字層的頁面會原封不動地透過,並被報告為跳過,因此在混合文件上執行它是安全的。

當您只需要文字時,請選擇 ocr_to_text:貼上到筆記中、傳遞給指令碼,或閱讀掃描件的內容。在網站上,它在您的裝置、您的瀏覽器中執行,您的檔案永不上傳;請注意,裝置上的網頁版本僅包含英語。本地軟體包的相同操作可以配置語言。

製作可搜尋的 PDF,分步進行

1) 只安裝一次 pdfmcp 軟體包(見 MCP 頁面)。2) 使用本地軟體包、透過本地 MCP 連線的智慧體或您自己的程式碼,對您的檔案執行 ocr_pdf 操作。3) 開啟結果並檢查:搜尋一個您能在頁面上看到的詞。如果搜尋能找到它並在正確的位置高亮顯示,文字層就已就位。

如果您透過 AI 智慧體工作,相同的步驟會縮減為一個請求:連線一次本地 MCP 伺服器(見設定指南),然後請智慧體對檔案應用 OCR。一切都發生在您的機器上。

重要的設定:語言、DPI 和頁面

語言是人們最容易弄錯的設定。預設值為 eng(英語)。對於其他語言,請將語言引數設定為 Tesseract 語言程式碼,或組合程式碼:例如混合英語和德語的文件使用 eng+deu。語言資料會在首次使用時只下載一次,並保留在您的機器上。選擇文件實際所用的語言,比任何其他設定都重要得多。

DPI 的預設值為 300,可在 150 到 600 之間設定:這是識別前每一頁的渲染解析度。對於普通掃描件,請保持 300;較高的值可能對小字有幫助,代價是您機器上的工作更慢。最後,頁面引數將工作限制為您指明的頁面(例如 1-3,5,8),這是在處理長文件之前,在幾頁上測試設定的最快方法。

限制、隱私和誠實的邊界

實際上,限制您的是您的裝置:記憶體和速度,在瀏覽器中則是約 100 MB、500 頁以內的檔案。非常長的文件需要您機器所需的時間;將巨大的掃描件拆成幾部分仍然是個好主意。

隱私遵循 pdfmcp 的規則,不作比網站本身更強的斷言:一切都在本地執行,您的檔案永不上傳,永不儲存在任何伺服器上,也永不用於訓練 AI。而誠實的邊界是:OCR 從相當清晰的掃描件中讀取印刷文字。手寫、對比度很低的掃描件和損壞的頁面會產生錯誤:結果是盡力而為的文字層,而不是經認證的轉錄,因此請對照頁面影象檢查重要的姓名和數字。

在瀏覽器中免費試用

常見問題

pdfmcp 中的 OCR 免費嗎?

是的,永久免費。裝置上的 OCR 轉文字工具是免費的,不需要任何賬戶。使用本地軟體包的完整 OCR 也免費,無金鑰,無每日配額。沒有付費層級。

OCR 會改變我的 PDF 的外觀嗎?

ocr_pdf 會新增一個不可見的文字層;頁面影象保持原樣。已經帶有文字的頁面會原封不動地透過,並被報告為跳過。

OCR 可以讀取哪些語言?

使用本地軟體包時,請將語言引數設定為 Tesseract 語言程式碼(預設為 eng;eng+deu 等組合可用):語言資料會在首次使用時只下載一次。裝置上的網頁 OCR 轉文字工具僅包含英語。

為什麼我的大掃描件需要這麼長時間?

OCR 是一項繁重的工作,並在您的機器上執行,因此非常長的掃描件需要您計算機所需的時間。請將文件拆成較小的部分並對這些部分應用 OCR,或者,如果檔案已經有文字層,則改用 pdf_to_text 提取該文字。

OCR 對手寫有效嗎?

它專為印刷文字設計。手寫和低質量的掃描件可能會產生錯誤,因此請對照原始頁面影象核實關鍵細節。


原文發表於 https://pdfmcp.org/guides/how-to-ocr-a-scanned-pdf/