OT: Odbarveni postscriptu
Zdenek Wagner
wagner at cesnet.cz
Thu Mar 28 11:23:53 CET 2002
On Thu, 28 Mar 2002, Jakub Vosahlo wrote:
> Dobry den;
>
> Omlouvam se za OT a v pripade, ze zde byl uz podobny dotaz probiran, prosim
> o nakopnuti do patricnych mist a patricnym smerem.
>
> Mam dokument v pdf v 1.3, liche stranky maji cerny text na oranzovem pozadi,
> sude oranzovy text na cernem pozadi (reklamni brozura). Potrebuju to
> vytisknout a zaroven nevycerpat toner tiskarny. Napadlo me, ze prevod do PS
> a nejaka kouzelna uprava by mohla vyresit muj problem. Patrani (mozna
> nedostatecne trpelive) neprineslo uspech.
>
> Nez se pustim do studia postscriptu zeptam se vas - je mozne ps dokument
> upravit tak, aby vsechny stranky mely bile pozadi a veskery text byl cerne?
> Co se stane s obrazky a ruznymi grafickymi ozdubkami (cary a kolecka okolo
> textu/obrazku) me pro moje ucely nezajima.
>
Neposkytnu hotove reseni, spise navod a bude nutno to doladit metodou
pokusu a omylu. Asi bych vytiskl zvlast sude a zvlast liche stranky do PS
souboru a v nich bych pak predefinoval nektere operatory. Predpokladam, ze
cerna barva textu na lichych strankach bude definovana pomoci
0 setgray
Prepnuti vsech jinych barev bych predefinoval na bilou (c RGB i CMYK)
pomoci:
/white { {pop} repeat 1 setgray} bind def
/setrgbcolor { 3 white} bind def
/setcmykcolor { 4 white } bind def
Na sudych strankach to bude trochu slozitejsi, protoze musime zmenit i
definici setgray, ale budeme potrebovat tu puvodni. Takze volani te
puvodni bude:
/mygray {/setgray} bind def
Tim "bind" se vlozi konkretni definice, takze to odpovida TeXovskemu \let,
bez "bind" by to odpovidalo TeXovskemu \def a po zmene definice setgray by
se zmenilo i chovani mygray. Slo by to obejit pouzitim
systemdict /setgray get exec
ale to je vic psani. Nini predefinujeme setgray tak, aby bylo vzdy bile:
/setgray {pop 1 mygray} bind def
A na zaver vsechny ostatni barvy zmenime na cernou:
/black {{pop} repeat 0 mygray} bind def
/setrgbcolor {3 black} bind def
/setcmykcolor {4 black} bind def
Ted me napada jeste jina (jednodussi) varianta, jak cernou zmenit na bilou
a ostatni sede nechat puvodni. tim se usetri mygray a nove setgray bude:
/setgray {
dup 0 eq {pop 1} if % vymena cerne za bilou
systemdict /setgray get exec
} def
V dokumentu mohou byt pouzity i jine barevne modely nez RGB a CMYK, pak
bude nutno pridat dalsi definice. Horsi bude, pokud dokument bude pouzivat
setcolor. Pak budete muset zjistit, jaky je aktualni barevny prostor,
kolik ma slozek a odpovidajici cislo predat jako parametr maker white a
black. Dalsi potiz muze byt v tom, ze cerna bude definovana jako
0 0 0 setrgbcolor
nebo
0 0 0 1 setcmykcolor
nebo dokonce (a to by byla zvrhlost) jako
1 1 1 x setckykcolor (misto x muze byt libovolne cislo mezi 0 a 1). To
vsak z polygrafickeho hlediska neni spravne, i kdyz je to ve vysledku taky
cerne. V takovych pripadech budete muset vyse zminena makra udelat ponekud
chytrejsi.
Barva bitmapovych obrazku se tim neovlivni.
> Diky za pomoc,
>
> Jakub Vosahlo
>
>
> ________________________________________________________________________
> This email has been scanned for all viruses by the MessageLabs SkyScan
> service. For more information on a proactive anti-virus service working
> around the clock, around the globe, visit http://www.messagelabs.com
> ________________________________________________________________________
>
>
>
>
Zdenek Wagner
e-mail: wagner at mbox.cesnet.cz or wagner at icpf.cas.cz
see also http://www.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz
More information about the csTeX
mailing list