DevTrain

Autor: Bernhard Elbl

PDF´s on the Fly

PDF-Files sind ein Dokumenten-Format wie viele andere auch. Das gute an ihnen ist ihr plattformübergreifender Standard. Ob Windows, Unix oder Mac alle können mit Hilfe des Acrobat Readers von Adobe PDF-Files lesen. Hier der Link...
http://www.adobe.com/products/acrobat/main.html

Wie kann man PDF-Files am Server generieren?
Der Free Acrobat Reader unterstützt nur das lesen von PDF-Dokumenten. Sie können keine Dokumente modifizieren. Um neue PDF´s erstellen zu können, brauchen Sie Adobe Acrobat oder andere Komponenten die das Generieren der Files durchführen können.
Wie z.B. activePDF...
http://www.activepdf.com/
Diese ist die ein sehr sehr sehr leistungsfähige Komponente, die viele nützliche Features besitzt, im Gegensatz zu den meisten anderen PDF-Komponenten.


Acrobat vs activePDF
Im allgemeinen ist (full) Acrobat vielfältiger als activePDF (z.B. Plug-Ins erstellen, und viel Detailarbeit). Allerdings hat Acrobat im Webserver-Einsatz einige schwerwiegende Nachteile:
1. kein "Multithreading-Fähiges" API ==> zwei Benutzer können/sollten nicht gleichzeitig ein PDF generieren.
2. Es gibt keine Server-Lizenzen sondern nur User-Lizensen
3. kein sauberes Object-Modell
Ausserdem bietet activePDF ein praktikables Objekt-Modell, dass über COM-Schnittstellen bereitgestellt wird.
Die zwei wichtigsten Objekte im ASP-Gebrauch sind "APServer" und "APPrinter"
APServer = erstellt, speichert PDF´s
APPrinter = "der Zeichen-Stift für Ihr Dokument"
mehr Infos...
http://www.activepdf.com/en/Products/Server/Features.asp
http://www.activepdf.com/en/Products/Printer/Features.asp


Beispiel:
Mit Hilfe von APServer wird ein PDF-File generiert. Dieses wird als Binär-Stream an den Client-Browser geschrieben. Das PDF-File kann/wird dann ohne Probleme sofort gelöscht werden.

<%@ Language=VBScript %>
<%
response.buffer = True
Set oAPP = Server.CreateObject("APServer.Object")
oAPP.LoadConfiguration("C:ProgrammeactivePDFSavedConfmyconfig.aps") ' Default-Configuration wird geladen
lStartError = oAPP.StartPrinting()  ' Der Schreiben wird gestartet
oAPP.Test "es funktioniert"  ' das ist eine reine Test-Funktionen

lWaitError = oAPP.Wait(30)  ' 30 sekunden-Zeit für generieren. wenn lWaitError <> 0 dann Fehler
oAPP.StopPrinting

response.expires = 0
response.clear
response.ContentType = "application/pdf" ' ContentType für PDF-Files setzen

Response.BinaryWrite(oAPP.GetBinaryImage(oAPP.FullDocumentPath))  ' Binär-Stream an Client schreiben
R = oAPP.DeleteFile(oAPP.FullDocumentPath) ' generiertes PDF-File löschen
Set oAPP = Nothing
Response.End
%>


LoadConfiguration = activePDF liefert ein Config-Tool aus, mit dessen Hilfe Standard-Einstellungen beim Erstellen von PDF´s einfach konfiguriert werden können. Daraus entstehen "*.aps Config-Files" die geladen werden können.

 

 


Erfasst am: 22.01.2002 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=691
© Copyright 2003 ppedv AG - http://www.ppedv.de