如何對 PDF 文件進行 OCR 並獲取儲存在 PDF 中的文本?
首先,如果之前有人問過這個問題,我深表歉意——我在現有文章中搜尋了一段時間,但找不到支持。
我對 Fedora 對多頁不可搜尋 PDF 進行 OCR 並將此 PDF 轉換為包含圖像頂部文本層的新 PDF 文件的解決方案感興趣。在 Mac OSX 或 Windows 上,我們可以使用 Adobe Acrobat,但在 Linux 上是否有解決方案,特別是在 Fedora 上?
這似乎描述了一個解決方案 - 但不幸的是,我在檢索精確圖像時已經迷路了。
在得知Tesseract現在也可以生成可搜尋的 PDF 後,我找到了腳本三明治:http ://www.tobias-elze.de/pdfsandwich/
安裝依賴項後(這可能不是完整列表)
sudo dnf install svn ocaml unpaper tesseract
我按照腳本指南從原始碼編譯
從原始碼編譯
pdfsandwich 是開源軟體(許可證:GPL)。您可以從項目網站的下載區域下載原始碼為 .tar.bz2 包,也可以通過 subversion 簽出:
svn checkout svn://svn.code.sf.net/p/pdfsandwich/code/trunk/src pdfsandwich
如果你的系統上安裝了OCaml,你可以編譯安裝如下:
cd pdfsandwich ./configure make sudo make install
現在這讓我可以執行
sandwich multipaged-non-searchable.pdf
生成可搜尋的 PDF。
這是包含 pdfsandwich 的儲存庫列表(例如,Debian Stable、AUR、Homebrew)。
ocrmypdf
做得很好,可以像這樣使用:ocrmypdf in.pdf out.pdf
安裝:
pip install ocrmypdf
或者
sudo apt install ocrmypdf # ubuntu sudo dnf -y install ocrmypdf # fedora
原始答案(已棄用)
注意:
pypdfocr
自 2016 年以來不再支持,我注意到由於未維護而導致的一些問題。最好和最簡單的方法是使用
pypdfocr
它,因為它不會更改 pdf。pypdfocr 是這裡的 python 模組連結。pypdfocr your_document.pdf
最後,您將擁有另
your_document_ocr.pdf
一種您想要的可搜尋文本方式。該應用程序不會改變圖像的質量。通過添加覆蓋文本稍微增加文件的大小。我認為該命令非常簡單,不需要任何 GUI。也許安裝 pypdfocr 有點冗長:
sudo dnf -y install tesseract pip install pypdfocr