grafiken nicht drucken
Moderator: Moderatoren
grafiken nicht drucken
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!
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!
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
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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
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:
Vielleicht gibt es so etwas wie
?
Oder ich verändere den Print Befehl. Der sieht bisher so aus:
Gibt es vielleicht eine Option die ich noch übergeben kann, die Grafiken drucken deaktiviert?
Vielen Dank.
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
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
Vielen Dank.
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?
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?
ich habs, mit ein wenig rumtüfteln hinbekommen.
vielen dank!
Das skript sieht jetzt so aus:
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
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")
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..
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())
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..