Command-Line

如何對 PDF 文件進行 OCR 並獲取儲存在 PDF 中的文本?

  • January 20, 2022

首先,如果之前有人問過這個問題,我深表歉意——我在現有文章中搜尋了一段時間,但找不到支持。

我對 Fedora 對多頁不可搜尋 PDF 進行 OCR 並將此 PDF 轉換為包含圖像頂部文本層的新 PDF 文件的解決方案感興趣。在 Mac OSX 或 Windows 上,我們可以使用 Adob​​e 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 

引用自:https://unix.stackexchange.com/questions/301318