Színes Postscript kovertálása szürkeárnyalatosra

A cím önmagáért beszél. Keresek (a fekete-fehér nyomtatón kívüli) lehetőséget fenti konverzióra. Amin eddig túl vagyok:
psmod : (Perl script) csak bizonyos programok PS kimenetét hajlandó átalakítani
bw_convert : (Perl) korrekten lefutott és nem csinált semmit
gs -sDEVICE=psgray ... : a végeredmény valami iszonyat nagy - ami viszont nagyobb baj, valami hiba(?) következtében az A4-es oldalak bal alsó sarkában lett egy kb gyufaskatulya méretű _kétségtelenül_ szürkeárnyalatos kép
ImageMagick-féle convert: meghívja a GS-t, csinál minden oldalból bmp-t (vagy valami hasonló) ... - lelőttem
Nem akarok belőle bitmap-et csinálni, amit aztán esetleg visszakonvertálhatok PS-be; ha meg lehet oldani, PS-PS átalakító lenne a jó.

Hozzászólások

Mi van a file-ban? Valami raszter kep? erre lehet gyanakodni abbol, hogy a bw_convert "nem csinalt semmit"... Ez esetben a legegyszerubb, ha magat a kepet alakitod at gray-re :-)

a psgray fiaskoja, meg valami olyasmit vetit elore, hogy a PostScriptet keszito program "nem teljesen" veszi figyelembe a DSC-t...

Zsiraf

A fájlban az itt emlegetett blender PDF kimenete a linuxos acrobat reader (v7.0.1) által előállítva. Azaz van benne kép is, meg persze szöveg is, de speciel egyiket se volt képes szürkíteni (pl. tartalomjegyzés lila csíkja.) Nyilván jelen esetben az is lehet megoldás, ha valaki elárulja, mi módon lehet színes pdf-et kovertálni szürkeárnyalatosra. Sajnos én se az acroread-ben, sem az xpdf-ben nem találtam ilyen funkciót.
Hosszútávon azért a PS konverzió is érdekelne.

ImageMagick

convert color.ps -monochrome gray.ps

Mondjuk ez nem szürkeárnyalatos, de konvertál laponként szépen.

Közben elindítottam a display color.ps progit és megnéztem a menüben lehet grayscale-t kérni pont amire szükséged van.

Enhance->Grayscale

--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!

Nah csak megtaláltam a leírást is hozzá, meg magát a parancsot:

convert color.ps -colorspace Gray gray.ps

Az oldal itt.

ui: Egyre jobban tetszik ez az ImageMagick ;-)

--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!

Köszi, de nem olvastad el figyelmesen az elejét. Én ezt próbáltam, de az IM a ghostscript segítségével csinálja a PS dolgokat. A PS-t szétszedi laponkén ppm-be/pgm-be/nemtommibe, azt egyszerűen átalakítja, majd az eredményt vissza PS-be. Ráadásul ez egy-két lapnál még csak-csak, de sok oldalnál már igen lassú. (Kisebb és gyorsabb eredményt érek el, ha legalább a visszakonvertálást pts sam2p nevű progijával végzem el.) Egyébként én is szeretem az IM-et, de erre szerintem valami gyökeresen más eszköz kellene.)

Csak nem hagyott nyugodni a kérdés. Elindítottam így:

display -verbose color.ps

ezt kaptam tőle terminálban:

bash-3.1$ display -verbose color.ps
"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 "-sDEVICE=pnmraw" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-g638x825" "-r75.0277x75.0277" "-sOutputFile=/tmp/magick-XXniAxfE" "-f/tmp/magick-XXg6bFAK" "-f/tmp/magick-XXvfd5xU"
/tmp/magick-XXniAxfE[0] PNM 638x825 638x825+0+0 DirectClass 8mb
...

Ebből lecseréltem a megfelelő dolgokat így:

"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 "-sDEVICE=psgray" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-g638x825" "-r75.0277x75.0277" "-sOutputFile=gray.ps" color.ps

és átkonvertálta jól. Tehát ha jól értelmezem a dolgot akkor mindenképpen a ps fájl infóiból ki kell szedni a méret és egyéb infókat így meg maradhat az eredi méret és nem lesz lepedőnyi a cucc. Gondolom valamelyik programmal ki lehet szedni az infókat és akkor simán meg tudod adni egy bash scriptben a méretet egy változón keresztül. Amit néztem az identity program valamiért ennél kisebb méretet vesz alapul:

bash-3.1$ identify color.ps
color.ps[0] PS 612x792 612x792+0+0 DirectClass 7mb
...

Próbáld ki.

--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!