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ả pdf
những thứ không thể chỉnh sửa grep
và OCR chúng.
Tôi nhận thấy nếu một pdf
tậ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 pdffonts
là 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