Posts
247
Comments
67
Trackbacks
4
PDF-Datei mit OpenSource und ASP auf dem Webserver generieren

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)
posted on Thursday, October 05, 2006 2:00 AM Print
Comments
Gravatar
# 
Oliver Hohmeier
4/24/2007 3:57 PM
Hallo,

genau dieses Script habe ich gesucht. Bin leider neu im ASP Bereich und habe da noch eine Frage.
Ich m&#246;chte das gerade aktuell vom Server erstellte ASP Dokument speichern und nicht erst eine Vorlage einlesen und die Werte &#228;ndern.
Meine ASP Site ist bereits dynamisch generiert und diese muss ich jetzt halt als PDF erzeugen.

Dank im voraus.
Gravatar
# 
Christian
8/8/2007 6:50 AM
Inzwischen gibt es die Open Source Komponente iTextSharp f&#252;r .NET:
http://sourceforge.net/projects/itextsharp/

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 1 and 3 and type the answer here: