एक पीडीएफ में ओसीआर जानकारी जोड़ना


28

मेरे पास एक दस्तावेज़ की अच्छी गुणवत्ता स्कैन है; इस तरह के स्कैन पीडीएफ प्रारूप में है।

मैं पीडीएफ में ocr जानकारी कैसे जोड़ सकता हूं, ताकि यह खोज योग्य हो जाए? खोज करने से मेरा मतलब है कि लक्ष्य यह है कि जब पीडीएफ को ईवियन के साथ देखा जाता है, तो सीटीआरएल-एफ वास्तव में मुझे पीडीएफ सामग्री में खोज करने की अनुमति देता है।


डुप्लिकेट? askubuntu.com/questions/16268/…
जैकब

4
@ जकोब, मुझे नहीं लगता कि यह कोई धोखा है, हम अलग-अलग चीजें पूछ रहे हैं। दूसरा प्रश्न कुछ पीडीएफ से पाठ निकालने के बारे में है (अर्थात संबंधित txt फ़ाइलों को उत्पन्न करना), जबकि मेरा प्रश्न पीडीएफ को संशोधित करने के लिए है ताकि ocr जानकारी जोड़ सकें और पीडीएफ़ रीडर में खोज कार्य कर सकें। मैं प्रश्न स्पष्ट करूँगा।
fdierre

दस्तावेज़ को स्कैन करने के लिए आपने कैसे और क्या उपयोग किया?
मिच

@ मिच मैं अपने कार्यालय रिको अफिकियो एमपी-सी 2500 प्रिंटर / कॉपियर / स्कैनर का उपयोग करता था, जिसमें एक बहुत अच्छा दस्तावेज़ फीडर है। :-)
fdierre

स्कैनिंग और / या ओसीआर सॉफ्टवेयर?
मिच

जवाबों:


21

pdfsandwich

जो आप चाहते हैं और उबंटू डिबेट पैकेज प्रदान करता है। यह ओसीआर इंजन के रूप में टेसरैक्ट का उपयोग करता है। निम्न कॉल आपके स्कैन किए गए पीडीएफ में पाठ परत जोड़ता है:

pdfsandwich scanned.pdf

निम्नलिखित ऐसा ही करता है लेकिन किसी अन्य भाषा (ISO 639-2 कोड, डाउनलोड tesseract-ocr-LANGCODEपैकेज) और लेआउट सेट करने के साथ:

pdfsandwich  -verbose -lang spa -layout single scanned.pdf

यदि आपको कोई त्रुटि मिलती है तो कृपया Sourceforge से अंतिम संस्करण डिब डाउनलोड करें

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


6
यह वास्तव में बहुत अच्छा है, धन्यवाद। हालांकि, यह छवियों को संशोधित करने के लिए प्रकट होता है, ऐसा लगता है कि यह उन पर या कुछ और पर एक अनिश्चित मुखौटा चलाता है। क्या छवियों को छोड़ने का कोई तरीका है जैसा वे पहले थे? मेरे विशेष उदाहरण में, फ़िल्टर ने कुछ समीकरणों में कुछ अंशों से बार को हटाने में भी कामयाबी हासिल की। बाकी सब कुछ बहुत अच्छी तरह से काम करता है ...
naught101

खराब गुणवत्ता पैकेज: `Lintian /tmp/pdfsandwich_0.1.3_amd64.deb: E: pdfsandwich: control-file-bad-अनुमतियों के लिए md5sums 0664! = 0644 E: pdfsandwich: control-file-has-bad-owner के परिणाम देखें md5sums james / james! = root / root E: pdfsandwich: wrong-file-owner-uid-or-gid usr / 1000/1000 E: pdfsandwich: गलत-फाइल-ओनर-uid-or-gid usr / bin / 1000/1000 1000 E: pdfsandwich: wrong-file-owner-uid-or-gid usr / bin / pdfsandwich ...
AB

एसएफ से अंतिम संस्करण डिब डाउनलोड करें । यदि आपको अंत में कोई त्रुटि मिलती है तो वह भूत-प्रेत (v0.1.4) से संबंधित हो सकती है। अब v0.1.6 का उपयोग करता है pdfunite
पाब्लो ए

1
@PabloBianchi का उपयोग करने के लिए OCRed पाठ के मैनुअल प्रूफरीडिंग का कोई तरीका है pdfsandwitch? मैं कुछ स्वीडिश दस्तावेजों के साथ ऐसा कर रहा हूं, और यह अच्छी तरह से काम करता है, कुछ गलत वर्तनी को छोड़कर (शायद मूल के फ़ॉन्ट के कारण) जो इसे ठीक करना आसान होगा यदि यह एक पाठ फ़ाइल थी, लेकिन मैं परिणामी पीडीएफ में यह कैसे कर सकता हूं ?
zrajm

@ ज़राज़म आप OCR कदम पर बेहतर पहचान के लिए कुछ pdfsandwich पैरामीटर्स का उपयोग कर सकते हैं । एक पीडीएफ छवि के पीछे छिपे हुए पाठ को संपादित करने के लिए आप बस लिबरऑफिस ड्रा, इंकस्केप या किसी पीडीएफ संपादन उपकरण के साथ पाठ बॉक्स परत को संपादित कर सकते हैं । यदि आपको एक बेहतर तरीका मिल जाए तो कृपया इसे यहाँ पोस्ट करें। दह ज जीमज!
पाब्लो ए


4

मुझे एक गैर-आदर्श समाधान मिला, लेकिन एक बहुत प्रभावी।

मैं शराब के माध्यम से पीडीएफ एक्स-चेंज व्यूअर का उपयोग करता हूं । इसमें एक ओसीआर सुविधा है जो मौजूदा छवि-आधारित पीडीएफ में एक पाठ परत जोड़ता है।

इस प्रकार आप इस अदृश्य परत से पाठ को खोज और कॉपी कर सकते हैं।

यहाँ छवि विवरण दर्ज करें


2

कमांड लाइन समाधान के लिए, आप pdfocr का उपयोग कर सकते हैं ।

संक्षेप में, सॉफ़्टवेयर स्थापित करें:

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:gezakovacs/pdfocr
$ sudo apt-get update
$ sudo apt-get install pdfocr

फिर pdfocr चलाएं:

$ pdfocr -i scanned.pdf -o scanned.with.search.pdf

यह मेरे लिए Ubuntu 12.04 LTS पर काम किया।


6
यहाँ Github: github.com/gkovacs/pdfocr । लेकिन इसका एक ही मुद्दा है pdfsandwich, क्योंकि यह PDFs को हाइपर इमेजेस को संशोधित / संपीड़ित करता है, जो मूल रूप से कुछ मूल छवि सूचनाओं को नष्ट करता है।
jmiserez

2

एक समाधान जो आसानी से लागू होने योग्य है और इनपुट फ़ाइल के एक ही गुणवत्ता के साथ आउटपुट पीडीएफ प्रदान करता है, जो उचित आकार है, OCRmyPDF है:

https://github.com/jbarlow83/OCRmyPDF


मुझे आपकी पटकथा के साथ उत्कृष्ट परिणाम मिले हैं। Geza Kovacs द्वारा pdfocr के विपरीत, यह पुस्तकालयों में किसी भी अतिरिक्त (हार्ड संकलन करने के लिए कठिन) की आवश्यकता नहीं है। धन्यवाद!
मैक्सिम

0

यह मेरा त्वरित और गंदी समाधान ImageMagick के आधार पर है convert, tesseract, parallelऔर pdftk(सभी Debian- आधारित वितरणों पर उपलब्ध है)। यह काफी हद तक इस ब्लॉग पोस्ट पर आधारित है ।

#!/bin/sh -ex

density=${2:-"300"} # default to 300 DPI if 2nd parameter is not given

convert -monitor -density "$density" "$1" -monochrome -compress lzw -alpha deactivate page_%05d.tif
parallel --bar "tesseract {} {.} pdf 2>/dev/null" ::: page_*.tif
pdftk page_*.pdf cat output "${1%.*}-ocred.pdf" compress

# Cleanup temp files
rm page_?????.tif page_?????.pdf

0

पीपीएम फ़ाइलों के साथ पूरी निर्देशिका के लिए आप इस स्क्रिप्ट ppm2ocrpdf.sh का उपयोग कर सकते हैं

#!/bin/sh

mkdir .pdf
for f in *.ppm; do
    echo " Running convert -compress JPEG -quality 88 "$f" -page a4 "$f"ppm.pdf"
    convert -compress JPEG -quality 88 "$f" -page a4 "$f"ppm.pdf
    echo " Running tesseract -l deu "$f" "$f" pdf"
    tesseract -l deu "$f" "$f" pdf
    echo " Running pdftk "$f".pdf cat output ./.pdf/"$f"ocr.pdf"
    pdftk "$f".pdf cat output ./.pdf/"$f"ocr.pdf
    echo " Running rm "$f"ppm.pdf"
    rm "$f"ppm.pdf
    echo " Running rm "$f".pdf"
    rm "$f".pdf
done
echo " Running pdftk *.pdf cat output ../outdocument.pdf"
pdftk ./.pdf/*.pdf cat output outOcrDocument.pdf
echo " Running rm ./.pdf/*.pdf"
rm ./.pdf/*.pdf
echo " Running rmdir .pdf"
rmdir .pdf
echo "Done"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.