--- loncom/interface/printout.pl 2010/08/26 08:32:58 1.146.4.1 +++ loncom/interface/printout.pl 2011/04/26 10:47:25 1.148 @@ -1,7 +1,7 @@ #!/usr/bin/perl # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. # -# $Id: printout.pl,v 1.146.4.1 2010/08/26 08:32:58 raeburn Exp $ +# $Id: printout.pl,v 1.148 2011/04/26 10:47:25 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -477,6 +477,28 @@ foreach $texfile (@texfile) { my $ps_file = my $tempo_file = $1.'temporar.ps'; my $pdf_file = $1.'.pdf'; $papera=~s/t/p/; +#---- +# 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 + + $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"); @@ -904,8 +926,8 @@ sub convert_figure { $not_eps =~ s/^\s+//; $not_eps =~ s/\s+$//; $not_eps =~ s/ /\\ /g; + my $prettyname=$not_eps; if ($advanced_role) { - my $prettyname=$not_eps; $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|; $prettyname=~s|$perlvar{'lonDocRoot'}/|/|; &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state, @@ -928,6 +950,13 @@ sub convert_figure { system("pdftops $not_eps $eps_f"); } else { system("convert $not_eps $eps_f"); + if($? and $advanced_role){ + print "

" + .mt("An error occured during the conversion of [_1].[_2]" + ."If possible try to save this image using different settings and republish it.", + "".$prettyname."", "
") + ."

"; + } } if (not -e $eps_f) {