Hier ein Beispiel wie man mit ASP und einem OpenSource-Modul HTMLDOC auf dem Webserver PDF-Dateien generieren kann, um diese z.B. anschliessend per E-Mail zu versenden.
Das Modul HTMLDOC besteht aus der Datei htmldoc.exe sowie die dazugehörigen Dateien, die das Programm im Verzeichnis C:\Program Files\HTMLDOC sucht.
Die Datei htmldoc.exe wird von der Kommandozeile aus aufgerufen und arbeitet mit verschiedenen Parametern. Eine Dokumentation findet man unter: http://www.easysw.com/htmldoc/documentation.php.
In meinem Beispiel wird eine Rechnungsvorlage eingelesen, nachdem darin Variablen ausgetauscht wurden wird die Datei unter einem neuen Namen ins Filesystem geschrieben. Danach wird mit htmldoc.exe diese HTML-Datei in eine PDF-Datei umgewandelt.
<%
Pfad = "D:\Verzeichnis\"
strDateiHTM = pfad + NameDerDatei + ".htm"
strDateiPDF = pfad + NameDerDatei + ".pdf"
'***Vorlage einlesen
dim f,fs
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("Rechnung_Vorlage.htm"), 1)
rechnung = f.ReadAll
f.Close
Set f=Nothing
Set fs=Nothing
'*** Werte einsetzen
rechnung = replace(rechnung,"XNAMEX",name1)
rechnung = replace(rechnung,"XSTRASSEX",strasse)
rechnung = replace(rechnung,"XPLZX",plz)
rechnung = replace(rechnung,"XORTX",ort)
'*** Rechnung als HTML-Datei schreiben
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile(strDateiHTM,true)
f.Write(rechnung)
f.Close
set f=nothing
set fs=nothing
'*** HTML-Datei in PDF-Datei umwandeln
befehl = pfad + "htmldoc.exe --webpage --footer ... --header ... -t pdf --quiet --webpage -f " & strDateiPDF & " " & strDateiHTM
set wshell=Server.CreateObject("wscript.shell")
wshell.Run befehl, SW_SHOWNORMAL,true
Set wshell=nothing
'*** Rechnung per Mail versenden
'...
%>
Anhang: htmldoc.zip (946,77 KB)