ps beszúrás

Fórumok

Hi!

Valahogy meg lehet azt oldani, hogy egy postscript fájl első lapja elé beszúrjak egy üres oldalt, tehát hogy ez legyen az első, az eddigi első meg a második :- ). (Valami parancssoros megoldás érdekelne leginkább).

Köszi.

Hozzászólások

Ha normalis a PS file-od (PS3), akkor az alabbit ajanlom:
1. keszits egy blank.ps nevu file-t az alabbi tartalommal:

%!PS-Adobe-3.0                                                                  
%%Pages: 1                                                                      
%%EndComments                                                                   
%%BeginProlog                                                                   
%%EndProlog                                                                     
%%Page: 0 0                                                                     
%%BeginPageSetup                                                                
%%EndPageSetup                                                                  
showpage                                                                        
%%EOF                                                                           

2. psmerge -oujfile.ps blank.ps azerdekesfile.ps

Ennek, meg az osszes psmerge megoldasnak az a baja, hogy a gs-nek a pswrite kimenetet hasznalja, ami raszterizalja a file-t, (azt hiszem alapkent 300dpi-vel :-( )...

Kicsit mashogy:
Ha az atalakitando file-aid nem tul elvadultak, akkor pl a kovetkezo sed script-el is celt erhetsz:
sed -ri 's/(%%Page: 1 1)/%%Page: 0 0\nshowpage\n\1/' atalakitando.ps

Ez azt feltetelezi, hogy PS-3.0 a file, es az elso oldal az 1-es (ez ele szur be egy 0. oldalt)

A kovetkezo perl 'one-liner' egy kicsit (de csak egy kicsit) ertelmesebb:
perl -i -ple 'print qq{%%Page: 0 0\nshowpage} and $ok=1 if (/%%Page: / && !$ok); close ARGV and $ok = undef if eof' azerdekes.ps

Ez az elso %%Page: ele szurja be az uj oldalt...

Zsiraf

p.s.: a sed- es a perl script-nel is tobb file-t felsorolhatsz a parancssorban, mindegyiknel megcsinalja a beillesztest ... :-)