pod2usage(join("\n",@USAGE_ERRORS)) if @USAGE_ERRORS;
+sub is_bitonal {
+ my $file = shift;
+ open(my $fh,'-|','identify',$file) or die "Unable to execute identify $file: $!";
+ local $/;
+ my $res = <$fh>;
+ if ($res =~ /Bilevel/) {
+ return 1;
+ }
+ return 0;
+}
+
my @djvu_files;
for my $tiff (@ARGV) {
my $base_name = $tiff;
$base_name =~ s/\.[^\.]+$//;
- system('cjb2',$tiff,$base_name.'.djvu');
+ if (is_bitonal($tiff)) {
+ system('cjb2',$tiff,$base_name.'.djvu');
+ } else {
+ system('convert',$tiff,$base_name.'.ppm');
+ system('c44','-dpi',600,$base_name.'.ppm',$base_name.'.djvu');
+ }
system('tesseract',$tiff,$base_name.'.ocr');
my $fh = IO::File->new($base_name.'.ocr.txt','r');
my $wf = IO::File->new($base_name.'.txt','w');