none
Gebühren für Druckerbenutzung RRS feed

  • Frage

  • Hallo,

    wir sind eine Schule in NRW und haben einen für Schüler benutzbaren Drucker. Da wir die Druckkosten aus eigener Tasche finanzieren müssen, können die Schüler Prepaid-Karten zum Drucken kaufen. Zur Zeit werden diese beim Drucken von einem Lehrer abgehakt, das soll aber automatisiert werden. Mir fallen da mehrere Möglichkeiten ein, das zu realisieren:

    1. Eingriff in die Druckerwarteschlange, Druckjob so lange pausieren wie das Programm einen Prepaid-Code abfragt.
    2. Eigener Druckertreiber und nach erfolgreicher Prepaid-Code-Authentifizierung Druckauftrag an einen echten Drucker weiterleiten.

    Bei 1. finde ich keine Möglichkeit, den Druckjob rechtzeit zu pausieren, d.h. ihn vor dem Druckbeginn der ersten Seite zu stoppen. Zu 2. fällt mir gar nichts ein, weder wie ich einen eigenen Drucker installiere, noch wie ich den Druckjob an den echten weiterleite.

    Hat jemand vielleicht einen Codeschnippsel oder einen Link, der mir weiterhelfen könnte?

    Danke und Gruß,
    Renate

    Samstag, 17. März 2007 12:26

Alle Antworten

  • Ich glaube, da mußt du zur WINAPI Greifen.

     

    http://www.michael-puff.de/Developer/Artikel/2006_06/Drucken.shtml

     

    Evtl. nochmal per Google WinAPI und C# suchen.

     

    Das Thema ist leider sehr speziell daher kann ich nur wenig Informationen od. Code liefern ...

    Sonntag, 23. September 2007 02:51
  • Hi Renate,

    das ist ja ein Projekt , da juckt es mir schon wieder in den Fingern.

    Ich würde am leibesten schon wieder alles stehen und liegen lassen und voll mit einsteigen.

    Das ist ein Projekt, voll nach meinem Geschmack.

    Kann man das auch in C++ machen?

    C# ist nicht so ganz meine Bahn.

    Wie muss ich mir das Vorstellen!?

    Soll ein Betrag von der Karte abgebucht werden?

    Oder kann man sich dem Prinzip der TAN Nummer bedienen.

    Das heißt im Einzelnen, die TAN-Nummern oder auch PFC  PrintFreeCode-Nummer wird in einer Datenbank bei der Vergabe gespeichert.

    Nun muss der Schüler die PFC-Nummer in ein Freigabefenster eingeben, nach erfolgreicher Überprüfung wird der Druckerauftrag freigegeben und nach Erfolgreichem Druck, wird die Nummer aus der Datenbank gelöscht.

    Die PFC-Nummern können auf eine Karte gespeichert werden, mit der man das einlesen der Nummer Automatisieren könnte, je nach Aufwand.

    Oder man gibt dem Schüler die PFC-Nummern auf in Blatt Papier mit, sowie man die TAN-Nummern auch von der Bank bekommt.

     

    Gruß Doug_HH

     

    Dienstag, 25. September 2007 16:46
  • Hi ihr beiden,
    also zu dem WinAPI-Ansatz: Soweit ich das sehe, greift das Beispiel über GDI auf den Drucker zu, da liegt leider auch mein Problem, mit der GDI kann ich Text, Grafiken etc. ausgeben, aber halt nicht die Druckerwarteschlange ansteuern. Ich bräuchte eine API, um die Druckerwarteschlange zu hooken. Trotzdem Danke für die Bemühungen so lange nach meinem Post! Smile
    Ich kann nur C# (und VB6...), so lange es .NET ist, wäre es aber hin- und herkonvertierbar... sonst wird's schwierig. ^^
    Meine bisherige Idee war: Der Schüler zahlt z.B. 5 Euro für eine Papierkarte mit einer Nummer drauf. Diese Nummer berechtigt ihn, für 5 Euro zu drucken. Für jede gedruckte Seite wird von den für diese Nummer hinterlegten 5 Euro x Cent abgezogen. D.h. für jeden Druck wird die selbe Nummer verwendet, so lange, bis das der Nummer hinterlegte Konto leer ist.
    Ob man das mit einer TAN paart - in einer Schule ist das etwas überdimensioniert, viel mehr als Papier drucken wird man hier auch nicht können (Druck-Disketten gingen vielleicht noch, dann hätten die Diskettenlaufwerke wenigstens noch eine Aufgabe ;D). In anderen Einsatzgebieten sähe das aber sicher anders aus, wo Sicherheit wichtiger ist und man vielleicht Geld für Karten und Kartenleser hat, wäre eine interessante Erweiterung Wink

    Viele Grüße,
    Renate
    Dienstag, 25. September 2007 22:55
  • Also die Idee is super.

     

    Ich glaub hier hab ich etwas Interessantes gefunden:

     

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_1gky.asp

     

    Darüber kann man den Drucker ansprechen und auch den Druckmanager ...

     

    Ansonsten schau nochmal hier:

    http://msdn2.microsoft.com/en-us/library/ms535673.aspx

    Donnerstag, 27. September 2007 16:22
  • Das muss ich mir mal am Wochenende anschauen, danke! Smile
    Donnerstag, 27. September 2007 18:59
  • Kein Thema, dafür sind wir doch da im Forum Smile

     

    Sag bescheid wenns klappt. Ansonsten such ich noch ein paar Links für dich Smile

    Samstag, 29. September 2007 02:48
  • Hallo,
    es ist jetzt schon 1 Jahr her, aber mittlerweile habe ich eine Lösung gefunden.
    Wegen dem langen Zeitraum werde ich die Lösung hier nur kurz skizzieren, falls sich jemand dafür interessiert, erkläre ich das noch gerne detaillierter.
    Die Schüler werden auf einem virutellen Drucker, d.h. genauer auf einem PDF-Drucker am Server drucken. Dieser wird den Druckauftrag als PDF-Datei in einen Ordner am Server speichern, der von meinem Programm überwacht wird. Das Programm veranlasst die Rückfrage nach der Bestätigung, druckt ggf. die PDF auf dem echten Drucker und zieht das Guthaben vom Konto ab. Keine Ideallösung, aber eine getestete und für praktikabel befundene. Vorteilhaft ist sogar, dass der Schüler mit dem echten Drucker gar keine Verbindung aufbaut. Verwenden werden wir vermutlich GhostScript...

    Vielen Grüße,
    Renate

    P.S.: Das eigentlich holprige: Der Benutzer wird am PDF-Dateinamen identifiziert, den der PDF-Drucker vergibt (z.B. HerbertMeier.pdf).
    Mittwoch, 6. August 2008 19:06