+else
+{
+ my $meta = YAML::LoadFile($infile);
+ my $inpdf = PDF::API2->open($meta->{input});
+
+ if($preview or $crop)
+ {
+ my $previewpdf = PDF::API2->new() if $preview;
+ my $croppedpdf = PDF::API2->new() if $crop;
+ my $transparency;
+
+ if($preview)
+ {
+ $transparency = $previewpdf->egstate();
+ $transparency->transparency(0.8);
+ }
+
+ foreach my $pagenr (@{$meta->{pageorder}})
+ {
+ next if $pagenr eq "blank";
+
+ my $llx = $meta->{x} + $meta->{pageoffsets}->{$pagenr}->{x};
+ my $lly = $meta->{y} + $meta->{pageoffsets}->{$pagenr}->{y};
+ my $urx = $meta->{width};
+ my $ury = $meta->{height};
+
+ if($preview)
+ {
+ my $previewpage = $previewpdf->import_page($inpdf, $pagenr, 0);
+ my $previewcontent = $previewpage->gfx();
+ $previewcontent->egstate($transparency);
+ $previewcontent->rect($llx, $lly, $urx, $ury);
+ $previewcontent->fillcolor('%F000');
+ $previewcontent->fill();
+ }
+ if($crop)
+ {
+ my $croppage = $croppedpdf->import_page($inpdf, $pagenr, 0);
+ $croppage->cropbox($llx, $lly, $llx + $urx, $lly + $ury);
+ }
+ }
+
+ $previewpdf->saveas(basename($infile, ('.pdf.stitch', '.stitch')) . '-preview.pdf') if $preview;
+ $croppedpdf->saveas(basename($infile, ('.pdf.stitch', '.stitch')) . '-cropped.pdf') if $crop;
+ }