AppleScript C Perl Shell Xcode Other

Processing scanned documents - adjusting the margines

Post Reply
coding / perl     Views: 5Prev .. Next
Processing scanned documents - adjusting the marginesPosted: Sunday, April 21, 2024 [22:34:00] - 1
rootPosted by:rootMember Since:
June 16 2010
Posts: 357
When dealing with scanned documents featuring unconventional margins, adjustments become necessary.
Whether due to scanning errors or formatting inconsistencies, these irregularities can disrupt the readability and presentation of the document.
Processing scanned documents - adjusting the margines
To rectify this issue, one effective solution is to utilize ImageMagick, a powerful command-line tool for image editing and manipulation.
View Code    use strict;
    use warnings;
    use File::Basename qw();
# Name this Perl file as folder where images are stored adding distinct process name as "image_process"
# this way it is easy to get images folder based on file name
# in this case there is no need to hard-code folder names
# program can be run in full or relative file call i.e. perl your.images.image_process.cgi or .pl

my($name, $base, $suffix) = File::Basename::fileparse($0);
$base =~ s/\/+$//;        $name =~ s/\.\w{2,3}$//;
print "Name: $name\nPath: $base\n";

# Remove the file name addition
$name =~ s#\.image_process$##;

# Folder where image files are
my $from = $base.'/'.$name.'.images';

# Get all image files in a folder, adjust file extension to your files
my @all = glob("$from/*.tif");
foreach my $i (@all) {
    # Get the trim values if the image is trimmed
    my $res = `convert $i +repage -trim -format '%[fx:page.width] %[fx:page.x] %[fx:page.width - page.x - w] %[fx:w]' info:`;
    my($width,$left_trim,$right_trim,$new_width) = split(/ /,$res);
        # $width     - width of the image before trim
        # $left_trim     - how many pixels trimmed from image left side
        # $right_trim     - how many pixels trimmed from image right side
        # $new_width     - image width after trim is performed
        # .. do your image processing based on data received
}

Document has to be quite clean in order for this to work, i.e. no punch holes on a side.There's no place like ~
coding / perlPrev .. Next
 
Post Reply
Home - Coding: AppleScript C Perl Shell Xcode Other
Our Telegram Group