এক বছর আগে এখানে এখানে আলোচনা করা হয়েছে:
অনেক পিডিএফ ফাইলের জন্য ব্যাচের ওসিআর (ইতিমধ্যে ওসিআর করা হয়নি)?
ওসিআর পিডিএফগুলির ব্যাচ করার কোনও উপায় কি ইতিমধ্যে ওসিআর করা হয়নি? এটি আমার ধারণা, দুটি বিষয় নিয়ে কাজ করার বর্তমান অবস্থা:
ব্যাচের ওসিআর পিডিএফ
উইন্ডোজ
অ্যাক্রোব্যাট - এটি সর্বাধিক সরল ওসিআর ইঞ্জিন যা ওসিআর ব্যাচ করবে b একমাত্র সমস্যাটি মনে হয় 1) এটি ইতিমধ্যে ওসিআর করা ফাইলগুলিকে এড়িয়ে যাবে না 2) এটিতে কিছু পিডিএফ (কিছু পুরানো) ফেলে দেওয়ার চেষ্টা করুন এবং এটি ক্রাশ দেখুন sh এটা একটু বগি। এটি প্রতিটি ত্রুটি এটির দিকে সতর্ক করে দেবে (যদিও আপনি সফ্টওয়্যারকে অবহিত না করতে বলতে পারেন। তবে আবার, এটি নির্দিষ্ট ধরণের পিডিএফগুলিতে মারাত্মকভাবে মারা যায় যাতে আপনার মাইলেজটি আলাদা হতে পারে।
অ্যাবিবিওয়াই ফাইনআডার (ব্যাচ / স্ক্যানস্যাপ), ওমনিপেজ - এগুলি মানুষের কাছে পরিচিত কিছু সফ্টওয়্যারগুলির মধ্যে সবচেয়ে খারাপ প্রোগ্রামে পরিণত হয়েছে। আপনি যদি একই নামের সাথে পিডিএফগুলি সংরক্ষণ করার জন্য ব্যাচের ওসিআর সম্পূর্ণরূপে স্বয়ংক্রিয় করতে (কোনও প্রম্প্টিং নয়) তা জানতে পারেন তবে দয়া করে এখানে পোস্ট করুন। এটি কোথাও ব্যর্থ হতে পারে এমন একমাত্র সমাধান বলে মনে হচ্ছে - নামকরণ, পুরোপুরি স্বয়ংক্রিয় না হওয়া ইত্যাদি best সর্বোপরি, এটি করার একটি উপায় রয়েছে তবে ডকুমেন্টেশন এবং প্রোগ্রামিংটি এতই ভয়াবহ যে আপনি কখনই খুঁজে পাবেন না।
ABBYY FineReader ইঞ্জিন , ABBYY রিকগনিশন সার্ভার - এগুলি সত্যই আরও এন্টারপ্রাইজ সমাধান, আপনি সম্ভবত কোনও ফোল্ডার চালানোর জন্য অ্যাক্রোব্যাট পেয়ে চেষ্টা করে ঝামেলা পেরিয়ে প্রোগ্রামটি ক্র্যাশ করার চেয়ে পিডিএফগুলি ছাড়ে যা ভাল হবে better মূল্যায়ন সফ্টওয়্যার ইনস্টল করতে (আপনি সাধারণ একটি সাধারণ ব্যবহারকারী হিসাবে ধরে নিচ্ছেন)। ছোট ব্যবহারকারীর জন্য ব্যয় প্রতিযোগিতামূলক বলে মনে হচ্ছে না।
** অটোবাহান ডিএক্স ওয়ার্কস্টেশন ** এই পণ্যটির ব্যয়টি এতটা নিষিদ্ধ, আপনি সম্ভবত অ্যাক্রোব্যাটের 6 টি অনুলিপি কিনতে পারবেন। আসলেই কোনও শেষ ব্যবহারকারী সমাধান নয়। আপনি যদি কোনও এন্টারপ্রাইজ সেটআপ করেন তবে এটি আপনার পক্ষে উপযুক্ত হতে পারে।
লিনাক্স
- ওয়াচসিআর - আর উন্নত নয় এবং আধুনিক উবুন্টু ডিস্ট্রোজে চালানো মূলত অসম্ভব
- পিডিএফসানডউইচ - আধুনিক উবুন্টু ডিস্ট্রোজে চালানো অসম্ভব অসম্ভব
- ** এবি লিনাক্স ওসিআর ** - এটি স্ক্রিপ্টযোগ্য হওয়া উচিত এবং এর কিছু ভাল ফলাফল বলে মনে হচ্ছে:
http://www.splitbrain.org/blog/2010-06/15-linux_ocr_software_comparison
যাইহোক, এই পৃষ্ঠাটি দ্বারা তারা অন্যান্য চার্জযুক্ত ABBYY পণ্যগুলির মতো আবারও, অ্যাক্রোব্যাট ব্যাচের ওসিআরকে কাজ করার চেষ্টা করার চেয়ে আপনি আরও ভাল হতে পারেন।
** ওক্রেড, জিওসিআর, ওসিআরকোপস, পরীক্ষার, ** - এগুলি কাজ করতে পারে তবে কয়েকটি সমস্যা রয়েছে:
- ওসিআরের ফলাফলগুলি এর মধ্যে কয়েকটি হিসাবে অ্যাক্রোব্যাট হিসাবে বলার মতো দুর্দান্ত নয় (উপরের লিঙ্কটি দেখুন)।
- কোনও প্রোগ্রামই পিডিএফ ফাইল নেয় না এবং পিডিএফ ফাইল আউটপুট দেয়। আপনাকে একটি স্ক্রিপ্ট তৈরি করতে হবে এবং প্রথমে পিডিএফটি বিচ্ছিন্ন করতে হবে এবং প্রতিটিটির উপরে প্রোগ্রামগুলি চালনা করতে হবে এবং তারপরে পিডিএফ হিসাবে ফাইলটি পুনরায় জমা করতে হবে
- একবার আপনি এটি করার পরে, আপনি পেতে পারেন, যেমন আমি করেছি, যে (পরীক্ষক) একটি ওসিআর স্তর তৈরি করে যা উপরের দিকে সরানো হয়। সুতরাং আপনি যদি '' শব্দটি অনুসন্ধান করেন, আপনি তার পাশের শব্দের অংশটির একটি হাইলাইট পাবেন।
ব্যাচ ডিজেভি → পিডিএফ এ রূপান্তর করুন - এটি সন্ধান করেন নি, তবে এটি একটি ভয়ঙ্কর গোল-আ-বাউট সমাধানের মতো মনে হচ্ছে।
অনলাইন
- PDFcubed.com - আসুন, আসলে একটি ব্যাচের সমাধান নয়।
- এবিওয়াই ক্লাউড ওসিআর - নিশ্চিত না যে এটি সত্যই কোনও ব্যাচের সমাধান কিনা, কোনওভাবেই, আপনাকে পৃষ্ঠাটি প্রদান করতে হবে এবং এটি বেশ মূল্যবান হতে পারে।
অ-ওসিআরবিহীন পিডিএফ সনাক্তকরণ
এটি একটি সামান্য সহজ সমস্যা, এটি লিনাক্সে সহজেই সমাধান করা যেতে পারে এবং উইন্ডোজ থেকে খুব কম। pdffont
কোন ফাইল-ওসিআর হয় না তা নির্ধারণ করতে হরফ এম্বেড করা হয়েছে কিনা তা সনাক্ত করে আমি পার্ল স্ক্রিপ্ট কোড করতে সক্ষম হয়েছি ।
বর্তমান "সমাধান"
নন-ওসিআরড পিডিএফগুলি সনাক্ত করার জন্য একটি স্ক্রিপ্ট ব্যবহার করুন (যাতে আপনি হাজার হাজার ওসিআর পিডিএফ পুনরায় চালু করবেন না) এবং এগুলি একটি অস্থায়ী ডিরেক্টরিতে (সঠিক ডিরেক্টরি ট্রি ধরে রাখা) অনুলিপি করুন এবং তারপরে উইন্ডোজে অ্যাক্রোব্যাট ব্যবহার করুন এই আশা করে যে আরও ছোট ব্যাচ ক্রাশ হবে না।
একই স্ক্রিপ্টটি ব্যবহার করুন তবে ওসিআর গুণমানকে ঝুঁকির সাথে সঠিকভাবে কাজ করতে একটি লিনাক্স ওসিআর সরঞ্জাম পান।
আমি মনে করি যে আমি # 1 চেষ্টা করতে যাচ্ছি, আমি লিনাক্স ওসিআর সরঞ্জামগুলির ফলাফল সম্পর্কে খুব বেশি চিন্তিত (আমি মনে করি না যে কারও তুলনা করা হয়েছে) এবং ফাইলগুলি পৃথকভাবে ভেঙে আবার এক সাথে সেলাই করে মনে হচ্ছে অযৌক্তিক কোডিং থাকুন যদি অ্যাডোব আসলে দম বন্ধ না করে ওসিআর কোনও ডিরেক্টরিকে ব্যাচ করতে পারে।
আপনি যদি একটি সম্পূর্ণ নিখরচায় সমাধান চান তবে আপনাকে নন-ওসিআরড পিডিএফগুলি সনাক্ত করার জন্য একটি স্ক্রিপ্ট ব্যবহার করতে হবে (বা কেবল ওসিআরডগুলি দিয়ে পুনরায় পুনরায় চালু করতে হবে) এবং তারপরে চেষ্টা করার জন্য ও ওসিআরের জন্য একটি লিনাক্স সরঞ্জাম ব্যবহার করতে হবে। টিজার্টের সর্বোত্তম ফলাফল রয়েছে বলে মনে হয় তবে আবার উবুন্টুর আধুনিক সংস্করণগুলিতে এই কয়েকটি সরঞ্জাম ভালভাবে সমর্থন করে না তবে আপনি যদি এটি সেট আপ করতে পারেন এবং সমস্যাটি সমাধান করতে পারেন তবে আমার যেখানে ইমেজ স্তরটি টেক্সট-ম্যাচিং লেয়ারের সাথে মেলে না ( পরীক্ষার সাথে) তারপরে আপনার কাছে একটি দুর্দান্ত কার্যক্ষম সমাধান হবে এবং আবার লিনাক্স> উইন্ডোজ।
আপনার কি সম্পূর্ণরূপে স্বয়ংক্রিয়ভাবে ব্যাচ করার , ব্যাচের ওসিআর পিডিএফগুলি , উচ্চ মানের সহ একই নাম রেখে ইতিমধ্যে ওসিআরড ফাইলগুলি এড়িয়ে যাওয়ার কোনও সমাধান সমাধান রয়েছে ? যদি তা হয় তবে আমি সত্যই ইনপুটটির প্রশংসা করব।
অ-ওসিআরড ফাইলগুলিকে একটি অস্থায়ী ডিরেক্টরিতে সরানোর জন্য পার্ল স্ক্রিপ্ট। এই কাজের গ্যারান্টি দিতে পারে না এবং সম্ভবত নতুন করে লেখা দরকার, তবে যদি কেউ এটিকে কাজ করে (ধরে নিলে এটি কাজ করে না) বা আরও ভাল কাজ করে তবে আমাকে জানান এবং আমি এখানে আরও ভাল সংস্করণ পোস্ট করব।
#!/usr/bin/perl
# move non-ocred files to a directory
# change variables below, you need a base dir (like /home/joe/), and a sourcedirectory and output
# direcotry (e.g books and tempdir)
# move all your pdfs to the sourcedirectory
use warnings;
use strict;
# need to install these modules with CPAN or your distros installer (e.g. apt-get)
use CAM::PDF;
use File::Find;
use File::Basename;
use File::Copy;
#use PDF::OCR2;
#$PDF::OCR2::CHECK_PDF = 1;
#$PDF::OCR2::REPAIR_XREF = 1;
my $basedir = '/your/base/directory';
my $sourcedirectory = $basedir.'/books/';
my @exts = qw(.pdf);
my $count = 0;
my $outputroot = $basedir.'/tempdir/';
open( WRITE, >>$basedir.'/errors.txt' );
#check file
#my $pdf = PDF::OCR2->new($basedir.'/tempfile.pdf');
#print $pdf->page(10)->text;
find(
{
wanted => \&process_file,
# no_chdir => 1
},
$sourcedirectory
);
close(WRITE);
sub process_file {
#must be a file
if ( -f $_ ) {
my $file = $_;
#must be a pdf
my ( $dir, $name, $ext ) = fileparse( $_, @exts );
if ( $ext eq '.pdf' ) {
#check if pdf is ocred
my $command = "pdffonts \'$file\'";
my $output = `$command`;
if ( !( $output =~ /yes/ || $output =~ /no/ ) ) {
#print "$file - Not OCRed\n";
my $currentdir = $File::Find::dir;
if ( $currentdir =~ /$sourcedirectory(.+)/ ) {
#if directory doesn't exist, create
unless(-d $outputroot.$1){
system("mkdir -p $outputroot$1");
}
#copy over file
my $fromfile = "$currentdir/$file";
my $tofile = "$outputroot$1/$file";
print "copy from: $fromfile\n";
print "copy to: $tofile\n";
copy($fromfile, $tofile) or die "Copy failed: $!";
# `touch $outputroot$1/\'$file\'`;
}
}
}
}
}