Ein Booklet in Din-A6 als druckfertige PDF-Datei erstellen

Alle Jahre wieder fällt einem die Aufgabe zu eine Drucksache für einen Verein, Organisation oder Gruppe zu erstellen. Beliebterweise sind das meist Flyer oder auch Booklets, welche man kostengünstig auf Din-A4 Papier gedruckt dann mittels schneiden, falten und heften in kleine ansehnliche Büchlein verwandeln kann.

Für Booklets mit der Seitengröße Din-A5 gibt es schon einige Programme (wie OpenOffice) und Tools (wie PDF-Creator), die von Hause aus mit wenigen Klicks die Seiten korrekt sortiert auf Din-A4-Papier ausdrucken können. Doch für viele Sachen ist Din-A5 immer noch zu groß bzw. zuviel Platzverschwendung.

Wenn man also ein Din-A6 Booklet produzieren möchte, was praktischerweise je 4 Doppelseiten auf einem Din-A4 Blatt unterbringt (Je 2 auf Vorder und Rückseite, was umseitigen Druck erfordert), wäre es praktisch wenn man wie gewohnt Text und Bilder entwickeln könnten und anschliessend mit einem Tool aus dem fertigen Text z.B. ein druckfertiges PDF produzieren könnte.

Benötigte Software

Durch Zufall bin ich auf die psutils gestossen. Die können zwar nur mit Postscript-Dateien umgehen, aber es zeigt sich das das wirklich kein Problem ist ! Eigentlich pflege ich ja schon seit Ewigkeiten eine Abneigung gegen Latex, was wohl eher an meiner Bequewemlichkeit liegt und ich mich schon sehr früh an OpenOffice gewöhnt hatte, was meine Bedürfnisse voll und ganz abdeckte ! Bis zu dem Tag an dem ich ein A6-Booklet drucken musste.

Aber die genialen psutils können diese Lücke schnell füllen. Schlüssel zur ganzen Sache ist das Tool psbook, es sortiert die Seiten eines PS-Dokuments in Reihenfolge eines Booklets. Also Beispielsweise bei 8 Seiten in folgende Reihenfolge 8, 1, 2, 7, 6, 5, 4, 3.

Aber wie bekommt man nun ein Druckwerk aus OpenOffice ins Postscript-Format ? Unter Linux ist das Ganz leicht ..

OpenOffice Postscript-Datei erstellen

Einfach das Dokument ausdrucken und im Druckmenu „Ausdruck in Datei“ auswählen (das geht bei vielen Druckern aber aufjedenfall immer beim PDF-Druck). OpenOffice erstellt dann eine PS-Datei. Die kann man dann mit psbook sortieren und mit dem Tool ps2pdf wieder in ein PDF zurückverwandeln.

cat input.ps | psbook > output.ps
ps2pdf  output.ps  output.pdf

Die richte Platzierung

Die Seiten in die richtige Reihenfolge zu sortieren ist nur die halbe Miete. Es ist noch ein Schritt notwendig, bei dem die Seiten eventuell verkleinert und schliesslich auf Din-A4 Seiten platziert werden müssten. Hier kommt nun das geniale Tool pstops zum Einsatz, das mit einer etwas kryptisch anmutenden Syntax die Seiten eines Postscript-Dokument sehr flexibel bearbeiten kann.

cat input.ps | psbook | pstops '1:0@0.5' | pstops '2:0+1(10.5cm,0)' | pstops '4:0(0,14.8cm)+2,1(0,14.8cm)+3' > output.ps
ps2pdf  output.ps  output.pdf

Anmerkung: der erste Aufruf von pstops ist nur notwendig falls das ursprüngliche Dokument noch im Din A4 Format ist, wenn die Seiten schon im Din-A6 sind kann der Teil entfallen.

Die beiden letzten pstops Befehle bauen zunächst eine Din-A5 Doppelseite zusammen und fassen diese anschliessend zu Din-A4 Seiten zusammen. Die entstandene PDF-Datei ist dann Duplex-fähig, d.h. man kann entweder mit einem Duplex-fähigen Drucker oder manuell alle ungeraden Seiten auf die Vorderseiten und alle geraden Seiten auf die Rückseiten drucken.

Eines gefällt mir an dieser Sache besonders, das man das druckfertig Booklet in Form einer kompakten PDF-Datei vorliegen hat. Damit kann man diesen quasi überall Ausdrucken lassen, ohne große Anforderungen an die Drucksoftware !

 

Quellen

http://www.suwald.com/linux-gnu/pstops.html

Kommentar schreiben

3 Kommentare.

  1. Hi,

    ich bin deiner Anleitung gefolgt:
    Ich habe ein A4 pdf Dokument mit dem Namen „input.pdf“
    und darauf die beiden Zeilen losgelassen:

    cat input.ps | psbook | pstops '1:0@0.5' | pstops '2:0+1(10.5cm,0)' | pstops '4:0(0,14.8cm)+2,1(0,14.8cm)+3' > output.ps

    und

    ps2pdf output.ps output.pdf

    Leider erfolgt nach der zweiten Code folgende Fehlermeldung:

    Error: /undefinedresource in findresource
    Operand stack:
    2 --nostringval-- CSA 0 CSA 0
    Execution stack:
    %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1916 1 3 %oparray_pop 1915 1 3 %oparray_pop 1899 1 3 %oparray_pop 1787 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 1861 5 10 %oparray_pop findresource %errorexec_pop --nostringval-- --nostringval--
    Dictionary stack:
    --dict:1175/1684(ro)(G)-- --dict:1/20(G)-- --dict:101/200(L)-- --dict:57/75(L)-- --dict:211/313(L)-- --dict:72/140(L)-- --dict:0/10(G)-- --dict:0/10(L)-- --dict:0/50(ro)(G)-- --dict:56/71(L)-- --dict:15/15(ro)(G)--
    Current allocation mode is local
    Last OS error: No such file or directory
    Current file position is 459257
    GPL Ghostscript 9.10: Unrecoverable error, exit code 1

    Was ist da los?
    Viele Grüße
    Rafael

    • Hallo Rafael,
      unter welchem Linux-System versuchst du denn diese Schritte auszuführen ?

      Grüße Stefan

      • Hallo Stefan,
        danke für deine schnelle Antwort.

        Ich habe Linux Mint 16 Cinnamon für 32-bit. Cinnamon in der Version 2.0.14
        Linux Kernel 3.11.0-12-generic

        Bei output erhalte ich zwar eine pdf. Diese besteht aber leider nur aus der ersten Seite.

        Viele Grüße

Kommentar schreiben


Hinweis - Du kannst dies benutzenHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>