PrintPage für mehrere Drucker nur einmal verarbeiten

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Datenlogistik.

    PrintPage für mehrere Drucker nur einmal verarbeiten

    Hallo zusammen,

    vermutlich geht es nicht, aber vielleicht kennt jemand ja einen interessanten Workaround.

    Aufgabenstellung: Ein Dokument generieren und effizient auf mehrere Drucker verteilen ohne für jeden Druckvorgang das PrintPage-Ergeinis erneut durchlaufen lassen zu müssen.
    ... ich habe bis jetzt nichts finden können

    Bsp.: Rechnung drucken
    ... als Paper auf meinem Brother
    ... als PDF für die Archivierung in meiner Datenbank
    ... als PDF für den Versand per eMail (die Vermeidung der doppelten PDF-Erstellung ist ja einfach lösbar)
    ... als Fax via Fax-Drucker (in speziellen Verwendungen erforderlich)

    Die Druckszenarien einzeln/nacheinander auszuführen ist kein Problem.
    Jedoch ist es unbefriedigend, dass das PrintPage-Event jedes mal erneut ausgeführt werden muss und eine Menge Zeit in Anspruch nimmt (von Code-Optimierungen mal abgesehen).

    Da jeder Printer (egal ob physischer oder digitaler Druck) unterschiedliche Eigenschaften ausweist (z.B. PrintableArea) ist es mir klar, dass im Grunde das Dokument jedes mal neu generiert werden muss.

    Jedoch gibt es vielleicht einen interessanten Ansatz, dieses zu optimieren.
    @Datenlogistik Im direkten Druckbefehl geht das nicht, da per Properties Drucker und Druck-Dokument verknüpft sind.
    Probierma ein PDF zu drucken und dieses an Deine Drucker zu verteilen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Oder notfalls ein Bild aus den Druckdaten erstellen und das im PrintPage-EH nutzen?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    (Bitte das Thema noch nicht zu machen ... wird noch verarbeitet)

    Schade (aber verständlich), dass eine Verteilung an mehrere Drucker nicht ohne erweiterten Workaround möglich ist.

    Der Ansatz, zuerst ein PDF/Bild zu erstellen und danach an weitere Drucker zu verteilen, sollte die Verarbeitungsgeschwindigkeit erheblich verbessern.
    Jedoch ein/mehrere Bild/er aus den Druckdaten zu erstellen und dann zu verteilen erscheint mir flexibler (da ja leider nicht immer ein PDF-Drucker installiert ist).
    ... ich könnte vermuten, dass die Verarbeitungsgeschwindigkeit hier sogar noch besser ist (aber das teste ich aus).

    Die nächste zu testende Frage (ich habe hier nur ältere Erfahrungen aus VB5/6) betrifft für mich nun:
    Mit welchen Abmessungen ist ein Bild zu erstellen, damit eine Schrift (z.B. Verdana 10) per Bild-Druck genauso groß ausgedruckt wird wie per Standard-PrintPage.
    ... betrifft natürlich auch andere Objekte die zu skalieren sind, wie z.B. enthaltene Grafiken, Linien, etc.

    Damit werde ich mich in den nächsten Tagen beschäftigen ... aber vielleicht hat ja jemand bereits eine einfache Idee (ich befürchte, dass es so ist ;) ).