Lý do pdftotext không thành công có thể là do PDF là hình ảnh được quét và bạn cần OCR chúng, tôi đã viết một cách nhanh chóng để tìm kiếm tất cả pdfnhững thứ không thể chỉnh sửa grepvà OCR chúng.
Tôi nhận thấy nếu một pdftập tin không có bất kỳ phông chữ nào thì nó thường không thể tìm kiếm được. Biết điều này chúng ta có thể sử dụng pdffonts.
2 dòng đầu tiên pdffontslà tiêu đề bảng, vì vậy khi một tệp có thể tìm kiếm được có nhiều hơn hai dòng đầu ra, biết điều này chúng ta có thể tạo:
gedit check_pdf_searchable.sh
dán cái này
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi
sau đó làm cho nó thực thi
chmod +x check_pdf_searchable.sh
sau đó liệt kê tất cả các pdf không thể tìm kiếm trong thư mục:
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
hoặc trong thư mục và các thư mục con của nó:
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
Bạn cũng cần phải cài đặt:
sudo apt install ocrmypdf