PDF2SMTP -Übersicht
Auf dieser Seite möchte ich ihnen kein fertiges kaufbares Produkt vorstellen, sondern eine Lösung in Verbindung mit Exchange und viel Open Source Software, um einfach PDF-Dateien zu erstellen.
Aktuelle Information: PDF2SMTP in der c't 6/2004
Wichtiges Update für Windows 2003 und GhostScript 8.51 ->MSXFAQ.DE
- Skript
Unter Windows 2003 haben "normale Benutzer" kein Recht die CMD.EXE
aufzurufen. Daher funktioniert PDF2SMTP.BAT natürlich nicht. Geben Sie
"Domain Benuter" das Lesen und Ausführen Recht auf die CMD.EXE
ACHTUNG
Anscheinend gibt es Probleme mit GhostScript 8.51 in Verbindung mit
Verschlüsselung. Wird die Verschlüsselung aktiviert, dann sind die
PDF-Dateien teilweise nicht lesbar, weil Schriften nicht eingebettet werden.
Ich versuche eine Lösung zu finden. Hilfe ist gerne willkommen.
Mit GhostScipr 8.53 soll das Problem nicht mehr vorhanden sein.
-
Fehlersuche
Speziell auch Einsatz von PDF2SMTP auf Windows 2003 -
Verschlüsselung und Schutz von PDF-Dateien
mit GhostScript 8.14 und höher -
Verbesserte und korrigierte Skripte
Aktuell: Version 1.6 mit Sonderzeichen, Kennworte und mehr
Vorgeschichte
Ich bin seit langem Nutzer von PDF-Dateien und habe auch Acrobat lizenziert, um legal PDF-Dateien erzeugen zu können. Aber früher Versionen hatten keinen Druckertreiber, so dass man über einen Postscript Treiber und Acrobat Capture gehen musste und die nachgelieferten Druckertreiber waren nicht gerade optimal. Aber viel schlimmer ist, dass das der Einsatz im Netzwerk auf vielen PCs nicht gerade einfach ist und Anwender ziemlich falsch machen können.
Die Idee
Stellen Sie sich vor, sie haben einen Netzwerkdrucker auf ihrem Windows Server eingerichtet, mit dem sich ein Anwender einfach verbinden kann. Jeder Ausdruck auf diesen Drucker wird dem Benutzer per Mail als PDF-Datei zugesendet.
Genial ist die Methode, dass Windows Clients sich vom Server den Druckertreiber laden und keine Installation auf dem Client notwendig ist. Irgendwann hatte ich dann aus diversen Quellen die entsprechenden Programmbausteine zusammen, um solch einen PDF-Dienst im Netzwerk anzubieten.
Übrigens funktioniert diese Installation natürlich auch komplett ohne Netzwerk auf einem lokalen PC.
Voraussetzungen
Zur Umsetzung nach der Beschreibung sind wenige Dinge notwendig, die vor allem erst mal nichts kosten.
- Postscript Druckertreiber
Ein Druckertreiber, wie er z.B. von Microsoft mitgeliefert wird. Alternativ auch den Adobe Treiber.
http://www.adobe.com/products/printerdrivers/main.html - Ghostscript 8.x
Zur Konvertierung von Postscript Dateien in PDF-Dateien
www.ghostscript.com - gs-ppf.zip
Hilfsprogramme, um optimiert aus Postscript Dateien entsprechende PDF-Dateien zu erstellen.
http://www.rumborak.de/produktives/index.html - BLAT
Um Dateien per SMTP Mail zu senden
http://sourceforge.net/projects/blat/ und http://www.blat.net/
Früher http://www.interlog.com/~tcharron/blat.html - REDMON
Ein PortMonitor für Windows NT
http://www.cs.wisc.edu/~ghost/redmon/ - "passende" Mailadresse
Vom NT-Username sollte die Mailadresse ableitbar sein, da der NT-Account von REDMON verfügbar gemacht wird. Später werde ich das Skript so erweitern, dass das Programm die Mailadresse aus dem AD ausliest. - Windows NT Server und ein Mailserver
Ein Windows Server, damit all das installiert und im Netzwerk freigegeben werden kann. Es muss nicht unbedingt ein Exchange Server sein, da nahe zu jeder Mailserver per SMTP Nachrichten annehmen kann
Realisierung
Die Umsetzung der Lösung ist relativ einfach und wie einem Rezept. Die passenden Zutaten geschickt kombiniert. Zuerst ein Diagramm, wie das alles zusammen greift:
- Links oben beginnt es damit, dass ein Anwender einfach auf einen Netzwerkdrucker druckt. Dieser ist ein Postscripttreiber, der die Daten an den Spooler des Servers übergibt.
- Der Spooler sendet die Daten an den Port RPT1, welcher REDMON bedient.
- REDMON nimmt die Daten an, speichert Sie temporär ab und startet einen einfaches Batch mit einigen Optionen
- Dieser Batch startet GhostScript, um ein PDF daraus zu generieren und mit BLAT an den Exchange Server per SMTP zu senden.
- Exchange stellt die Nachricht in das Postfach zu
- Outlook zeigt die neue Nachricht mit der PDF-Anlage an.
Ergebnis
Mit wenig Aufwand ist es mir so gelungen, einen Netzwerkdrucker einzurichten, welcher vom jedem berechtigten Client einfach verbunden werden kann. Auf diesen freigegebenen Netzwerkdrucker können alle Anwender mit jeder lokalen Anwendung ohne weitere Installationen drucken und erhalten in kurzer Zeit per Mail eine PDF-Datei. Als Serveradministrator kann ich die Parameter korrekt für die PDF-Erstellung konfigurieren und auf dem Server sind keine weiteren Anwendungen notwendig, da die Druckdaten als Postscript Daten angeliefert werden.
Übrigens ist dies natürlich keine Exchange spezifische Lösung, sondern funktioniert mit jedem Mailserver, der Nachrichten per SMTP annimmt.
Performance?
Stellt sich die Frage wie "leistungsfähig" so ein Server sein muss. Dazu habe ich einen einfachen Test gemacht. Ich habe ein typisches Worddokument (156 Seiten "Windows Hardening Guide") von Microsoft mit einigen Bildern gedruckt. Nachdem Word diese Daten in ca. 20 Sekunden an den Drucker gesendet hat, konnte PDF2SMTP die Konvertierung starten.
In ca. 15 Sekunden hatte Ghostscript die 152 Seiten in PDF konvertiert. Ein Pentium 2GHz schafft unter Windows XP mit etwas Hintergrundlast ca. 150 Seiten in 15 Sekunden. Oder ca. 10 Seiten/Sekunde an durchschnittlichen Word Dokumenten.
Die effektive Leistung ist aber natürlich abhängig von der Komplexität der Postscript Daten. Trotzdem ist erkennbar, dass vermutlich die meisten PCs, die auch Windows NT betreiben können, mit PDF2SMTP kompatibel sind.
Wer ist Rumborak?
Wenn Sie etwas im Internet surfen, dann finden Sie eine ganze Menge an Lösungen rund um PDF, GhostScript und REDMON. Es könnte der Verdacht aufkommen, dass hier wild voneinander abgeschrieben wird obwohl dem eher nicht so ist. Vielleicht passen andere Lösungen sogar besser in ihre Umgebung.
- Das ist zum ersten die Anleitung zu REDMON selbst unter http://www.cs.wisc.edu/~ghost/redmon/ die es sogar auf deutsch gibt. (http://www.cs.wisc.edu/~ghost/redmon/de/redmon.htm#211).
- Besonders positiv hebt sich die Seite von Wolfgang Reszel (http://www.rumborak.de) hervor, deren Inhalte ich seit ca. 2003 können. Hier finden Sie ebenfalls sehr viele ähnliche Skripte und eine sehr ausführliche Anleitung zur Installation von RedMon (http://www.rumborak.de/produktives/ghostscript/win2k/pdf.html). Besonders interessant ist hierbei eine für Ghostscript und die PDF-Erzeugung angepasste PPD-Datei.
Es sollte daher nicht allzu schwer sein, einen PDF-Server auch mit kostenfreien Mitteln im Netzwerk integrieren zu können.
Installation
Die Einrichtung dieser Lösung ist sehr einfach aber aufgrund der vielen Produkte habe ich die Installation etwas genauer beschrieben:
-
Software: Ghostscript
Download und Installation von Ghostscript -
Software: RedMon und Blat
Daten mit REDMON abgreifen und per BLAT versenden -
Drucker einrichten
So wird aus ihrem Dokument eine PostScript Datei für GhostScript -
PDF2SMTP-Skript
Der Klebstoff zwischen allen Teile -
Fehlersuche
Wenn es nicht auf Anhieb funktioniert.
Somit sollte es nicht allzu schwer sein, die die Installation erfolgreich abzuschließen.
Viel Spaß beim Nachbauen.
Sonstiges Links
PDF ist ein universelles Format und es gibt viele andere Lösungen rund um die PDF-Erstellung von denen viele auf Ghostscript basieren.
- FrePDFXP (Free)
http://www.freepdfxp.de/freepdf.htm
Leistungsfähiges Skript, welches ebenfalls Ghostscript zum erstellen von PDF-Dateien nutzt. - GS4Word (Free)
http://www.schmitz-huebsch.net/gs4word/
Leistungsfähiges Wordmakro zum Erstellen von PDF-Dateien direkt aus Word mit umfangreicher Übernahme von Dokumentstrukturen. Erfordert auch Redmon und Ghostscript. - PDFCreator (Free)
http://sourceforge.net/projects/pdfcreator
http://www.pdfcreator.de.vu/
Fertiges Paket für die Nutzung auf Einzelplätzen. Erzeugt PDF mittels Ghostscript. - Office 2007 Add-on "Speichern als PDF"
http://www.microsoft.com/downloads/details.aspx?FamilyId=4D951911-3E7E-4AE6-B059-A2E79ED87041&displaylang=en
Nicht kostenfreie Tools
Natürlich gibt es jede Menge andere Tools von Herstellern die PDF erzeugen
- PDFPrinter bzw. eDocPrintPro
http://www.pdfprinter.at/edoc.html
http://www.pdfprinter.at/download.html (11 MB)
Erstellt nicht nur PDFs sondern auch andere Format (JPG etc.) und ist über den Druckertreiberdialog sehr elegant zu konfigurieren. Installiert leider immer GhostScript, auch wenn schon vorhanden. Tipp: nach C:\GS installieren lassen und danach das Verzeichnis löschen und in der Registrierung nach "C:\GS" suchen und durch den Pfad auf ihre aktuelle Installation ersetzen.
Hinweis durch einen Leser: Installation über MSI-Datei ausführen und per Kommandozeile ein "GS=0" mitgeben. (Siehe auch http://www.pdfprinter.at/board/viewtopic.php?t=130) -
http://www.primopdf.com
(32 und 64bit) 14 Megabyte (enthält Ghostscript) -
http://www.bullzip.com/products/pdf/info.php
Braucht GhostScript -
http://freepdfxp.de/freepdf.htm
Noch eine Freeware um auf einem Client mit GhostScript einfach PDF-Dateien zu erzeugen - Übersichtsseite über PDF Tools
http://www.tu-chemnitz.de/urz/pdf/pdfutils.html - CUPS-PDF printer driver
http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf
Zur Einbindung auf Unix -
http://www.rumborak.de und
http://www.rumborak.de/produktives/index.html
Ein sehr reges Forum mit vielen Ergänzungen zur PDF-Erzeugung mit GhostScript - http://www.shbox.de/freepdf.htm
- http://www.lexacorp.com.pg/makepdf.html
- Windows Server 2003 - Betriebshandbuch für den Druckdienst
http://go.Microsoft.com/?linkid=2443111 - Go2PDF
http://www.go2pdf.com/product.html nur 261 Kilobyte
Einfach, trivial aber scheint zu gehen und braucht keine weitere Software !
Allerdings addiert es ein Werbebanner "Kauf mich" an jede Seite (80 Euro) -
http://www.novapdf.com (20-40 US-$)
Addiert ebenfalls einen Infoschriftzug am unteren Rand.