PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ps2pdf.pl



mustafaB
26-06-2001, 16:04
HAllo

kann zwar nicht helfen hab aber ne frage.

Tut das ps2pdf.pl script, auf das ps2pdf script von ghostscript zugreifen??

ich hab da ein problem, das die von ps2pdf erstellten pdf`s ziemlich hässlich aussehen (die schrift) kann da jemand helfen?

gruss
Musa

clipboard
26-06-2001, 23:08
Hallo

ich habe hier ein script ps2pdf.pl welches auf auf der Kommandozeile sehr gut seinen Dienst verrichtet.

Nun hatte ich die schlaue Idee, dieses Script via Browser zu bedienen.

Auf der Kommandozeile gebe ich folgendes ein:

perl ps2pdf.pl -i file.ps -o file.pdf

Leider habe ich keinen Plan, wie ich diese Übergabe in ein Formular packe. Besonders, weil ich ja das PS-File mit einem Durchschen-Button holen will.

Hat da jemand Lust mir dabei zu helfen ?

Gruss
Fabian

jgbauman
27-06-2001, 01:10
Hi,
leider kenn ich ps2pdf.pl nicht. Aber intern benutzt das wahrscheinlich auch nur den gs.

Wie stellst Du dir das Interface denn vor?
Etwa so?
Oeffne eine HTML-Seite.
Hier gibst Du die PS-Datei an und startest das Umwandlen.
Du kriegst ein pdf-File zurueck und der Browser fragt, wohin er es speichern soll oder oeffnet es per Plugin.
Das DateiSystem auf dem die ps und pdf Datei landen muss nicht vom Webserver zugaenglich sein.

@mustafaB:
Die ps-Datei die Du umwandeln willst wurden wahrscheinlich mit einem schlecht konfiguriertem dvips erzeugt. Dann hast Du Bitmap-fonts im ps und als pdf sieht es haesslich aus.
Bei einem besser eingerichtetem dvips gibts meist die Option -P pdf. Damit kriegst du besseres ps fuer die umwandlung nach PDF ;-) http://ecco.bsee.swin.edu.au/text/texpdf/texpdf-ffont.html

clipboard
27-06-2001, 20:38
Hallo

Genau so stelle ich mir das Formular vor. Ich habe schon einige Seiten geshen, die das so machen. Leider machen da meine Gehirnwindungen nicht mit, das umzusetzen.

ps2pdf.pl habe ich von da und auf der Kommandozeile läufts prima.
http://www.csc.uvic.ca/~etong/?ps2pdf

Könntest du mir da helfen ? ;-)

Gruss
Fabian

jgbauman
28-06-2001, 00:51
/usr/local/httpd/py2pdf.html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<TITLE>PS in PDF umwandeln</TITLE>
</HEAD>

<BODY>
<H1>PS in PDF umwandeln</H1>

<FORM METHOD="POST" ACTION="cgi-bin/ps2pdf.py" ENCTYPE="multipart/form-data">
Datei:
<INPUT TYPE="file" size="50" name="Datei" accept="application/postscript">
<BR>
<INPUT TYPE="submit" VALUE="In pdf umwandeln">
</FORM>


</BODY>
</HTML>

/usr/local/httdp/cgi-bin/ps2pdf.py:

#!/usr/bin/python
import cgi,os,traceback,sys

try:
form = cgi.FieldStorage()
if form.has_key("Datei"):
fileitem = form["Datei"]

r,w = os.pipe()
pid = os.fork()

if pid == 0:
os.close(w)
os.dup2(r, 0)
os.execv("/usr/local/bin/gs",("/usr/local/bin/gs",
"-dCompatibilityLevel=1.3",
"-q",
"-dNOPAUSE",
"-dBATCH",
"-sDEVICE=pdfwrite",
"-sOutputFile=-",
"-c",
"save",
"pop",
"-f",
"-"))
else:
os.close(r)
f = os.fdopen(w,"w")

print "Content-type: appliaction/pdf"
print
sys.stdout.flush()

s=fileitem.file.read(4096)
while s!="":
f.write(s)
s=fileitem.file.read(4096)
f.close()
os.wait()

except:
print "Content-type: text/plain"
print
traceback.print_exc(5,sys.stdout)
Die Pfade anpassen und ps2pdf.py fuer den Webserver ausfuehrbar machen. Fertig.

Ich mag Perl nicht deswegen Python. Das Skript ist sehr verbesserungswuerdig, besonders die Fehlerbehandlung, aber zum Einstieg koennte es reichen.
Leider hab ich nicht viel Zeit und Du wirst an diesen Brocken ohne viele weitere Erlaeuterungen meinerseits kauen muessen.

atti
28-06-2001, 18:24
Hy,

es gibt noch eine andere Möglichkeit:
mit webmin (www.webmin.com) kann man unter "other->custom commands" ziemlich schnell
ein web-frontend für Kommandozeilentools zusammenbauen. Bietet auch die Möglichkeit eine Datei als Parameter auszuwählen....


Gruß
Attila