File:  [LON-CAPA] / loncom / interface / printout.pl
Revision 1.10: download - view: text, annotated - select for diffs
Tue Jul 30 14:11:17 2002 UTC (21 years, 9 months ago) by sakharuk
Branches: MAIN
CVS tags: HEAD
Corrections for cleanup.

#!/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 (see link below)</h1>\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/;
my $tblfile = $texfile;
$tblfile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.tbl/;
if (-e $figfile) {
    my $temporary_file=IO::File->new($figfile) || die "Couldn't open file for reading: $!\n";
    my @content_of_file = <$temporary_file>;
    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;
 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");
}	    
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;
unlink $tblfile;
print "<a href=\"/prtspool/$name_file\">Your PDF document</a>\n";
print "\n";






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