एक पाठ खोज योग्य पीडीएफ में एक पीडीएफ कैसे चालू करें?


21

मेरे पास पीडीएफ में कई स्कैन किए गए दस्तावेज़ हैं और मैं उन्हें खोजना चाहता हूं। मैं उसे कैसे कर सकता हूँ?

अनिवार्य रूप से मुझे पीडीएफ को ओसीआर करना होगा और फिर निकाले गए पाठ को एक नए पीडीएफ में वापस मिलाना होगा। मैंने अनजाने में कई अलग-अलग समाधानों की कोशिश की है ( एक पीडीएफ में ओसीआर जानकारी जोड़ने में पाए गए लोगों सहित )।

  1. pdfocr (जो मुझे यह मुद्दा देता है: https://github.com/gkovacs/pdfocr/issues/7 )
  2. pdfsandwich (जिनमें से सॉफ़्टवेयर केंद्र कहता है कि यह एक खराब पैकेज है और मुझे इसे इंस्टॉल नहीं करना चाहिए)
  3. OCRfeeder (सॉफ्टवेयर सेंटर में) अच्छी तरह से odt को एक्सपोर्ट करता है, लेकिन PDF में एक्सपोर्ट करने पर प्रतिक्रिया नहीं करता है।
  4. Gscan2pdf इस चर्चा में बताए अनुसार सभी काले (लेकिन खोज योग्य) छवि को निर्यात करता है ।
  5. मुझे नहीं लगता कि Pdfxchange दर्शक 500 से अधिक पेजों पर फाइलों पर उड़ने पर ocr काम कर सकता है।

क्या कोई सॉफ्टवेयर पैकेज है जिससे मैं अनजान हूं? या एक स्क्रिप्ट जो ऐसा करती है?


3
मैंने अभी तक इसे स्वयं नहीं आज़माया है, लेकिन मैंने देखा है कि यह परियोजना अतीत में अनुशंसित है।
ग्लूटानाट

मैंने अभी लिखा है pdf2searchablepdf। यह पर निर्भर करता है tesseract। यह अच्छा काम करता है। सुपर आसान उपयोग करने के लिए। यहाँ देखें। askubuntu.com/a/1187881/327339
गेब्रियल स्टेपल्स

जवाबों:


12

उबंटू <16.04

Glutanimate की टिप्पणी के बाद मुझे एक काम करने वाला समाधान मिल गया है। यह OCRmyPDF स्क्रिप्ट है

git clone https://github.com/jbarlow83/OCRmyPDF
cd OCRmyPDF
sh ./OCRmyPDF.sh -h  # to see the usage

यदि आपको संदेश मिलता है कि आपको GNU समानांतर स्थापित करना चाहिए। यह किया जा सकता है ( /ubuntu//a/298598/115155 के साथ) (दूसरी पंक्ति वैकल्पिक है और आपके स्वाद और संस्करण पर निर्भर करती है):

sudo apt-get install parallel
sudo rm /etc/parallel/config

अंत में आप अपने पीडीएफ को कमांड के साथ OCR कर सकते हैं:

sh ./OCRmyPDF.sh input.pdf output.pdf  # change input and output to the files you want

यदि ऐसा लगता है कि आदेश अनुत्तरदायी है, तो आप -vध्वज का उपयोग करके वर्बोसिटी को बढ़ा सकते हैं (जिसका उपयोग वर्धमान रूप से -vvया के रूप में किया जा सकता है -vvv)। परिणामों को पहले एक छोटे से पीडीएफ पर परीक्षण करना सबसे अच्छा हो सकता है। आप एक पीडीएफ को निम्न प्रकार से छोटा कर सकते हैं:

pdftk A=input.pdf cat A1-5 output output.pdf

उबंटू> = 16.04

Ubuntu 16.04 के रूप में OCRmyPDF उपयुक्त के माध्यम से उपलब्ध हो गया है। बस दौडो

sudo apt install ocrmypdf
ocrmypdf -h   # to see the usage

अंत में आप अपने पीडीएफ को कमांड के साथ OCR कर सकते हैं:

ocrmypdf input.pdf output.pdf  # change input and output to the files you want

यदि ऐसा लगता है कि आदेश अनुत्तरदायी है, तो आप -vध्वज का उपयोग करके वर्बोसिटी को बढ़ा सकते हैं (जिसका उपयोग वर्धमान रूप से -vvया के रूप में किया जा सकता है -vvv)। परिणामों को पहले एक छोटे से पीडीएफ पर परीक्षण करना सबसे अच्छा हो सकता है। आप एक पीडीएफ को निम्न प्रकार से छोटा कर सकते हैं:

pdftk A=input.pdf cat A1-5 output output.pdf

यदि आपके पास कोई प्रश्न है, तो नए Github Repo में एक नज़र डालें ।


क्या आप इसका उत्तर स्वीकार करेंगे, इसे हल करने के लिए? (ताकि यह अनुत्तरित सूची में न आए)
पंजीकृत उपयोगकर्ता

सिर्फ sudo -H pip install git+https://github.com/jbarlow83/OCRmyPDFउबंटू 16.04 के लिए
मार्टिन थोमा

1
Ubuntu 16.10 और बाद के लिए, आप बस कर सकते हैं sudo apt install ocrmypdf
एंडोलिथ

6

@ don.joey ने ocrmypdf स्क्रिप्ट के साथ उत्तर दिया । हालाँकि, इसे अब सीधे (16.10 से बाद में) स्थापित किया जा सकता है।

sudo apt install ocrmypdf

फिर आपको उन टेसरैक्ट भाषाओं को स्थापित करना होगा जिनकी आपको आवश्यकता है।

यह जानने के लिए कि आपके सिस्टम में कौन सी भाषाएँ पहले से हैं, टाइप करें:

tesseract --list-langs

यदि आप एक को याद करते हैं, तो इसे स्थापित करें। उदाहरण के लिए,

sudo apt install tesseract-ocr-spa

अब आप निम्नलिखित कमांड के साथ एक खोज योग्य पीडीएफ (जिसकी गुणवत्ता भिन्न होगी, स्कैन किए गए दस्तावेज़ के आधार पर) का उत्पादन कर सकते हैं

ocrmypdf -l 'spa' old.pdf new.pdf

आप निश्चित रूप से कुछ अतिरिक्त विकल्पों के लिए इसके मैन पेज की जांच कर सकते हैं।


मेरा उत्थान है सर!
don.joey

4

pdfsandwichबिल्कुल यह काम करता है। मुझे पता नहीं था कि सॉफ़्टवेयर केंद्र में कोई पैकेज प्रदान किया गया है, लेकिन मैं प्रोजेक्ट वेबसाइट पर इसके लिए उबंटू डिब पैकेज प्रदान कर रहा हूं (देखें http://www.tobias-elze.de/pdfsandwich/ विवरण के लिए) वर्तमान में सबसे हाल का संस्करण (0.1.2) शामिल है, जो अभी तक किसी भी सॉफ्टवेयर केंद्र में होने की संभावना नहीं है।

यदि आपके पास स्कैन की गई फ़ाइल है scanned_file.pdf, तो बस कॉल करें

pdfsandwich scanned_file.pdf

जो scanned_file_ocr.pdfस्कैन किए गए पृष्ठों में जोड़े गए मान्यता प्राप्त पाठ के साथ फाइल उत्पन्न करता है ।

अधिकांश मौजूदा समाधानों की तुलना में, यह स्थापित किए गए टेसरैक्ट संस्करण को ऑटोडेट करता है और तदनुसार अपने व्यवहार को अनुकूलित करता है। इसके अलावा, यह OCR प्रक्रिया से पहले स्कैन की गई छवियों, जैसे कि डी-स्केविंग या अंधेरे किनारों को हटाने आदि के लिए प्रीप्रोसेसिंग करता है, जो ऑप्टिकल चरित्र मान्यता में काफी सुधार कर सकता है।

अस्वीकरण: मैं का विकास कर रहा हूँ pdfsandwichऔर इसलिए भारी पक्षपाती हूं ।


यह बहुत अच्छा लगता है, लेकिन pptfsandwich वर्जन 0.1.4 को एप्ट-गेट का उपयोग करके इंस्टॉल करना क्यों हर चरित्र को मेरे लिए उबंटू 16.04 पर एक काले आयत में बदल देता है?
वैलेंटाइन

1
आगे के विवरण के बिना उत्तर देना कठिन है। सबसे पहले, मैं उपकरण के अधिक हाल के संस्करण का उपयोग करने की सलाह देता हूं। वर्तमान संस्करण 0.1.6 है। आप वेबसाइट पर उबंटू के लिए डिबेट पैकेज पा सकते हैं। दूसरा, अगर यह मदद नहीं करता है, तो आप विकल्प -verbose का उपयोग करके और विवरण प्राप्त कर सकते हैं और बग रिपोर्ट दर्ज करने के लिए इन विवरणों का उपयोग कर सकते हैं।
टोबियास एल्ज

मेरे लिए मुद्दों की एक जोड़ी। कन्वर्ट: सुरक्षा नीति `पीडीएफ '@ त्रुटि / गठन / अनुमति नहीं द्वारा संचालित एक प्रदर्शन करने का प्रयास / IsCoderAuthorized / 408। तो मैं ImageMagick स्थापित करने के लिए किया था स्रोत से डाउनलोड से imagemagick.org/script/install-source.php तो मैं 'मिला त्रुटि लोड करते समय साझा पुस्तकालयों: libMagickCore-7.Q16HDRI.so.6: नहीं खोल सकता शेयर्ड ऑब्जेक्ट फ़ाइल: "कोई इस तरह के फ़ाइल या निर्देशिका "'और इस समाधान ने' sudo ldconfig / usr / local / lib 'इमेजमैकिक संस्करण को चलाकर काम किया, जो 7.0.8-56 को' आइडेंट -version 'द्वारा मिला है।
पियर्सली

यदि आप जोड़तोड़ या trimming pdfs पर योजना बनाते हैं तो ये बर्तन जोड़ने लायक हो सकते हैं। 1. pdfshuffler बाएँ और दाएँ पृष्ठों (2 पक्षीय मूल के) को विभाजित करने के लिए 2. pdftk pdf श्रृंखला pdftk (एक जार फ़ाइल के रूप में) का उपयोग करके फ़ाइल को समान और विषम पृष्ठों में अलग से विभाजित करें: 4 से पृष्ठों को ट्रिम करने के लिए pdfquench - मुझे gir1 की भी आवश्यकता थी। 2-गोकाँवास -२.० gir1.2-poppler-0.18 पायथन-पाइगोकोनवास python-poppler python-pypdf2। pdfsandwich ने एक इलाज किया, फ़ाइल का आकार 10X तक घटा दिया। धन्यवाद। Ubuntu 19.04 भी विभाजित करने और विलय करने के लिए pdfsam, डाउनलोड करने के बाद जावा जार फ़ाइल के रूप में चलाएं
पियर्सली

0

OCRfeeder में एक बग है

/usr/lib/python2.7/dist-packages/reportlab/pdfgen/textobject.py

पंक्ति 436 पढ़नी चाहिए:

            lines = asUnicode(stuff).strip().split('\n')
# bug here, was:
#            lines = '\n'.split(asUnicode(stuff).strip())

यह बदल गया है और यह मेरे लिए काम किया


0

OS: उबंटू 18.04

सबसे पहले, इसके tesseract-ocrसाथ स्थापित करें:

apt-cache show tesseract-ocr
sudo apt-get update && sudo apt-get upgrade
apt-get install tesseract-ocr --print-uris
apt-get install tesseract-ocr
sudo !!

यदि आप टेसरैक्ट के साथ अंग्रेजी के अलावा किसी अन्य भाषा का उपयोग करने जा रहे हैं, तो आपको संबंधित लैगेज पैकेज स्थापित करना होगा। पुर्तगाली के लिए उदाहरण के लिए, आपको करने की आवश्यकता होगी:

sudo apt-get install tesseract-ocr-por

अन्यथा आपको त्रुटि मिलेगी:

Error opening data file /usr/share/tesseract-ocr/4.00/tessdata/por.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your 
"tessdata" directory.
Failed loading language 'por'
Tesseract couldn't load any languages!
Could not initialize tesseract.

यदि आप Google "tesseract PDF" करते हैं, तो आप शायद इसे कुछ पुरानी पोस्ट पाएंगे । हालाँकि, यह आपको कुछ उपयोगी संकेत देता है। आपको सबसे पहले अपनी .pdfफाइल को एक में बदलना होगा .tiff। Daud:

convert -density 125 originalfile.pdf -depth 8 -alpha Off newfile.tiff

यदि, पुरानी पोस्ट में, आप जोड़ना भूल जाते हैं alpha -Off, तो आपको निम्न त्रुटि मिलेगी:

Tesseract Open Source OCR Engine v4.0.0-beta.1 with Leptonica
Error in pixReadFromTiffStream: spp not in set {1,3,4}

अब आप अंतिम कमांड चला सकते हैं। विशेष स्थिति में कि आपका मूल PDF पुर्तगाली में है, आपको इस आदेश की आवश्यकता होगी:

tesseract -l por newfile.tiff output pdf 

उत्पन्न फ़ाइल नाम दिया जाएगा output.pdf। यदि, उदाहरण के लिए, आपका PDF फ़्रेंच में है, तो आप संबंधित को स्थापित करने के बाद tesseract-ocr-fra, आप चलेंगे:

tesseract -l fra newfile.tiff output pdf 

और वांछित फ़ाइल होगी, फिर से output.pdf,।


0

मुझे भी यही समस्या थी इसलिए मैंने इसे सप्ताहांत में लिखा। इसे आजमा कर देखें; यह बहुत अच्छा काम करता है! यह एक साधारण आवरण है tesseract। यह pdftoppmएक पीडीएफ को TIFF फ़ाइलों के एक समूह में परिवर्तित करने के लिए उपयोग करता है, फिर यह tesseractउन पर OCR (ऑप्टिकल कैरेक्टर रिकॉग्निशन) करने के लिए उपयोग करता है और आउटपुट के रूप में खोज योग्य पीडीएफ का उत्पादन करता है। स्क्रिप्ट पूरा होने पर सभी मध्यवर्ती अस्थायी फ़ाइलें स्वचालित रूप से हटा दी जाती हैं।

स्रोत कोड: https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

स्थापित करने और उपयोग करने के निर्देश pdf2searchablepdf:

11 नवंबर 2019 को उबंटू 18.04 पर परीक्षण किया गया।

इंस्टॉल:

git clone https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF.git
./PDF2SearchablePDF/install.sh
sudo apt update
sudo apt install tesseract-ocr

उपयोग:

pdf2searchablepdf mypdf.pdf

अब आपके पास mypdf_searchable.pdf नामक एक पीडीएफ होगा , जिसमें खोज योग्य पाठ शामिल है!

किया हुआ। रैपर में कोई अजगर निर्भरता नहीं है, क्योंकि यह वर्तमान में पूरी तरह से बैश में लिखा है।

संदर्भ या संबंधित संसाधन:

  1. PDF2SearchablePDF : https://github.com/ElectricRCAircraftGuy/PDF2SeartPDF
  2. एक पाठ खोज योग्य पीडीएफ में एक पीडीएफ कैसे चालू करें?
  3. सबसे अच्छा, सबसे सरल ओसीआर समाधान क्या है?
  4. एक पीडीएफ से एम्बेडेड छवियों को निकालना
  5. pdfsandwich : वैकल्पिक सॉफ्टवेयर आवरण जो मैंने अभी खोजा है, वह भी जांचने लायक है! http://www.tobias-elze.de/pdfsandwich/
  6. /unix/301318/how-to-ocr-a-pdf-file-and-get-the-text-stored-within-pdf/551526#551526
  7. [कैसे पीडीएफ के साथ छवियों का एक गुच्छा में बदलने के लिए pdftoppm] एक पीडीएफ से एम्बेडेड छवियों को निकालने
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.