Druck-Probleme

Wie bändige ich PDFs mit weißer Schrift auf schwarzem Grund?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Druck-Probleme
Hi,
folgendes Problem: Ich möchte mir Vorlesungsfolien ausdrucken, die ich in einem PDF vorliegen habe. Die Folien haben einen blauen Hintergrund, und gelbe Schrift. Wenn ich das jetzt einfach S/W ausdrucke verbrauche ich natürlich kollosal viel toner.
Gibt es irgendwie einen geschickten Weg um die Farben zu invertieren? Mein Drucker (ein HP Postscript-Laserdrucker) hat in den Treibereinstellungen eine “Farbrotation”-Einstellung, die aussieht als ob sie mir helfen könnte, aber irgendwie seh ich da keinen Unterschied in meinen Ausdrucken. Außerdem gibts noch die diversen Color-Profil-Einstellungen, das sieht aber sehr kompliziert aus. Bis jetzt bin ich nur auf folgende Lösung gekommen: PDF nach JPG (ja, die ganze Seite. Das wird ein großes JPG) konvertieren, dann mit imagemagick oder so die Farben invertieren, und dann ausdrucken. Hat da jemand eine elegantere Lösung?
Mein OS: Gentoo Linux mit KDE, Drucken geht über CUPS.


Vorschlag: Dozent erwuergen, der solche Folien produziert.
Ein Prof bei meiner Freundin hatte es mal geschafft ein 50-Seiten VL-Skript in etwa 150 MB Powerpoint-Folien zu verpacken. Das Drucken hatte dann auch etwas gedauert.

Sorry, dass ich keine konstruktive sondern nur eine destruktive (im wahrsten Sinne des Wortes :]) Loesung habe.


Du koenntest das ganze Ding nach PS konvertieren und dich dann mit dem Quelltext rumschlagen. Ahnungslos wie ich bin, geh ich davon aus, dass du mit ein paar einfachen Suchen und Ersetzen die Farben da umstellen koennen muesstest.

Diese Seite hier koennte dir weiterhelfen.


Beim Lesen meines eigenen Vorschlags faellt mir sogar eine konstruktive Abwandlung ein: Dozent fragen, ob er nicht schnell eine druckbare Version daraus macht!


Das hab ich mir auch schon überlegt, bzw. ich habe nach einem PS-Editor gesucht mit dem man sowas halbwegs komfortabel machen kann. Sowas gibts aber anscheinend nicht, das liegt wohl daran dass PS beliebig kompliziert werden kann (das ist ja eher eine Programmiersprache als ein simples Datenformat). Naja, vielleicht ist es wirklich mit ein paar Textersetzungen getan, muss ich mal schauen.

Den Dozenten nach einer anderen Version fragen ist natürlich auch eine Möglichkeit…mich reizt aber auch die Herausforderung es selbst zu machen :wink:


Hi!

Den Dozenten nach einer anderen Version fragen ist natürlich auch eine Möglichkeit…
mich reizt aber auch die Herausforderung es selbst zu machen
Ich wollt jetzt ja schreiben, was man vorne in die PostScript-Datei schreiben muss, aber wenn du es selber machen willst … :wink:
Aber wenn du willst kann ichs gerne mal hier reinschreiben.


Meinst du das im Ernst? An diesem Trick wäre ich natürlich interessiert…


crash = PostScript UberPr0.


richtig popichtig!


Was haengt an der Wand und gibt jedem die Hand,
wer weiss es, wer weiss es?


Meinst du das im Ernst? An diesem Trick wäre ich natürlich interessiert…
Klar … das mit dem Invertieren find ich grad nicht und hab vor heut abend auch keine Zeit, das hinzubasteln.
Hier für’n Anfang erstmal bissl was, das alle Grautöne heller macht, Schwarz aber schwarz lässt.

/origsetgray /setgray load def
/setgray { dup 0 gt { 2 add 1 sub 2 div } if origsetgray } def

um graustufen (bedingungslos) zu invertieren sollte das funktionieren (ungetestet)

/setgray { neg 1 add origsetgray } def

Falls auch Farben invertiert werden sollen kann ich da später auch nochmal suchen / basteln, wobei das bei CMYK leider bissl komplizierter ist :frowning: hab das bisher nur für RGB gemacht.
Läuft im Prinzip ähnlich, man muss aber noch bissl mit’m roll-Operator rummachen.


Auf das origsetgray kann man auch Verzeichten, wenn man “bind” nimmt. Das für CMY ist nicht getestet und für CMYK dürft ihr euch selber bauen :slight_smile:
Schreibts dann am besten auch hier rein.
Der PS-Code sollte ziemlich an den Anfange, z.B. zwischen %%BeginProcSet und %%EndProcSet

/setgray { neg 1 add setgray } bind def
/setrgbcolor { neg 1 add 3 1 roll neg 1 add 3 1 roll neg 1 add 3 1 roll setrgbcolor } bind def
/setcmycolor { neg 1 add 3 1 roll neg 1 add 3 1 roll neg 1 add 3 1 roll setcmycolor } bind def
/sethsbcolor { neg 1 add 3 2 roll 0.5 add dup 1 gt { 1 sub } if 3 1 roll sethsbcolor } bind def

Das klingt sehr interessant, crash. Das werd ich bei Gelegenheit mal ausprobieren.
(ich bin aber jetzt und die nächste Woche unterwegs…dafür wollt ich das Skript ja eigentlich ausdrucken…)