--- loncom/interface/printout.pl 2002/04/12 13:46:11 1.6 +++ loncom/interface/printout.pl 2002/08/01 18:09:27 1.13 @@ -1,27 +1,37 @@ #!/usr/bin/perl use IO::File; +use Image::Magick; print "Content-type: text/html\n\n"; print "\n"; -print "

OUTPUT is in the PDF FILE below

\n"; -my ($texfile,$laystyle,$needconvert) = split(/&/,$ENV{'QUERY_STRING'}); -if ($needconvert) { - my $temporary_file=IO::File->new($texfile) || die "Couldn't open file for reading: $!\n"; +print "

OUTPUT is in the PDF FILE (see link below)

\n"; +my ($texfile,$laystyle) = split(/&/,$ENV{'QUERY_STRING'}); +my $figfile = $texfile; +$figfile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.dat/; +my $duefile = $texfile; +$duefile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.due/; +if (-e $figfile) { + my $temporary_file=IO::File->new($figfile) || die "Couldn't open file for reading: $!\n"; my @content_of_file = <$temporary_file>; - my $content_file_string = join(' ',@content_of_file); - my $b_noteps = index($content_file_string,'\needepsconversion{',0); - while ($b_noteps != -1) { - my $e_noteps = index($content_file_string,'}',$b_noteps); - my $notepslist = substr($content_file_string,$b_noteps+19,$e_noteps-$b_noteps-19); - my $newnotepslist = $notepslist; - $newnotepslist =~ s/\..*$/\.eps/; - $_ = $newnotepslist; - m/\/(\w+\.eps)/; - $newnotepslist = $1; - $newnotepslist = '/home/httpd/prtspool/'.$1; - system("convert gif:$notepslist eps:$newnotepslist" ); - $b_noteps = index($content_file_string,'\needepsconversion{',$e_noteps); - } close $temporary_file; + my $noteps; + foreach $not_eps (@content_of_file) { + if ($not_eps ne '') { + my $eps_f = $not_eps; + $eps_f =~ s/\.[^.]*$/\.eps/i; + $_ = $eps_f; + m/\/([^\/]+)$/; + $eps_f = '/home/httpd/prtspool/'.$1; + my $image = Image::Magick->new; + $not_eps =~ s/^\s+//; + $not_eps =~ s/\s+$//; + $status = $image->Read($not_eps); + if ($status) {print " $status ";} + $image->Set(page => '+100+200'); + $status = $image->Write($eps_f); + if ($status) {print " $status ";} + } + } + unlink $figfile; } print "$texfile\n"; $_ = $texfile; @@ -45,11 +55,18 @@ if ($laystyle eq 'album') { system("ps2pdf $tempo_file $name_file"); } elsif ($laystyle eq 'book') { system("ps2pdf $new_name_file $name_file"); -} - - - - +} +my $texlog = $texfile; +my $texaux = $texfile; +my $texdvi = $texfile; +my $texps = $texfile; +$texlog =~ s/\.tex/\.log/; +$texaux =~ s/\.tex/\.aux/; +$texdvi =~ s/\.tex/\.dvi/; +$texps =~ s/\.tex/\.ps/; +my @garb = ($texlog,$texaux,$texdvi,$texps); +unlink @garb; +unlink $duefile; print "Your PDF document\n"; print "\n";