बिना किसी कारण के pdftotext सफलता के कारण हो सकता है कि PDF स्कैन की गई छवियां हैं और आपको उन्हें OCR करने की आवश्यकता है, मैंने उन सभी pdf
s को खोजने के लिए एक त्वरित तरीका लिखा है जो grep
ed और OCR नहीं हो सकते ।
मैंने देखा कि अगर किसी pdf
फाइल में कोई फॉन्ट नहीं है तो यह आमतौर पर खोजे जाने योग्य नहीं है। यह जानकर हम उपयोग कर सकते हैं pdffonts
।
pdffonts
तालिका शीर्ष लेख की पहली 2 पंक्तियाँ होती हैं, इसलिए जब किसी फ़ाइल का पता लगाना संभव हो तो दो से अधिक पंक्ति आउटपुट होता है, यह जानकर हम बना सकते हैं:
gedit check_pdf_searchable.sh
इसे पेस्ट करें
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi
फिर इसे निष्पादन योग्य बनाएं
chmod +x check_pdf_searchable.sh
फिर निर्देशिका में सभी गैर-खोज योग्य पीडीएफ़ सूची दें:
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
या निर्देशिका और उसके उपनिर्देशिका में:
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
आपको भी जमाना चाहिए:
sudo apt install ocrmypdf