ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
4397
4397
EMPFEHLEN
-
25.09.03 10:17 #1
Hallo!
Wer kennt Objekte, die es möglich machen, ein PDF in ein Bild umzuwandeln, das dann ausgegeben werden soll?
Mir wurde Ghostscript empfohlen, aber aus der Website werde ich nicht schlau (falls ich die richtige erwischt habe: http://www.cs.wisc.edu/~ghost/) und ich weiß nicht ob man das für ASP verwenden kann.
danke für eure Hilfe
Herbert
-
25.09.03 17:23 #2
Hi,
soweit ich weiß ist das unter ASP noch nicht möglich! Ich habe nur sehr teure Programme dafür gefunden aber nix für ASP.Internetseite:
http://www.texturenland.de
Blog:
http://blog.texturenland.de
Codesnippets:
.NET-Snippets
- Sollte ich bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen -
-
26.09.03 11:20 #3
Hallo Leute!
Danke für eure Hilfe *smile*
Ich habe mich gestern Nachmittag mit Ghostscript beschäftigt und bin auf folgende Lösung gekommen:
• Ghostscript herunterladen und auf dem Server installieren
• Ghostscript mit folgendem Befehl starten:
wshell.run "C:\Programme\ghostscript\gs8.00\bin\gswin32c.exe -sDEVICE=png16m -r100 -dNOPAUSE -sOutputFile=d:\web\mydocs\temp.png d:\web\mydocs\temp.pdf -c quit" , 1, TRUE
-> gswin32c: Eingabezeilenversion von Ghostscript für Windows
-> sDEVICE=Treiber für umwandlung in png
-> -r100: PDF mit 100dpi rastern
-> -dNOPAUSE: ohne dem Eintrag würde gs nach jeder Seite in der PDF auf eine Eingabe vom Benutzer warten dh. das Programm würde ewig laufen und das ASP Script würde nie fertig werden bis der Server die ausführung abbricht.
-> -c quit: gs wird nach dem rastern beendet.
gs rastert die pdf leider ohne anti aliasing. Um eine schönere Grafik zu erhalten, muss man mit mehr dpi (200 -300) rastern und anschliessend mit einem anderen programm (zb. ImageGlue) die Datei Laden und verkleinern.
Die Performance ist dann zwar im A****, aber dafür hast du ein tolles Bild von einem PDF.
Beispiel:
Bild ohne Antialiasing:
http://80.120.126.70/bild1.png
Bild mit Antialiasing:
http://80.120.126.70/bild2.gif
lg
Herbert
-
26.09.03 13:08 #4
Hey cool
Ok mit Ghostscript kenne ich mich nicht aus.
Internetseite:
http://www.texturenland.de
Blog:
http://blog.texturenland.de
Codesnippets:
.NET-Snippets
- Sollte ich bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen -
-
26.09.03 13:10 #5
Ja, bis gestern wusste ich auch nicht so richtig was Ghostscript ist und kann.
Aber wenn man ein paar Stunden herum tüftelt, kann sich das schnell ändern.
-
Hallo Leute,
ich habe dasselbe Problem: Moechte pdf-files in jpg konvertieren. Dazu soll man eine pdf (sagen wir mal datei.pdf) hochladen und der Server bastelt daraus fuer jede Seite des pdfs ein eigenes jpg mit dem Name datei_seitennummer.jpg...
Ich habe ganz ehrlich null Ahnung von Ghostscript, weiss aber, dass gsview und ghostscript auf dem Server installiert sind. Wo finde ich gute Tutorials, mit denen ich lernen kann, was ich wissen muss Wie starte ich das ganze dann aus PHP?
Vielen Dank fuer eure Hilfe,
Flo
-
23.04.07 11:30 #7
Hallo Flo,
nach 3 1/2 Jahren kann ich da leider auch nicht mehr weiter helfen, außerdem kenne ich mich in PHP nicht wirklich gut aus. Ich hoffe trotzdem, dass dir der obere Eintrag von mir weiter helfen kann.
lg Herbert
-
Ich habs mit:
<?
exec("/usr/bin/gs pdf2ps /httpdocs/f1/gs/test.pdf");
?>
versucht. Das pdf liegt auch dort, wor es angegeben ist. Ebenfalls hab ich
<?
exec("/usr/bin/gs pdf2ps test.pdf");
?>
versucht, da das php-file aus demselben Ordner wie das pdf-file kommt, jedoch ebenfalls ohne jegliche Ergebnisse.
Waere dankbar fuer jeden Hinweis.
Flo
-
24.04.07 09:23 #9
Hallo Flo,
unterscheidet sich die Art der Angabe der Parameter bei Linux denn derart, oder müssten auch Bindestriche verwendet werden?
Ich hätte es mit folgendem Befehl probiert:
exec("/usr/bin/gs -sDEVICE=png16m -r100 -dNOPAUSE -sOutputFile=temp.png temp.pdf -c quit");
Hast du Vollzugriff auf den Server oder einen Linux Computer zur Verfügung? Dann könntest du auch probieren, den Befehl in der Eingabeaufforderung einzugeben und schauen was für Fehlermeldung kommt. Vielleicht kannst du auch im PHP irgendwie den Rückgabetext ausgeben?
lg Hörbi
-
Damit hab ichs hinbekommen. Einziges Problem besteht darin, dass ich von einem dreiseitigen PDF-File nur die erste Seite als Jpg bekomme. Welches Format ist denn am geeignetsten fuer viel Textdartellung? Soll ich da jpg, png oder lieber tiff nehmen?PHP-Code:
exec('/usr/bin/gs -dBATCH -dUseCIEColor -dNOQUIET -sDEVICE=jpeg -sOutputFile=bild.jpg test.pdf', $ausgabe, $returnValue);
Die Ausgabe $ausgabe liefert ein Array mit Meldungen "Page 1", ">>showpage, press to continue<<", "Page 2", ">>showpage, press to continue<<" und so weiter und den und $returnValue = 0.
Soweit alles gut, aber ich will ja nicht nur das Deckblatt bekommen, sondern jede Seite in ein einzelnes file. Irgendwo hab ich den Befehl alsgesehen, der tuts aber nicht...PHP-Code:exec('/usr/bin/gs -dBATCH -dUseCIEColor -dNOQUIET -sDEVICE=jpeg -sOutputFile=bild.jpg test.pdf[]', $ausgabe, $returnValue);
Nee, Linux hab ich selber nicht, mein Kumpel meinte nur, dass auf dem Server Unix laeuft und ich deshalb nicht die Windows-Befehle nutzen koennte, sondern das ueber Linux-Eingaben machen sollte.
Wie gesagt, es tuts, das Deckblatt wird erstellt, aber die restlichen Seiten werden "uebersehen" oder ignoriert... Woran liegts?
Danke fuer eure Bemuehungen....
Flo
-
Zwischenergebnis:
Okay, hab nochmal weiter gegoogelt und raus kam folgendes:
Damit lassen sich die verschiedenen files erstellen. Anscheinend wurde das eine file jedesmal ueberschrieben, da ja keine Variation in dem Namev vorkommt.PHP-Code:exec('/usr/bin/gs -dBATCH -dUseCIEColor -dNOQUIET -sDEVICE=jpeg -sOutputFile=bild-%03d.jpg test.pdf', $ausgabe, $returnValue);
Jetzt muss ich nur noch rausfinden, wie man den outputnamen gleich dem inputnamen erstellen kann. php-Variablen kann man hier nicht benutzen, da meckert php bisher. Gibt es intern da irgendnen Befehl?
Naja, ich such mal weiter...
Flo
-
24.04.07 13:28 #12
Hallo Flo,
ich habe eine Seite gefunden, wo alle Befehle aufgelistet werden.
http://www.cs.wisc.edu/~ghost/doc/AFPL/6.01/Use.htm#PDF
Ich hoffe, die Seite hilft dir weiter. Auf jeden Fall findest du hier Parameter für die Seitenangaben.
lg Hörbi
-
Danke fuer eure Hilfe. Ich habs hinbekommen.
Hab einfach einen string $commando in php gebastelt und den kann ich ja mit den Dateinamen versehen. Sehr praktisch. Dann muss ich nur noch den String ausfuehren lassen.
Echt einfach, wenn man weiss, wie es geht...
DANKE
Flo





Zitieren
Login





