লিনাক্সের পিডিএফ থেকে কীভাবে ওসিআর দিয়ে পাঠ্য নিষ্কাশন করবেন?


43

আমি কীভাবে পিডিএফ থেকে পাঠ্য নিষ্কাশন করব যা একটি সূচক দিয়ে তৈরি করা হয়নি? এটি সমস্ত পাঠ্য, তবে আমি কোনও কিছুই অনুসন্ধান বা নির্বাচন করতে পারি না। আমি কুবুন্টু চালাচ্ছি, এবং ওকুলারের এই বৈশিষ্ট্যটি নেই।


উত্তর:


25

আমি কুনিফর্ম ওসিআর সিস্টেমের বিএসডি-লাইসেন্সযুক্ত লিনাক্স বন্দর দিয়ে সাফল্য পেয়েছি ।

কোনও বাইনারি প্যাকেজ উপলভ্য বলে মনে হচ্ছে না, সুতরাং আপনার এটি উত্স থেকে তৈরি করা দরকার। অবশ্যই কোনও ইনপুট চিত্রের ফর্ম্যাটটির সমর্থন পাওয়ার জন্য ইমেজম্যাগিক সি ++ গ্রন্থাগারগুলি ইনস্টল করা আছে তা নিশ্চিত করুন (অন্যথায় এটি কেবল বিএমপি গ্রহণ করবে)।

এটি একটি সংক্ষিপ্ত README ফাইল বাদে মূলত অননুমোদিত বলে মনে হচ্ছে, আমি ওসিআর ফলাফলগুলি বেশ ভাল পেয়েছি। এটি সম্পর্কে দুর্দান্ত বিষয়টি হ'ল এটি ওসিআর পাঠ্যের জন্য এইচওসিআর ফর্ম্যাটে অবস্থানের তথ্য আউটপুট করতে পারে , যাতে পিডিএফ ফাইলের একটি লুকানো স্তরে পাঠ্যটিকে সঠিক অবস্থানে রেখে দেওয়া সম্ভব হয়। আপনি "অনুসন্ধানযোগ্য" পিডিএফ তৈরি করতে পারেন যা থেকে আপনি পাঠ্যটি অনুলিপি করতে পারেন।

আমি মূল চিত্র-কেবল পিডিএফ এবং ওসিআর ফলাফলের বাইরে পিডিএফগুলি পুনরায় তৈরি করতে hocr2pdf ব্যবহার করেছি । দুর্ভাগ্যক্রমে, প্রোগ্রামটি বহু-পৃষ্ঠার পিডিএফ তৈরির ক্ষেত্রে সমর্থন করে না বলেই আপনাকে সেগুলি হ্যান্ডেল করার জন্য একটি স্ক্রিপ্ট তৈরি করতে হতে পারে:

#!/bin/bash
# Run OCR on a multi-page PDF file and create a new pdf with the
# extracted text in hidden layer. Requires cuneiform, hocr2pdf, gs.
# Usage: ./dwim.sh input.pdf output.pdf

set -e

input="$1"
output="$2"

tmpdir="$(mktemp -d)"

# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiffg4 -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"

# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
    base="${page%.tiff}"
    cuneiform -f hocr -o "$base.html" "$page"
    hocr2pdf -i "$page" -o "$base.pdf" < "$base.html"
done

# combine the pages into one PDF
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$output" "$tmpdir"/page-*.pdf

rm -rf -- "$tmpdir"

দয়া করে নোট করুন যে উপরের স্ক্রিপ্টটি খুব প্রাথমিক ment উদাহরণস্বরূপ, এটি কোনও পিডিএফ মেটাডেটা ধরে রাখে না।


স্বীকৃতি পদক্ষেপে ত্রুটিগুলি সংশোধন করার জন্য বানান-চেক করার পর্যায়ে যুক্ত করতে এই স্ক্রিপ্টটি উন্নত করার কোনও ধারণা?
Ghankhan Sever

@ গোখন সেভর, আপনি কি ইন্টারেক্টিভ স্পেল-চেকিং যুক্ত করে যেখানে ব্যবহারকারীকে ভুল বানান / অজানা শব্দের প্রতিস্থাপনের জন্য অনুরোধ করা হয়েছে? আমি মনে করি আপনি aspell check --mode=html "$base.html"কিউনিফর্ম চালানোর পরে ঠিক স্ক্রিপ্টের মতো কিছু যুক্ত করে এটি করতে পেরেছিলেন ।
জুলকা মাতিলাইনেন

এটি একটি সমাধান। তবে পাঠ্যের পুরো প্রসঙ্গটি না দেখে সংশোধন করা শক্ত। Ocrfeeder এর মধ্যে অন্তর্নির্মিত ইন্টারফেসটি দেখতে ভাল লাগবে।
Ghankhan Sever

1
যাইহোক, আমি চরিত্রের স্বীকৃতির জন্য পরীক্ষামূলক ব্যবহার করি: কিউনিফর্ম লাইনটি প্রতিস্থাপন করুন: "$ পৃষ্ঠা" "$ বেস" hocr এর সাথে পরীক্ষণ করুন
Sever

1
ছোট সংশোধন: কমপক্ষে ইংরেজী ব্যতীত অন্য ভাষার জন্য টেসারেক্টের লাইনটি এখানে জার্মান (= দেউ) হ'ল: es পরীক্ষক "$ পৃষ্ঠা" "$ বেস" -l দেউ হকার `(অবশ্যই আপনাকে remove` অপসারণ করতে হবে) ।
কেকস ডোজ

14

দেখুন পিডিফুটটেক্সট আপনার পক্ষে কাজ করে কিনা । যদি এটি আপনার মেশিনে না থাকে তবে আপনাকে পপলার-ইউটিস প্যাকেজটি ইনস্টল করতে হবে

sudo apt-get install poppler-utils 

আপনি ব্যবহারের পিডিএফ টুলকিটটিও পেতে পারেন।

পিডিএফ সফ্টওয়্যারের একটি সম্পূর্ণ তালিকা এখানে উইকিপিডিয়াতে।

সম্পাদনা: যেহেতু আপনার ওসিআর দক্ষতা প্রয়োজন , তাই আমি মনে করি আপনাকে অন্য একটি ট্যাক চেষ্টা করতে হবে। (যেমন আমি একটি লিনাক্স পিডিএফ 2 টেক্সট রূপান্তরকারী পাইনি যা ওসিআর করে)।

  • পিডিএফকে একটি ছবিতে রূপান্তর করুন
  • ওসিআর সরঞ্জামগুলি ব্যবহার করে ছবিতে পাঠ্যে স্ক্যান করুন

পিডিএফকে ছবিতে রূপান্তর করুন

  • জিএস: নীচের কমান্ডটি মাল্টিপেজ পিডিএফকে স্বতন্ত্র টিফ ফাইলগুলিতে রূপান্তর করবে।

    gs -SDEVICE = tiffg4 -r600x600 -sPAPERSIZE = চিঠি -SututFile = ফাইল নাম_% 04d.tif -dNOPAUSE -dBATCH - ফাইলের নাম

  • ইমেজম্যাগিক ইউটিলিটিস : ইমেজম্যাগিক ব্যবহার সম্পর্কে সুপারউজার সাইটে অন্যান্য প্রশ্ন রয়েছে যা আপনি রূপান্তর করতে সহায়তা করতে ব্যবহার করতে পারেন।

    রূপান্তর করুন foo.pdf foo.png

ওসিআরের সাহায্যে চিত্রকে টেক্সটে রূপান্তর করুন

ওসিআর সফ্টওয়্যার উইকিপিডিয়া তালিকা থেকে নেওয়া


2
এই প্রোগ্রামটি হস্তাক্ষর লিখিত নথির জন্যও কাজ করে?
আইভো ফ্লিপসে

1
না, আমি মনে করি না এর ওসিআর ক্ষমতা রয়েছে। এটি কেবল পিডিএফ-এ এমবেড করা টেক্সটটি বের করতে পারে। ম্যান পেজ: linux.die.net/man/1/pdftotext
নাগুল

হ্যাঁ, এটি পিডিএফ ডকুমেন্টগুলির জন্য কাজ করে যা ইতিমধ্যে এম্বেড করা পাঠ্যের সাথে আসে। আমার মামলা হ'ল এক যেখানে এটি হয় না।
হেল্ডার এস রিবেইরো

1
@ obvio171 আপনার ক্ষেত্রে ওসিআর পাওয়ার জন্য সবচেয়ে ভাল বিকল্পটি আমি খুঁজে পেতে পারি Added
নাগুল

12

গুগল ডক্স এখন আপনার আপলোড করা চিত্র / পিডিএফ নথিগুলিকে পাঠ্যে রূপান্তর করতে ওসিআর ব্যবহার করবে । আমি এটি দিয়ে ভাল সাফল্য পেয়েছি।

তারা ওসিআর সিস্টেমটি ব্যবহার করছে যা বিশাল Google বই প্রকল্পের জন্য ব্যবহৃত হয় ।

তবে এটি অবশ্যই লক্ষ্য রাখতে হবে যে প্রসেসিংয়ের জন্য কেবলমাত্র 2 এমবি আকারের পিডিএফ গ্রহণ করা হবে।

আপডেট
১. এটি চেষ্টা করার জন্য, একটি ওয়েব ব্রাউজার থেকে গুগল ডক্সে একটি <2MB পিডিএফ আপলোড করুন।
২. আপলোড করা দস্তাবেজটিতে ডান ক্লিক করুন এবং "গুগল ডক্স দিয়ে খুলুন" এ ক্লিক করুন।
... গুগল ডক্স একই নাম সহ নতুন পাঠ্য এবং আউটপুটকে রূপান্তর করবে তবে গুগল ডক্স একই ফোল্ডারে টাইপ করবে।


উত্তরটি সত্যিই উবুন্টু-নির্দিষ্ট নয় তবে আমি আপনাকে সত্যিই ধন্যবাদ জানাতে চাই: ব্রিলিয়ান্ট সমাধান! :)
পিট্টো

এটি সত্যিই সহায়ক ছিল :) আমি গতকাল একটি 50 এমবি ফাইল আপলোড করেছি এবং এটি কার্যকর হয়েছে। দেখে মনে হচ্ছে তারা আকার সীমা বাড়িয়েছে।
গৌরব

2

গেজা কোভাকস একটি উবুন্টু প্যাকেজ তৈরি করেছেন যা মূলত স্ক্রিপ্ট যা hocr2pdfজুকার পরামর্শ অনুসারে ব্যবহার করে , তবে সেটআপ করার জন্য জিনিসগুলিকে কিছুটা দ্রুত করে তোলে।

প্যাকেজের বিবরণ সহ গিজার উবুন্টু ফোরাম পোস্ট থেকে ...

সংগ্রহস্থল যুক্ত করা এবং উবুন্টুতে ইনস্টল করা

sudo add-apt-repository ppa:gezakovacs/pdfocr
sudo apt-get update
sudo apt-get install pdfocr

একটি ফাইলে ওসিআর চলছে

pdfocr -i input.pdf -o output.pdf

কোডটির জন্য গিটহাবের সংগ্রহশালা https://github.com/gkovacs/pdfocr/


2

সবচেয়ে ভাল ও সহজ উপায় হ'ল pypdfocrএটি পিডিএফ পরিবর্তন করে না use

pypdfocr your_document.pdf

শেষে আপনি your_document_ocr.pdfঅনুসন্ধানযোগ্য পাঠ্যের সাহায্যে অন্যভাবে চাইবেন। অ্যাপ্লিকেশনটি চিত্রের মান পরিবর্তন করে না। ওভারলে লেখাটি যুক্ত করে ফাইলের আকারটি কিছুটা বাড়ায়।

3 য় নভেম্বার 2018 আপডেট করুন:

pypdfocr২০১ since সালের পরে আর সমর্থিত নয় এবং মানসিক না হওয়ার কারণে আমি কিছু সমস্যা লক্ষ্য করেছি। ocrmypdf( মডিউল ) একটি অচেনা কাজ করে এবং এটি ব্যবহার করা যেতে পারে:

ocrmypdf in.pdf out.pdf

স্থাপন করা:

pip install ocrmypdf

অথবা

apt install ocrmypdf

1

পিডিএফ বিডস আমার পক্ষে ভাল কাজ করে। এই থ্রেড " স্ক্যান করা চিত্রগুলিকে একটি একক পিডিএফ ফাইলে রূপান্তর করুন " আমাকে উঠিয়ে চলতে লাগল। একটি ব & ব বুক স্ক্যানের জন্য আপনার প্রয়োজন:

  1. পিডিএফ এর প্রতিটি পৃষ্ঠার জন্য একটি চিত্র তৈরি করুন; উপরের জিএস উদাহরণগুলির মধ্যে দুটিতে কাজ করা উচিত
  2. প্রতিটি পৃষ্ঠার জন্য hOCR আউটপুট উত্পন্ন করুন; আমি পরীক্ষামূলক ব্যবহার করেছি (তবে মনে রাখবেন যে কুনিফর্ম আরও ভাল কাজ করছে বলে মনে হচ্ছে)।
  3. ছবি এবং এইচওসিআর ফাইলগুলি একটি নতুন ফোল্ডারে সরান; ফাইলের নামগুলি অবশ্যই অনুরূপ হতে পারে, সুতরাং file001.tif ফাইলের ফাইললিআরএইচটিএমএল, ফাইল002.tif ফাইল002.html ইত্যাদি প্রয়োজন needs
  4. নতুন ফোল্ডারে, চালান

    pdfbeads * > ../Output.pdf
    

এটি অভিজাত ডিরেক্টরিতে কোল্টড, ওসিআর পিডিএফ রাখবে।


1

পরীক্ষামূলক ব্যবহার করে অন্য স্ক্রিপ্ট:

#!/bin/bash
# Run OCR on a multi-page PDF file and create a txt with the
# extracted text in hidden layer. Requires tesseract, gs.
# Usage: ./pdf2ocr.sh input.pdf output.txt

set -e

input="$1"
output="$2"

tmpdir="$(mktemp -d)"

# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiff24nc -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"

# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
    base="${page%.tiff}"
    tesseract "$base.tiff" $base
done

# combine the pages into one txt
cat "$tmpdir"/page-*.txt > $output

rm -rf -- "$tmpdir"

1

এন্টারপ্রাইজ ওসিআর লাইব্রেরি লিনাক্সের বেশিরভাগ সংস্করণে কাজ করে। এটি পিডিএফ ইনপুট এবং অনুসন্ধান পিডিএফ হিসাবে আউটপুট নিতে পারে।

এটি একটি বাণিজ্যিক প্যাকেজ। লিনাক্সের জন্য এন্টারপ্রাইজ ওসিআর এসডিকে ফ্রি অনুলিপিটি ডাউনলোড করুন এবং এটি এখানে চালান:

aocr.sh input.pdf pdf

দ্রষ্টব্য: স্বতন্ত্র 'পিডিএফ' আউটপুট ফর্ম্যাট নির্দিষ্ট করে।

দাবি অস্বীকার: আমি উপরের পণ্য উত্পাদনকারী সংস্থার একজন কর্মচারী।


এই পোস্টে বলা হয়েছে যে পণ্যটি এটি করতে পারে, এটি একটি সহায়ক ইঙ্গিত যা একটি মন্তব্য হিসাবে পোস্ট করা উচিত। এটি কীভাবে সমস্যার সমাধান করবেন তা উত্তর দেয় না, যা উত্তরগুলি করা উচিত। আপনি কীভাবে নিজের উত্তরটি প্রসারিত করতে পারেন যাতে কেউ কীভাবে সমাধানটি করতে পারে তা দেখতে পায়?
ফিক্সার 1234

ধন্যবাদ @ ফিক্সার 1234, কমান্ডটি অন্তর্ভুক্ত করার জন্য আমি এটি সম্পাদনা করেছি।
17 এপ্রাইজ সমর্থন 12'15

0

পিডিএফ ফাইল থেকে পাঠ্য সামগ্রী বের করতে অ্যাপাচি পিডিএফক্স চেষ্টা করুন । পিডিএফ ফাইলগুলিতে এমবেড করা চিত্রগুলির ক্ষেত্রে লিনাক্সের পাঠ্য নিষ্কাশনের জন্য ABBYY FineReader ইঞ্জিনিয়ার CLI ব্যবহার করুন।


আমি ABBYY OCR কে অত্যন্ত করুণাময় বলে মনে করেছি, আমি চেষ্টা করেছি এমন একটি স্বল্পতম সক্ষম প্রোগ্রাম capable কোনও মিশ্র হরফ, মিশ্রিত আকার, জটিল বিন্যাস, গ্রাফিক্স, লাইন ইত্যাদি সহ আদর্শ বডি টেক্সট আকারের স্ট্যান্ডার্ড ফন্ট পাঠ্যের সত্যিকারের পরিষ্কার চিত্রের সাথে এটি পর্যাপ্ত হতে পারে
ফিক্সার 1234

ইয়া আমি চেষ্টাও করেছি, এটা ঠিক আছে। আমার কিছু সন্দেহ আছে, আপনি কি আমাকে সাহায্য করতে পারেন?
প্রবীণ কুমার কেআর

আপনার যা প্রয়োজন তা এখানে অন্য উত্তরে coveredাকা না থাকলে করণীয় হ'ল সর্বোত্তম জিনিসটি আপনার নিজের প্রশ্ন জিজ্ঞাসা করা। এটি এটি অনেক চোখের সংস্পর্শে আসবে।
ফিক্সার 1234
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.