OSP-BLOG

Open Source Publishing – Graphic Design Caravan

How To Print A Booklet In 19 Easy Steps

Live · Tools · June 4th, 2006 ·

The focus of this recipe is on the last bit: rearranging pages so that you can easily print out nice booklets. For a quick-and-dirty solution you can use Abiword or OpenOffice for the page-lay out part but Scribus is essential when you want to be precise with typography.

The recipe is based on the How-To posted on the Scribus Wiki:
http://wiki.scribus.net/index.php/How_to_make_a_booklet.

To make this recipe, you need to open a terminal, shell or work in the commandline. If you have never done this before, have a look a this tutorial: http://linuxcommand.org/

You can of course print texts of any length, but folding and stapling more than 12 sheets of paper gets really hard so we suggest making booklets of 48 pages maximum.

The tools mentioned are all available in most software repositories, and can be installed using Ubuntu’s Synaptic.

sample
Download sample .pdf file; if you simply want to print this document, start the recipe at step 13.
The text used in this example is available here: http://www.constantvzw.com/cyberf/book….


Ingredients

  • Linux operating system* [Debian / Ubuntu]
  • Browser [Firefox]
  • A text available under an open license
  • xpdf-utils (includes: pdftotext, pdftops, ps2pdf?)
  • Texteditor [Gedit]
  • Lay-out software [Scribus 1.3.3.1]
  • Font [Bitstream Charter]
  • psutils (includes: psnup, psbook)
  • Printer
  • Paper
  • Stapler
  • A piece of soft cardboard (side of a box for example)

Print A Booklet In 19 Easy Steps

  1. Choose any text that is available under an open license
  2. Download the text to your harddisk in .pdf format or copy the text into a text editor
  3. If you have downloaded a .pdf file, you need to convert the .pdf to a plain text file using the commandline:
    ~$ pdftotext infile.pdf
  4. Clean up the file as much as possible (remove unneccessary white lines, check whether any other corrections need to be made) in a text editor and save the document as .txt
  5. Open Scribus and start a new document with the following options selected: Size: A5, Number of pages: 48, Page Layout: double sided and Automatic Text Frames
  6. Import the .txt file in the Automatic Text Frame and do the necessary lay-out; add page numbers etc.
  7. Remove all empty pages so that you end up with a multiple of 4 pages (either 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44 or 48 pages).
  8. Save / export the document as .pdf with fonts embedded
  9. Using the commandline, convert the pdf file to postscript:
    ~$ pdftops -paper match infile.pdf outfile.ps
  10. Rearrange the pages so that when printed and folded, each page ends up in the right place (when your booklet has 8 pages, page 1 should be placed opposite of page 8, page 2 opposite of 7 and 4 opposite of 5). n is the amount of pages in your booklet.
    ~$ psbook -sn infile.ps outfile.ps
  11. Arrange two A5 pages next to each other on one A4 sheet (-2 refers to the amount of pages on the A4):
    ~$ psnup -2 -PA5 infile.ps outfile.ps
  12. Convert the document back to .pdf format (This seems a redundant step, but without it I had problems with placing, so…)
    ~$ ps2pdf infile.ps outfile.pdf
  13. Also use the commandline to print first the even pages (myprinter is the name of your printer, n is the amount of copies)
    ~$ lpr -P myprinter -o page-set=even -#1 infile.pdf
  14. When the even pages are printed, you need to re-arrange the order of the pages so that the first page comes last.
  15. Put the pages upside down back in the printer
  16. Now print the odd pages
    ~$ lpr -P myprinter -o page-set=odd -#1 infile.pdf
  17. Fold the pages from A4 to A5
  18. Fold the stack back open and place it on the piece of cardboard with the cover facing you. Click open your stapler so you can staple the stack in the middle
  19. Gently remove the stack (which is now stuck to the cardboard) and fold the staples back in.

FINISHED!

*It should work on OSX too, but I have not tested this yet

Tags: ·

  • 11 Comments ↓

  • 1. harrisson

    Jun 20, 2006 at 4:22 pm

    Tested on mac, under ubuntu ppc – and it seems working fine.

  • 2. harrisson

    Jul 6, 2006 at 3:54 pm

    En français!

    Comment imprimer une brochure en 19 étapes.

    Le but de cette recette réside dans sa derniere bouchée: réarranger les pages pour pouvoir imprimer facilement de beaux petits livres. Une solution rapide et pas chere consiste a utiliser Abiworld ou OpenOffice pour la mise en page, mais Scribus est necessaire si vous voulez etre un peu précis en typographie.

    Cette recette est basé sur le “comment faire” du wiki Scribus
    http://wiki.scribus.net/index.php/How_to_make_a_booklet

    Pour réaliser cette recette, vous aurez besoin du Terminal, Shell, ou travailler en ligne de commande. Si vous n’avez jamais fait cela, jetez un oeil a ce mode d’emploi:
    http://linuxcommand.org/

    Vous pouvez bien sur imprimer des textes de n’importe quelle longueur, mais le pliage et l’agraphage de document de plus de 12 pages de papier est un peu compliqué. Nous vous suggerons donc de fabriquer des booklets de 48 pages maximum.

    Les outils mentionnés sont disponibles sur la plupart des “repositories” de logiciels, et peuvent etre installés facilement grace au Sinaptic de Ubuntu.

    Ingrédients:
    – un systeme operatoire Linux, comme Ubuntu ou Debian
    – un Browser (firefox)
    – Un texte disponible en licence libre
    – xpdf-utils (contenant pdftotext, pdftops, ps2pdf)
    – Texteditor [Gedit]
    – Un logiciel de mise en page [Scribus 1.3.3.1]
    – une Fonte (bitstream Charter)
    – psutils (comprenant psnup, psbook)
    – une imprimante
    – du papier
    – une agrapheuse
    – un bout de carton

    Réalisation:

    1. Prenez un beau texte disponible sous une licence libre.

    2. Téléchargez ce texte sur votre disque dur, sous un format .pdf, ou copiez le texte dans un editeur de texte.

    3 Si vous avez téléchargé un fichier .pdf, vous aurez besoin de le convertir en format texte en utilisant dans la console la commande:
    ~$ pdftotext fichieraconvertir.pdf

    4 Nettoyez le fichier au maximum (enlevez les ligne vides inutiles, double espaces. Le mieux les corrections sont faites, le plus facile sera la mise en page) dans l’éditeur de texte, et sauvez le document en .txt

    5 Lancez Scribus et créz un nouveau document en selectionnant les options suivantes:
    taille: a5
    nombre de pages: 48
    layout: double page
    & bloc de texte automatique.

    6 Importez le fichier .txt dans le cadre de texte automatique et faites le layout necessaire. Dans Maquette, vous pouvez ajoutez le folio (#).

    7 Enlevez les pages non utilisées, en sorte d’obtenir un document dont le nombre de pages est un multiple de 4 (4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44 ou 48 pages)

    8 Sauvez et exportez le document en format .pdf, avec les polices incorporées.

    9 Avec la ligne de commande dans la console, convertissez le fichier pdf en fichier postscript.
    ~$ pdftops -paper match fichierentrant.pdf fichiersortant.ps

    10 Il faut maintenant réarranger les pages pour qu’une fois imprimées et pliées, chaque page soit a la bonne place (quand le booklet a 8 pages, la page 1 doit etre en face de la page 8, la 2 en face de la 7, la 4 en face de la 5). n est le nombre de pages du booklet:
    ~$ psbook -sn fichierentrant.ps fichiersortant.ps

    11 Placez 2 pages A5 l’une a coté de l’autre sur une page A$ (-2 designe le nombre de pages sur le A4)
    ~$ psnup -2 -PA5 infile.ps outfile.ps

    12 Convertissez le document en .pdf (cela parait redondant, mais sans cela nous avons rencontré des probles de placement, alors…)
    ~$ ps2pdf infile.ps outfile.pdf

    13 Utilisez aussi la ligne de commande pour imprimer les pages paires en premier (Monimprimante est le nom de votre imprimante, n est le nombre de pages)
    ~$ lpr -P monimprimante -o page-set=even -#1 infile.pdf

    14 Quand les pages sont imprimées, vous devez ré-arranger l’ordre de celles -ci pour que la premiere page arrive en dernier

    15 Placez les pages le dessus-dessous dans l’imprimante.

    16 Imprimez les pages impaires
    ~$ lpr -P monimprimante -o page-set=odd -#1 infile.pdf

    17 Pliez les pages de A4 en A5

    18 Placez le dos de la brochure ouverte sur le bout de carton, la couverture vers vous. Agraphez au milieu en maintenant l’agrapheuse ouverte

    19 Decrochez gentiment la brochure (fixée au carton) et repliez les agraphes vers l’interieur.

    Voila!

  • 3. Till Mossakowski

    Sep 2, 2007 at 5:27 pm

    If you have a pdf, you can directly start with step 9. Although Scribus is a good tool, it is not related to booklet printing at all. It only happens that the How-to for booklet printing has appeared in the Scribus Wiki.

    If you have Acrobat Reader, you can also replace step 9 with
    ~$ acroread -toPostScript infile.pdf outfile.ps
    This often gives better results.

  • 4. TRAILER 31 - fri 29 sept -> 2 oct 2007 « UNIDEE in Residence 2007

    Sep 24, 2007 at 10:48 am

    […] Recipy: http://ospublish.constantvzw.org/?p=90 […]

  • 5. Niklas

    Mar 18, 2008 at 8:52 pm

    Why not skip some steps and use pdfbook instead?

    regards
    Niklas

  • 6. An

    Jun 23, 2008 at 12:51 pm

    Hi,

    It works fine and it is absolutely great!
    I have been trying out ways to print on different formats, including A6 and A7. This requires to arrange the pages next to each other AND up and under each other. I tried the psnup commands -W -H and -w -h I found here:
    http://linux.about.com/library/cmd/blcmdl1_psnup.htm

    Unfortunately, it does not the job.
    I guess it is the combination of arranging 4 or 8 pages on 1 A4 that causes the problem.
    Any hints anyone?

    Many thanks, An

  • 7. Femke

    Jun 30, 2008 at 9:47 am

    Hey An,

    After a bit of testing (you need to go all the way to the end; the in-between results are completely wrong)

    pdftops -paper match A6.pdf A6.ps

    psbook -s24 A6.ps A6book.ps

    psnup -4 -pa4 -W105mm -H148mm A6book.ps A6up.ps

    ps2pdf -sPAPERSIZE=a4 A6up.ps A6up.pdf

    —-

    The final result is unfortunately not what you need; it places two succeeding spreads on one sheet; meaning you still cannot print this minibooklet recto verso. It looks like the latest version of Scribus (1.3.5) has imposition built in, but I don’t know whether it can do more than 2 pages imposition.

    on continue… 🙂

  • 8. Booklet Printing « Computer Magazines

    Mar 19, 2010 at 12:59 pm

    […] http://ospublish.constantvzw.org/tools/how-to-print-a-booklet-in-16-steps […]

  • 9. Jose Matoco

    May 3, 2010 at 6:20 pm

    Ive been using word two pages on one paper. The problem is printing the recto verso. use pdf?how?

  • 10. acreech

    Oct 11, 2010 at 2:08 am

    In linux you can save this bash script and run it. It will automatically complete the steps for you and output the finalized book.

    #!/bin/bash

    # Check usage
    if ($1 == “” || $2 == “” || $1 == “-h” || $1 == “–help”) then
    echo ” ”
    echo ” ”
    echo “Usage: mkbook name_of_file Number_of_Pages”
    echo ” command: mkbook newbook.pdf 10″
    echo ” ”

    fi
    pdftops -paper match $1 1.ps
    psbook -s $2 1.ps 2.ps
    psnup -2 -PA5 2.ps 3.ps
    ps2pdf 3.ps $1_Final.pdf
    rm -f 1.ps 2.ps 3.ps

  • 11. Stéphanie

    Oct 15, 2010 at 9:30 am

    Maybe you can try PoDoFo impose. It is very simple of use and customizable with scripts.
    Basic templates/plans are available here: http://oep-h.com/impose/

    I guess you can tweak the A4 booklet plan there to suit your needs.