grafiken nicht drucken

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: grafiken nicht drucken

von kvogelsa » Do, 29.09.2005 12:35

Hallo, nachdem Ihr mir hier so sehr geholfen habt, nun ein neues Problem:

Ich drucke über Makro die erste Seite eines Dokumentes auf Drucker "eins" ("Briefdrucker") und alle anderen auf Drucker "zwei" ("Laserjet")

Code: Alles auswählen

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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Printer"
args1(0).Value = "Briefdrucker"

dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "RangeText"
args2(1).Value = "1"
args2(2).Name = "Collate"
args2(2).Value = false

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Printer"
args3(0).Value = "Laserjet"

dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args3())

rem ----------------------------------------------------------------------
dim args4(2) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Copies"
args4(0).Value = 1
args4(1).Name = "RangeText"
args4(1).Value = "2-99"
args4(2).Name = "Collate"
args4(2).Value = false

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args4())
Das Problem ist, dass OOo in jeder version damit gnadenlos abstürzt (ansonsten funktioniert das Makro..)

Woran kann das liegen? ich vermute, es liegt an RangeText value "2-99". damit drucke ich auch dateien, die nur drei seiten haben.

Wie müsste der Wert denn korrekt heißen, ich will ja sagen "alle außer Seite 1".

irgendwas wie >1 oder !1 müsste es sein, aber wie heißt das im OOo Makro?

Vielen Dank..

von kvogelsa » Mi, 02.03.2005 12:14

ich habs, mit ein wenig rumtüfteln hinbekommen.
vielen dank!

Das skript sieht jetzt so aus:

Code: Alles auswählen

sub briefdruck
rem ----------------------------------------------------------------------
rem Grafikennichtdrucken

    DIM oMasters as Object 
    DIM oFeld as object          ' das Textfeld
   oMasters = ThisComponent.getTextFieldMasters()
   oFeld = oMasters.getByName("com.sun.star.text.FieldMaster.User.Grafik")
   oFeld.content = "aus"
   'msgbox oFeld.name
   'msgbox oFeld.content

rem Grafikennichtdrucken ende

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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue 
args1(0).Name = "Printer"
args1(0).Value = "Briefdrucker"

dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "Collate"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())

rem Grafikendrucken

  '  DIM oMasters as Object 
  '  DIM oFeld as object          ' das Textfeld
  ' oMasters = ThisComponent.getTextFieldMasters()
  ' oFeld = oMasters.getByName("com.sun.star.text.FieldMaster.User.Grafik")
   oFeld.content = "ein"
   'msgbox oFeld.name
   'msgbox oFeld.content

rem Grafikendrucken ende

end sub

von kvogelsa » Di, 01.03.2005 15:23

hi lenu,
danke für die tips.
ich habe alles gemacht, wenn ich die variable händisch auf 0 setze, werden die grafiken nicht gedruckt. bloß das makro bekomme ich nicht hin.

das von thomas erzeugt:
Basic Laufzeitfehler, es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElement.Exception

meine Variable heißt Grafik und ist als Standard Format (nicht text) gesetzt.
kannst du mir einen kurzen tip geben, wie das makro aussehen muss?

von kvogelsa » Mo, 28.02.2005 20:58

ist es normal, dass wenn ich unter "zusätze" die Grafiken ausschalte, auch OLE Objekte (hier: Calc-Tabelle) nicht gedruckt werden?

von kvogelsa » Mo, 28.02.2005 13:41

Danke!
Mit dem Button Zusätze kommt man schon einfacher ans Ziel. Gibt es noch die Möglichkeit, in einem Makro diesen Punkt als Argument zu übergeben? Ich habe versucht, eins aufzuzeichnen, er merkt sich jedoch nicht, dass die Grafiken abgeschaltet wurden, Makro sieht so aus:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Main

End Sub





sub briefdruck
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Printer"
args1(0).Value = "Briefdrucker"

dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "Collate"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())


end sub
Vielleicht gibt es so etwas wie

Code: Alles auswählen

args2(1).Name = "Graphics"
args2(1).Value = false
?

Oder ich verändere den Print Befehl. Der sieht bisher so aus:

Code: Alles auswählen

/usr/bin/lp -d Laserjet -o 1:InputSlot:Tray2 -o InputSlot:Tray1
Gibt es vielleicht eine Option die ich noch übergeben kann, die Grafiken drucken deaktiviert?

Vielen Dank.

von Toxitom » Mo, 21.02.2005 17:36

Hey Kvogels,

Hmm, die Eigenschaften beider Grafiken ändern? Warum so umständlich? In den Optionen -> Writer -> Drucken kannst du eine Option ausschalten, dann wird das Dokument ohne Grafiken gedruckt.

Gleiches erreichst du auch, wenn du Drucken über den Menüpunkt aufrufst (Datei - Drucken) und dort den Button "Zusätze" aktivierst. Jetzt kannst du bequem die Grafiken für diesen Druckvorgang abschalten.

Funktioniert natürlich nicht, wenn noch mehr Grafiken drin sind, die gedruckt werden sollen Dann mit Makro. Ist aber etwas aufwendiger. Also, bei Bedarf nochmals posten.

Gruss
Thomas

grafiken nicht drucken

von kvogelsa » Mo, 21.02.2005 12:40

Hallo!

ich verwende OOo 1.1.4 auf Linux. Hardwaremäßig verwende ich einen HP LJ 4 plus mit zwei Papierschächten.

Da die Einstellung unter OOo mit Linux/KDE nicht funktioniert, die erste Seite auf einem anderen Schacht zu drucken als den Rest, habe ich einen eigenen Drucker "Briefdrucker" installiert. Dieser druckt die erste Seite auf dem oberen Schacht, in dem mein Briefpapier mit farbigem Logo liegt, den Rest auf dem unteren Schacht auf weißes papier. Soweit kein Problem.

In meiner Dokumentvorlage finden sich zwei Grafiken, das logo und eine digitalisierte Unterschrift. Diese sind von Haus aus in Ihrern Eigenschaft als druckbar markiert, damit ich via Faxlösung und via "als pdf versenden" unterschriebene Briefe mit logo versende.

Um auf dem Laserjet zu drucken, sollen beide natürlich nicht aufs Papier. das logo nicht, weil es in farbe bereits dort ist, die unterschrift nicht, weil man sieht, dass die gedruckt ist.

es ist nun mühsam, jedesmal von hand die eigenschaften beider grafiken zu ändern. kann man dies irgendwie automatisieren? mit selbst aufgezeichneten makros bin ich nicht zurande gekommen.

Hilfe wäre sehr nett, danke!

Nach oben