Drucken per Command

Setup und Komponenten-übergreifende Probleme.

Moderator: Moderatoren

Hannes0815
Beiträge: 1
Registriert: Di, 24.01.2012 09:57

Drucken per Command

Beitrag von Hannes0815 »

Tach zusammen,

Ich nutze eine Warenwirtschft, mit der ich Dokumente generiere. Die Warenwirtschaft erzeugt die Dokumente dabei intern mit dynamischem Namen.
Für die Ausgabe der Dokumente kann ich für jede Dateiart, z.B. .odt, ein Programm mit der jeweiligen Befehlszeile zum Drucken hinterlegen.

Meine Frage ist nun: Gibt es eine Möglichkeit, dass ich Open Office mit dem entsprechenden Befehl hinterlege, so dass bei Ausführung die Datei im Writer direkt mit dem Druckdialog geöffnet wird?

Der Command "soffice.exe -pt "PrinterName" OpenOfficeFile" bringt mich nicht weiter, da der Dateiname wie gesagt dynamisch ist und ich den eigentlichen Drucker auch jedesmal selbst auswählen möchte.

Hat einer ne Idee?
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Drucken per Command

Beitrag von Stephan »

Meine Frage ist nun: Gibt es eine Möglichkeit, dass ich Open Office mit dem entsprechenden Befehl hinterlege, so dass bei Ausführung die Datei im Writer direkt mit dem Druckdialog geöffnet wird?
Du kannst ein Makro starten das das erledigt.
Wähle in OpenOffice.org (nicht "Open Office") Extras-Makros-Makro aufzeichnen, wähle Datei-Drucken und speichere nun das Makro und bricht danach den Druckdialog ab, das gibt:

Code: Alles auswählen

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:Print", "", 0, Array())


end sub
entferne das "rem" vor der dispatcherzeile:

Code: Alles auswählen

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Print", "", 0, Array())


end sub

Wähle in OOo im Menü Extras-Anpassen-Ereignisse und weise das obiger Makro dem Ereignis "Dokument öffnen" zu.


Gruß
Stephan
Antworten