X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=make_djvu;h=17262008693ae6e490340186cbf240e960a96ab6;hb=9e186b40ce36741d375de72ee5def0d8db21da2d;hp=74fe74e2723bedb02c2218af20c0d2aa5be1c973;hpb=d268bfaaa5b152b738aaf7b6a03da559a3e2505d;p=bin.git diff --git a/make_djvu b/make_djvu index 74fe74e..1726200 100755 --- a/make_djvu +++ b/make_djvu @@ -79,11 +79,27 @@ if (not @ARGV) { 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');