Skriva ut häftesark

Från Basvrak

Hoppa till: navigering, sök

Det finns lite piffiga grejer man kan göra med paketet psutils.

Innehåll

Ark för åttasidiga a6-häften

Här tänkte jag visa hur man med pstops kan bygga ark som man kan vika ihop till åttasidiga a6-häften.

Antag att vi har en postscriptfil in.ps och vill fixa dubbelsidiga a4-ark för att skriva ut på en enkelsidig skrivare.

Baksidorna fixar vi genom

pstops -pa4 "8:6@0.5(.5w,0)+1@0.5+2U@.5(0.5w,1h)+5U@.5(1w,1h)" in.ps ut_j.ps

Har vi fler än åtta sidor, dvs mer än ett ark, så vill vi kanske kasta om ordningen, så vi slipper bläddra om innan vi lägger tillbaks arken i skrivaren för att skriva på framsidorna.

pstops -pa4 "1:-0" ut_j.ps ut_jr.ps

Dessa två steg kan vi ersätta med ett enda

pstops -pa4 "8:-6@0.5(.5w,0)+-1@0.5+-2U@.5(0.5w,1h)+-5U@.5(1w,1h)" in.ps ut_jr.ps

Framsidorna fixar vi sedan med

pstops -pa4 "8:0@0.5(.5w,0)+7@0.5+4U@.5(0.5w,1h)+3U@.5(1w,1h)" in.ps ut_u.ps

Skriver vi nu ut ut_jr.ps, vänder bunten så skrivarn börjar på sista sidans baksida och sedan skriver ut ut_u.ps, så har vi våra ark.

Använder vi en duplexskrivare kan vi köra allt på en gång

pstops -pa4 "8:0@0.5(.5w,0)+7@0.5+4U@.5(0.5w,1h)+3U@.5(1w,1h),6@0.5(.5w,0)+1@0.5+2U@.5(0.5w,1h)+5U@.5(1w,1h)" in.ps ut.ps

Viker vi varje ark två gånger, så att första sidan i varje block om åtta hamnar utåt så har vi ett antal häften om åtta sidor som sedan kan sys ihop och sprättas i överkanten eller skäras till.


Ett a5-häfte

Följande ger, efter dubbelsidig (long edge) a4-utskrift ett a5-häfte om vi bara viker rasket på mitten och syr eller häftar ihop.

pstops -pa4 "4:0R@.7(0,0.5h)+-3R@.7(0,1h),1L@.7(1w,0)+-2L@.7(1w,.5h)" in.ps ut.ps

Lite om syntaxen och transformationerna

Syntaxen för sidospecifikationerna är

pagespecs = [modulo:]specs
specs = spec[+specs][,specs]
spec = [-]pageno[L][R][U][@scale][(xoff,yoff)] 

Plus mellan specsen betyder att det läggs på samma sida, komma att det läggs på ny sida. Sidonumreringen är inom varje block om modulo sidor i källfilen, och börjar på noll; minus betyder att man går bakifrån och fram i dokumentet, dvs -0 är första sidan varje block, men blocken tas bakifrån. L, R och U är rotation av sidorna, som görs kring nedre vänstra hörnet; (xoff,yoff) är translation, som görs efter[1] rotation och skalning; enheten är ps-punkter, men man kan använda explicita enheter som cm, eller w och h för sidans bredd resp. höjd. Att behålla udda sidor som i originalet men vända upp och ned på jämna sidor görs då till exempel med 2:0,1U(1w,1h); notera translationen som är nödvändig eftersom rotationen roterat sidan till utanför den nya sidan.

  1. uttryckt i målkoordinater

Länkar

The Linux Cookbook har andra exempel på att pyssla om PS-filer.

Personliga verktyg
test