Announcement

Collapse
No announcement yet.

Beliebiges Dokument drucken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Beliebiges Dokument drucken

    Hi,

    In einer Applikation können einem Vorgang verschiedene Dokumente zugeordnet werden, dies können Bilder (jpg, Tiff / mehrseitige Tiff, bmp, gif usw.) sein aber ebenfalls mehrseitige PDFs, Word oder reine Textdokumente. Weitere Dateiformate für die Zukunft sind nicht ausgeschlossen.

    Nun möchte ich alle Dokumente auf einem bestimmten Drucker ausdrucken können, ohne bei jedem Dokument erst untersuchen zu müssen, welches Dateiformat das ist, und über "Fernsteuerung" des Programms die Datei zu drucken (unter anderem auch deshalb, weil ich nicht sicherstellen kann, welche Versionen der entsprechenden Programme auf den entsprechenden Rechnern installiert sind, und dann wird das mit der Fernsteuerung ein bisschen schwierig.

    Gibt es da eine einfache Möglichkeit, ich denke da an so etwas wie
    Code:
    aktuellen Drucker speichern
    Setze gewünschten Drucker
    for Each dateiname As String in dateiliste
       Drucke(dateiname)
    next
    setze wieder auf gespeicherten Drucker
    bis auf Drucke(dateiname) habe ich alles zusammen, und gerade das ist das wichtigste.

    Hilft mir Printing.PrintDocument irgendwie weiter? Ich kann da zwar ganz komfortabel die Druckereinstellungen angeben, ohne die Standardeinstellungen des Users zu zerschießen, aber wie ich das zu druckende Dokument auswähle entgeht mir irgendwie.

  • #2
    Hallo,

    Es ist zwar schon lange her und ich hab auch den Source Code nicht mehr zur Verfuegung um nachzuschauen, aber ich glaube mich daran zu erinnern, dass ich ein solches Problem mit Hilfe von Windows Scripting geloest habe (war in Visual FoxPro).

    Irgendwie so in der Art:
    - 'WScript.Shell' instanzieren
    - die 'Run'-Methode mit DOS Command 'PRINT' oder 'NET PRINT' als Parameter aufrufen
    - hoffen dass es funktioniert

    Bin mir wie gesagt, nicht 100 %ig sicher, ob es in .NET genauso einfach geht, wie damals in VFP, aber vielleicht hilft es dir trotzdem weiter.
    *-- robert.oh. --*

    Comment


    • #3
      Ich kann mich grob daran erinnern mit net print <Drucker> den Zustand der Drucker-Warteschlange abgefragt zu haben, als ich im 4. Stock meine Diplomarbeit gemacht habe, und der Drucker im Erdgeschoss stand. Ich müsste mir das mal in den HelpPages ansehen, ob ich da auch was steuern kann.

      Print geht nicht, das bringt nicht das Bild sondern nur Müll auf den Drucker! Vermutlich versucht er die Grafik als Textdatei zu interpretieren...

      Die Möglichkeit, die bisher noch am ehesten geklappt hat, ist
      Code:
      Dim psi as new ProcessStartInfo(dateiname)
      psi.Verb="Print"
      Process.Start(psi)
      aber da habe ich dann wieder das Problem, dass ich nicht weiß, wie ich dem Drucker bestimmte Kommandos mitteilen kann, wie "Anzahl Kopien", "Duplex", "DraftModus", "Sortieren+Heften" usw. Nun gut letzteres hängt dann vermutlich vom Druckertreiber ab, dem ich das irgendwie mitteilen muss, aber der Rest wäre schon schön, wenn ich den direkt beim Ausdrucken schon mitliefern kann, und das ganze nicht in einer Liste durchlaufen muss, in der ich das Paket so oft hintereinanderdrucke, wie ich Exemplare brauche

      Comment

      Working...
      X