How to make a booklet

From Scribus Wiki
Jump to navigation Jump to search
This article is part of the HOWTOs series.
Installation Usage PDF issues Imposition Other

HOWTO print an A5 booklet

Requirements:

  1. psutils
  2. KDE (specifically kprinter)

Ok, strictly speaking this is only tangentially related to Scribus, but I think it's very useful to know.

If you have a bunch of stuff laid out in A4 (or letter if you're a foreigner) you can easily turn it into an A5 booklet / pamphlet. In my opinion this makes for a more readable, tree-friendlier, smarter-looking end-product.

The workhorse of the method I will describe is the psutils suite of commandline utilities, but don't let that put you off, you don't ever have to even see them. This is because kprinter provides us with a nice frontend which means we can do everything via nice and easy pointing and clicking.

To use this method you'll need KDE (specifically kprinter) and psutils installed. Oh, and Scribus. Ok, actually that last one's optional but I thought it would be polite to mention it under the circumstances.

  • So, find or make a document on A4 (or letter) pages, er, using Scribus. In the printer dialogue select Alternative printer command and type kprinter in the box. Click Print.
  • You should now be at the kprinter dialogue. Select the printer you want to print to (which can be a pdf file or whatever) and click on Properties. Click on the tab labeled Filters (you'll might have to scroll to the right to see it). Click on the funnel (Add filter) icon.

If like me you've only got a bog-standard non-duplex printer, you'll have to do this the slightly longer way. If you've got a better printer than me I'm too envious to help you, sorry.

  • Select Pamphlet Printing - Even pages and click OK until you're back at the main kprinter dialogue. Click Print. Wait for the pages to come out of your printer. Put them back in your printer - on my printer they go in the tray printed side up, with the top of the text to the left. It might be the same with your printer, if not you'll have to experiment.
  • Print the document again using the same process but selecting Pamphlet Printing - Odd Pages.

If it's all worked properly, the pages are all in the right place, the right way up etc, you can fold the pamphlet, stick a staple through it and you're done. A good long-arm stapler is good, but you can get away with a smaller one at a pinch. Hint: the end of the stapler needs to go further over the fold than you think, or that's what I find anyway.

If you want a slightly smarter looking product you could print the outer sheet on coloured paper. Ok, it's not quite the Gutenberg bible, but it's something you could charge money for more easily than a wodge of A4 you've printed out and stuck a staple through the corner of.

This is great for printing out lengthy texts from the internet, manuals etc. Viva Samizdat!

Booklet printing1.png

HOWTO print a booklet of other sizes

Requirements:

  1. psutils
  2. KDE (specifically kprinter) — only if you choose the method B


To print a booklet with pagesizes other than A5 you have two possibilities:

A) You use Scribus to create a pdf and you do the necessary changes on the command line (with psutils).

B) KDE users can create a filter. The booklet can than simply be printed from within Scribus.

Method A: using psutils only

1) Change the document format to postscript:

pdf2ps file.pdf

This creates a postscript file named 'file.ps'

2) Change the order of the pages:

psbook -s16 file.ps fileA.ps

Where 16 is the number of pages that your document has. It should be a multiple of four.

3) Arrange the pages so two logical pages are printed on one physical sheet:

psnup -2 -w10.5cm -h16.3cm -W21cm -H16.3cm fileA.ps fileB.ps

Which arranges two logical pages of the size 105x163mm on a sheet of the size 210x163mm. If you have different page sizes, then simply change the dimensions. (Take a look to the man page of psnup)

4) Transform it back to pdf:

ps2pdf fileB.ps

This creates the file 'fileB.pdf'.

5) Print 'fileB.pdf' with the program of your choice.


Method B: creating your own filter for kprinter

Find the KDE-directory on your system login as user root and go to

$KDE-DIR/share/apps/kdeprint/filters/

On my system it is

/opt/kde3/share/apps/kdeprint/filters/

In this folder you have to create two files mypsbook.desktop and mypsbook.xml.

1) myfilter.desktop:

[KDE Print Filter Entry]
Name=mypsbook
Name[de]=MyPS-Book
Name[fr]=MonPS-Book
Require=exec:/psbook,exec:/psnup
Comment=Pamphlet Printing for 105x163mm documents
Comment[de]=Booklet-Druck für 105x163mm Dokumente
Comment[fr]=Impression au format livret mesures:105x163mm
MimeTypeIn=application/postscript
MimeTypeOut=application/postscript


You have to adapt the translation in your KDE-language. Have a look to the other filter-files as an example.

2) mypsbook.xml

<?xml version="1.0"?>
<kprintfilter name="mypsbook">
   <filtercommand data="psbook %filterinput | psnup -2 -w21cm -h16.3cm -W10.5cm -H16.3cm %filterargs %filteroutput" />
   <filterargs>
   </filterargs>
   <filterinput>
       <filterarg name="file" format="%in" />
       <filterarg name="pipe" format="" />
   </filterinput>
   <filteroutput>
       <filterarg name="file" format="> %out" />
       <filterarg name="pipe" format="" />
   </filteroutput>
</kprintfilter> 


From '<filtercommand data=' to '%filteroutput" />' everything in one line. Don't forget to change the page-sizes in this line to your needs.

Restart KDE. Now you can print your document from within scribus to kprinter. In the kprinter dialog you go on Properties change to the Filter tab click on the button to add a filter. Now chose your new filter and print.

Have fun!!!

See also