#!/usr/bin/perl use CGI::Form; $REP_PS="/home/ps2pdf/"; $URL_PS="/ps2pdf/"; sub entete_html() { print "Content-type: text/html\n"; print "\n"; print "\n"; print "\n"; print "\n"; print " \n"; print " ps2pdf Online\n"; print " \n"; print " \n"; print " \n"; print "
\n"; } sub pied_html() { print "
\n"; print "
\n"; print " Copyright 2005 JmTrivial\n"; print " - Licence: GPL\n"; print " - Source\n"; print " - Dernière modification: 22 novembre 2005\n"; print "
\n"; print " \n"; print "\n"; } # lecture des paramètres $q = new CGI::Form; $url = $q->param("url"); ($url) = split(/\"/, $url, 1); $source = $q->param("source"); $namefichierupload = $q->param("fichierupload"); # construction des noms de fichiers locaux $cible = "$$"; $cible_ps = "$cible.ps"; $cible_pdf = "$cible.pdf"; if ( $source eq "1" ) { print "Content-type: text/plain\n"; print "\n"; exec ("cat ps2pdf.cgi"); } elsif ( ! $url eq "" ) { entete_html (); print "

Résultat de la conversion

\n"; print "

Url source: $url

\n"; if (system ("wget \"$url\" -O $REP_PS$cible_ps") == 0) { if (system ("ps2pdf $REP_PS$cible_ps $REP_PS$cible_pdf") == 0) { print "

Fichier PS, converti en PDF.

\n"; } else { print "

Erreur lors de la conversion du fichier.

\n"; } } else { print "

Erreur lors du téléchargement du fichier (".$q->cgi_error().").

\n"; } print "

Convertir un autre fichier

\n"; pied_html (); } elsif ( ! $namefichierupload eq "" ) { entete_html (); print "

Résultat de la conversion

\n"; print "

Document source: $namefichierupload (local)

\n"; open (OUTFILE,">$REP_PS$cible_ps"); while ($bytesread=read($namefichierupload,$buffer,1024)) { print OUTFILE $buffer; } close OUTFILE; if (system ("ps2pdf $REP_PS$cible_ps $REP_PS$cible_pdf") == 0) { print "

Fichier PS, converti en PDF.

\n"; } else { print "

Erreur lors de la conversion du fichier.

\n"; } print "

Convertir un autre fichier

\n"; pied_html (); } else { # affichage de la page par défaut entete_html (); print "

ps2pdf Online

\n"; print $q->param; print "

Ce script propose de convertir en ligne un document PS en document PDF. Vous pouvez soit\n"; print " donner l'adresse internet d'un document, soit convertir un document de votre disque dur.

\n"; print "

Choisissez l'adresse d'un document PS à convertir\n"; print "

\n"; print "
\n"; print "

\n"; print "

Choisissez sur votre ordinateur un document PS à convertir\n"; print "

\n"; print "\n"; print "
\n"; print "

\n"; pied_html (); }