--- loncom/interface/printout.pl 2010/04/29 10:51:37 1.146
+++ loncom/interface/printout.pl 2012/04/11 11:40:14 1.152
@@ -1,7 +1,7 @@
#!/usr/bin/perl
# CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc.
#
-# $Id: printout.pl,v 1.146 2010/04/29 10:51:37 foxr Exp $
+# $Id: printout.pl,v 1.152 2012/04/11 11:40:14 goltermann Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -44,7 +44,7 @@ use LONCAPA::Configuration;
use strict;
my $busy_wait_timeout = 30;
-
+my $pdfs_converted = 0; # non zero if PDF includes (need to fixps).
my $debugging = 0;
@@ -237,7 +237,7 @@ if (-e $figfile) {
close $temporary_file;
my $noteps;
my %prog_state;
- if ($advanced_role) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Converting Images to EPS','Picture Conversion Status',$#content_of_file,'inline','80'); }
+ if ($advanced_role) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('',$#content_of_file); }
print('
');
foreach my $not_eps (@content_of_file) {
chomp($not_eps);
@@ -283,7 +283,7 @@ my $ind=-1;
my %prog_state;
if ($advanced_role) {
- %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Print Status',&mt('Class Print Status'),$number_of_files,'inline','80');
+ %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('',$number_of_files);
}
print "
";
my $num_files = @texfile; # How does this differ from $number_of_files , can that be 0?
@@ -372,7 +372,7 @@ foreach $texfile (@texfile) {
print "
";
if ($advanced_role) {
- &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'Creating PDF for '.$status_statement);
+ &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,&mt('Creating PDF for: [_1]',$status_statement));
}
if (-e $texfile) { # Ensure the tex file exists:
@@ -477,13 +477,31 @@ foreach $texfile (@texfile) {
my $ps_file = my $tempo_file = $1.'temporar.ps';
my $pdf_file = $1.'.pdf';
$papera=~s/t/p/;
- $comma = "fixps --force $new_name_file";
- &debug("FIXPS command: $comma");
- &busy_wait_command("$comma 1>$tempo_file 2>/dev/null",
- "for $status_statement now validating PS",
- \%prog_state,$tempo_file);
- &busy_wait_command("mv $tempo_file $new_name_file",
- 'File move', \%prog_state, $new_name_file);
+#----
+# The code below uses fixps to make pdf include in sequences work.
+#
+# $comma = "fixps --force $new_name_file";
+# &debug("FIXPS command: $comma");
+# &busy_wait_command("$comma 1>$tempo_file 2>/dev/null",
+# "for $status_statement now validating PS",
+# \%prog_state,$tempo_file);
+
+#---
+# The code below uses gs to make pdf includes in sequences work
+
+ # Use gs to fix the postscript -> level 1.5
+ # .. if pdfs were included
+
+ if ($pdfs_converted > 0) {
+ $comma = "gs -sDEVICE=pswrite -dLanguageLevel=1.5 ";
+ &busy_wait_command("$comma -o $tempo_file $new_name_file 2>/dev/null 1>/dev/null",
+ "for $status_statement now validating PS",
+ \%prog_state, $tempo_file);
+
+#---
+ &busy_wait_command("mv $tempo_file $new_name_file",
+ 'File move', \%prog_state, $new_name_file);
+ }
if ($laystyle eq 'album' and $numberofcolumns eq '2') {
$comma = "psnup $papera -2 -s1.0 $new_name_file";
&debug("PSNUP command: $comma");
@@ -596,7 +614,7 @@ sub busy_wait_command {
if ($size == $last_size) {
$unchanged_time++;
if ($timeout && ($unchanged_time > $timeout)) {
- print "
'.&mt('Operation timed out!')."
\n"; print "Executing $command, the output file $output_file did not grow\n";
print "after $timeout seconds. This may indicate $command\n";
print "is in an infinite loop.\n";
@@ -611,8 +629,7 @@ sub busy_wait_command {
}
}
if ($advanced_role) {
- &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,
- $message.$extra_msg);
+ &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,$message.$extra_msg);
}
}
$SIG{CHLD}='IGNORE';
@@ -709,8 +726,7 @@ sub repaginate {
my @pages_in_student; # For each student his/her initial page count.
my $max_pages = 0; # Pages in 'longest' student.
my $page_number = 0;
- &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,
- &mt("Counting pages for student: [_1]",1));
+ &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,&mt("Counting pages for student: [_1]",1));
while ($line = "
+ .mt("An error occured during the conversion of [_1].[_2]"
+ ."If possible try to save this image using different settings and republish it.",
+ "".$prettyname."", "
")
+ ."