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.