File:  [LON-CAPA] / loncom / interface / printout.pl
Revision 1.6: download - view: text, annotated - select for diffs
Fri Apr 12 13:46:11 2002 UTC (22 years, 1 month ago) by sakharuk
Branches: MAIN
CVS tags: stable_2002_april, HEAD
added eps production mechanism

#!/usr/bin/perl
use IO::File;
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";
    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;  
}
print "$texfile\n";
 $_ = $texfile;
 m/^(.*)\/([^\/]+)$/; 
my $name_file = $2;
my $path_file = $1.'/';
 chdir $path_file;
 system("latex $name_file 1>/dev/null 2>/dev/null");
 $name_file =~ s/\.tex/\.dvi/;
my $new_name_file = $name_file;
 $new_name_file =~ s/\.dvi/\.ps/;
my $comma = "dvips -o $new_name_file";
 system("$comma $name_file");
 $_ = $new_name_file;
 m/^(.*)\./;
my $tempo_file = $1.'temporar.ps';
my $name_file = $1.'.pdf';
if ($laystyle eq 'album') {
    $comma = "psnup -2 -s1.0 $new_name_file";
    system("$comma $tempo_file"); 
    system("ps2pdf $tempo_file $name_file");
} elsif ($laystyle eq 'book') {
    system("ps2pdf $new_name_file $name_file");
}




print "<a href=\"/prtspool/$name_file\">Your PDF document</a>\n";
print "\n";






FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>