]> git.sur5r.net Git - pdfstitch/blob - genpreview
Inital commit
[pdfstitch] / genpreview
1 #!/usr/bin/perl -w
2
3 use strict;
4
5 use File::Basename;
6 use PDF::API2;
7 use YAML;
8
9 my $metafile = $ARGV[0];
10
11 die "Please specify a .pdf.stitch to process!\n" unless defined $metafile;
12 die "Can't open $metafile!\n" unless -r $metafile;
13
14 my $meta = YAML::LoadFile($metafile);
15
16 my $inpdf = PDF::API2->open($meta->{input});
17 my $outpdf = PDF::API2->new();
18
19 my $transp = $outpdf->egstate();
20 $transp->transparency(0.8);
21
22 foreach my $nr (@{$meta->{pageorder}})
23 {
24     print "Generating preview for page $nr...\n";
25     my $page = $outpdf->import_page($inpdf, $nr, 0);
26     my $content = $page->gfx();
27     $content->egstate($transp);
28     my ($llx, $lly, $urx, $ury);
29     $llx = $meta->{x} + $meta->{pageoffsets}->{$nr}->{x};
30     $lly = $meta->{y} + $meta->{pageoffsets}->{$nr}->{y};
31     $urx = $meta->{width};
32     $ury = $meta->{height};
33     $content->rect($llx, $lly, $urx, $ury);
34     $content->fillcolor('%F000');
35     $content->fill();
36 }
37
38 $outpdf->saveas(basename($meta->{input}, '.pdf') . '-preview.pdf');
39