[LON-CAPA-cvs] cvs: loncom /interface printout.pl
sakharuk
lon-capa-cvs@mail.lon-capa.org
Thu, 09 May 2002 15:46:01 -0000
sakharuk Thu May 9 11:46:01 2002 EDT
Modified files:
/loncom/interface printout.pl
Log:
produces eps dynamically in a correct way
Index: loncom/interface/printout.pl
diff -u loncom/interface/printout.pl:1.6 loncom/interface/printout.pl:1.7
--- loncom/interface/printout.pl:1.6 Fri Apr 12 09:46:11 2002
+++ loncom/interface/printout.pl Thu May 9 11:46:01 2002
@@ -1,27 +1,35 @@
#!/usr/bin/perl
use IO::File;
+use Image::Magick;
print "Content-type: text/html\n\n";
print "<body bgcolor=\"#FFFFFF\">\n";
-print "<h1>OUTPUT is in the PDF FILE below</h1>\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 "<h1>OUTPUT is in the PDF FILE (see link below)</h1>\n";
+my ($texfile,$laystyle) = split(/&/,$ENV{'QUERY_STRING'});
+my $figfile = $texfile;
+$figfile =~ s/\.tex/\.dat/;
+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/;
+ $_ = $eps_f;
+ m/\/(\w+\.eps)/;
+ $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,9 +53,17 @@
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;
print "<a href=\"/prtspool/$name_file\">Your PDF document</a>\n";