X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Fweb%2Fautohandler;h=8ff09966b953143dfd474a4a0d43c66913f47c38;hb=5f3c445b5b9eda482c8098c115a9b5282e55f001;hp=55b9a93695552295b4899d5a52fd0fd5ca4f3651;hpb=f7c3c04f684b0e9cac4518beeece11853ef75109;p=ypp-sc-tools.db-live.git diff --git a/yarrg/web/autohandler b/yarrg/web/autohandler index 55b9a93..8ff0996 100644 --- a/yarrg/web/autohandler +++ b/yarrg/web/autohandler @@ -38,10 +38,19 @@ use CommodsWeb; my $printable= printable($m); -if ($printable eq 'pdf' || $printable eq 'ps') { +if ($printable =~ m/^pdf|^ps/) { my $output; my $got= $m->call_self(\$output); if ($got) { + my @htargs= qw(htmldoc --continuous --gray --size 210x279mm + --left 1cm --right 1cm); + $printable =~ m/^[a-z]+/; + push @htargs, '-t',$&; + if ($printable =~ m/2$/) { + push @htargs, qw(--nup 2); + } + push @htargs, qw(-); + my $tmpfile= IO::File::new_tmpfile(); print $tmpfile $output or die $!; $tmpfile->flush() or die $!; @@ -52,8 +61,8 @@ if ($printable eq 'pdf' || $printable eq 'ps') { eval { $ENV{'HTMLDOC_NOCGI'}=1; open STDIN, '<&', $tmpfile or die $!; - exec qw(htmldoc -t),$printable,qw( - --continuous --gray --size 210x279mm -); + + exec @htargs; die $!; }; print STDERR "HTMLDOC FAILURE $@";