From 674ff5de8daa9e7cedcee4d01992fa2b972cd05b Mon Sep 17 00:00:00 2001 From: Stefan Hagen Date: Tue, 8 Aug 2017 14:03:34 +0200 Subject: [PATCH] New parameter --defaultcrop to define genmeta crop factor --- README.md | 5 +++-- pdfstitch | 33 +++++++++++++++++++-------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 0cb870d..1964db5 100644 --- a/README.md +++ b/README.md @@ -30,10 +30,11 @@ On FreeBSD, you can install them with: 1. Run `pdfstitch` on your input PDF: - `./pdfstitch [--genmeta] foobar.pdf` + `./pdfstitch [--genmeta] [--defaultcrop=0.9] foobar.pdf` This will generate a YAML file called `foobar.pdf.stitch`. Edit this file according to the desired output. - This is also the default action if called with a PDF. + This is also the default action if called with a PDF. Per default 10% (factor 0.9) is applied as crop factor. + You can adjust this value with the --defaultcrop parameter. 2. Optional: Generate a preview and/or cropped PDF: `./pdfstitch --preview foobar.pdf.stitch` diff --git a/pdfstitch b/pdfstitch index 4c151e1..eb82b62 100755 --- a/pdfstitch +++ b/pdfstitch @@ -16,6 +16,7 @@ my $genmeta = ''; my $preview = ''; my $crop = ''; my $stitch = ''; +my $defaultcrop = '0.9'; Getopt::Long::Configure("bundling"); @@ -23,16 +24,17 @@ Getopt::Long::Configure("bundling"); my $usage = < -Usage: $0 [-hgpcs] [--genmeta] [--preview] [--crop] [--stitch] {PDF file|.stitch file} +Usage: $0 [-hgpcs] [--genmeta] [--defaultcrop=] [--preview] [--crop] [--stitch] {PDF file|.stitch file} - -h, --help Display this message - -g, --genmeta Generate .stitch file for stitching based on given PDF - (default when called with a PDF) - -p, --preview Generate preview PDF containing overlays to analyze - cropping - -c, --crop Generate cropped PDF according to given .stitch - -s, --stitch Generate stitched PDF - (default when called with a .stitch file) + -h, --help Display this message + -g, --genmeta Generate .stitch file for stitching based on given PDF + (default when called with a PDF) + -d, --defaultcrop=0.9 Set default crop factor for genmeta (defaults to 0.9) + -p, --preview Generate preview PDF containing overlays to analyze + cropping + -c, --crop Generate cropped PDF according to given .stitch + -s, --stitch Generate stitched PDF + (default when called with a .stitch file) pdfstitch is free software under the GNU AGPL version 3. See LICENSE for details. ENDUSAGE @@ -41,6 +43,7 @@ GetOptions ( 'h|help' => \$help, 'g|genmeta' => \$genmeta, + 'd|defaultcrop=s' => \$defaultcrop, 'p|preview' => \$preview, 'c|crop' => \$crop, 's|stitch' => \$stitch @@ -48,7 +51,9 @@ GetOptions die $usage if $help; -die "--genmeta can not be combined with other actions!\n" if($genmeta and ($preview or $crop or $stitch)); +die "--genmeta can only be combined with --defaultcrop!\n" if($genmeta and ($preview or $crop or $stitch)); + +die "--defaultcrop can only be combined with --genmeta!\n" if($defaultcrop and ($preview or $crop or $stitch)); die "No input file specified!\n" unless $ARGV[0]; @@ -103,10 +108,10 @@ if($genmeta) my $meta = { input => basename($infile), - x => (($urx - $llx)*0.1)/2, - y => (($ury - $lly)*0.1)/2, - width => ($urx - $llx)*0.9, - height => ($ury - $lly)*0.9, + x => (($urx - $llx)*(1-$defaultcrop))/2, + y => (($ury - $lly)*(1-$defaultcrop))/2, + width => ($urx - $llx)*$defaultcrop, + height => ($ury - $lly)*$defaultcrop, columns => int(sqrt($pdf->pages)), rows => int(sqrt($pdf->pages)), pageorder => [(1 .. $pdf->pages)], -- 2.39.5