PHP, PDFlib, Ajax und das Zusammenspiel
Also im Bereich PHP bin ich im großen und ganzen sehr fit. Auch im Bereich Ajax habe ich inzwischen nur sehr selten Schwierigkeiten. Javascript hat mir noch nie wirklich Probleme bereitet. Nun stehe ich aber vor einem großen Problem.
Ich habe auf meinem Server PDFlib installiert (Nicht die Lite-Version, sondern die Vollversion PDFlib 8) - Momentan nutze ich es noch als nicht lizensierte Testversion, jedoch wird umgehend eine Lizens installiert, sobald das Script funktioniert. Habe auch bereits mit dem Support von PDFlib GmbH telefoniert und mit Ihnen klar gesetellt, dass mein Fehler nicht an der Testversion liegt.
Im Großen und ganzen soll ein PDF erstellt werden, welches mit einem Passwort geschützt ist und nur einmalig druckbar ist. Weiterhin ist die Drucken-Funktion deaktiviert. Nachdem dies jedoch eigentlich nicht möglich ist muss man dies über einen Umweg lösen. Diesen habe ich auch schon raus, jedoch komme ich nun programmiertechnisch einfach nicht weiter.
Der Weg sieht wie folgt aus:
1. PDF wird aus PHP heraus erstellt und mit einer einmaligen Javascript-Variable ausgestattet, welche auch in einer mySQL-Datenbank serverseitig ausgestattet wird.
1. PDF wird vom User geöffnet.
2. Ein PDF-Javascript startet und gibt die hinterlegte Variable an den Server weiter. Zu diesem Wert ist Serverseitig ein Vergleichswert hinterlegt welcher bestimmt ob das Dokument bereits gedruckt wurde, oder nicht.
Der Server liefert dann z.B. zurück: "0", oder "abcdefghij"
3a. Sollte der Server eine 0 zurückliefern, so wurde das Dokument bereits gedruckt und kann kein weiteres mal mehr gedruckt werden.
3b. Sollte der Server keine 0 zurückliefern, so wurde das Dokument noch nicht gedruckt und der Rückgabewert des Servers wird in ein Vordefiniertes Feld auf dem PDF eingesetzt und Sofort gedruckt.
4. Nachdem der Druck ja im Dokument verhindert wird ist es jedoch eigentlich nicht möglich trotzdem zu drucken. Daher muss auch hierfür eine Lösung her: Javascript!
Sowas ähnliches wurde auch schon realisiert (siehe StampIT, oder Onlinefrankierung der DHL)
Dass es funktioniert ist Fakt! Nur wie ... Wäre sehr sehr dankbar, wenn mir irgendjemand helfen könnte.
|