ฉันจะใช้เคล็ดลับมันเป็นข้อเท็จจริงรองที่แปลกประหลาดฉันสังเกตว่าpdf
ไฟล์ไม่มีตัวอักษรใด ๆ มันมักจะไม่สามารถค้นหาได้ pdffonts
ดังนั้นการรู้นี้เราสามารถใช้
2 บรรทัดแรกของpdffonts
ส่วนหัวเป็นส่วนหัวของตารางดังนั้นเมื่อไฟล์ที่ค้นหาได้มีเอาต์พุตมากกว่าสองบรรทัดโดยรู้ว่าเราสามารถสร้างสิ่งนี้ได้:
gedit check_pdf_searchable.sh
จากนั้นวางสิ่งนี้
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
pypdfocr "$1" # alternatively you can use ocrmypdf "$1" "${1}_ocr.pdf"
fi
จากนั้นทำให้สามารถเรียกใช้งานได้
chmod +x check_pdf_searchable.sh
จากนั้นแสดงรายการไฟล์ PDF ที่ไม่สามารถค้นหาได้ทั้งหมดในไดเรกทอรี:
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
หรือในไดเรกทอรีและไดเรกทอรีย่อย:
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
find: paths must precede expression: Anker2001.pdf Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
"Anker2001.pdf" เป็นไฟล์ตัวที่สองในไดเรกทอรี