Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to print two pages per page, and both side of the paper (4 pages into a single sheet of paper). I am using a cheap laser printer (Xerox DocuPrint 203A). In Windows, the printer software will control everything, and prompt me to flip the papers, after finishing printing one side of the papers.

How do I do that on Ubuntu 9.04 64bit?

Note: I can print both side of the papers by printing odd first, and then even. But, I have no idea on how to print 2 pages into one page, for both sides.

share|improve this question

3 Answers 3

up vote 2 down vote accepted

From UbuntuForums Printing Tips Multiple Pages per sheet


Create a dummy pdf-document that has two pages (of the original document) in every page.
for CUPS:

  • general tab: select the PDF printer from the main window / the reverse option should be - - UNchecked
  • page setup tab:
  • pages per side : 2
  • two sided : one sided
  • only print : all sheets
  • hit print


Maybe, this will help.
Making PDF documents in Ubuntu 9.04 with CUPS-PDF (and gutenprint)

share|improve this answer
    
Nice, but, will printing to PDF first affected the quality? –  riza Aug 24 '09 at 16:37
    
@Selinap, I had tried a few times, mostly text documents and sometimes code. My problem had been page alignment. –  nik Aug 24 '09 at 16:38

This has been a feature request in Ubuntu for a while now. As of yet their is no official support, but there is a work around:

a) Export to PDF in OpenOffice.

b) Use pdfnup to print multiple pages per sheet.

share|improve this answer
    
I just added one. Hope this helps. –  Lucas McCoy Aug 24 '09 at 17:40

I wanted to do that too , in a easy way so I wrote this little java prog.

   import java.util.ArrayList;
   import java.util.Scanner;


   public class booklet {



public static int max=0;

public static int min=1;
public static int maxSP=max;
public static int minSP=min;



public static ArrayList<Integer> arr1 = new ArrayList<Integer>();
public static ArrayList<Integer> arr2 = new ArrayList<Integer>();

public static void bookletMaker(int totalfolhas){

for (int i = 0; i < (max/4); i++) {

System.out.print((max-1)+", "+min+", ");
arr1.add(max-1);
arr1.add(min);
min++;
max--;
System.out.print((max+1)+", "+min+", ");
arr1.add(max+1);
arr1.add(min);
min++;
max--;

System.out.print("        ");

System.out.print(min+", "+(max-1)+", ");
    arr2.add(min);
    arr2.add(max-1);
    min++;
    max--;
    System.out.print(min + ", " + (max+1) + ",");

    arr2.add(min);
    arr2.add(max+1);
    min++;
    max--;

    System.out.println();

            }
         System.out.println((max/4)+" folhas");



           //retorna os valores max e min aos valores originais
        max=maxSP;
        min=minSP;

            //  Impressão em liha para copy+paste
        System.out.println("Impressão em linha para copy + paste");

        }


        public static void main(String[] args ) {
    Scanner inputNumber= new Scanner(System.in);
    System.out.println("Digite o numero de páginas do documento: ");
    max=inputNumber.nextInt();
    System.out.println("Páginas de frente     Páginas de Verso");
    bookletMaker(max);

    System.out.println();
    System.out.println("Paginas Frente");
    System.out.println(arr1);
    System.out.println("Paginas Verso");
    System.out.println(arr2);
        }

            }

it will show you the sequence of pages you should print to have a booklet at the end. So copy and paste the sequence on he field "Print only these pages" in you print options. And there you go.

By the way, I wrote it to print booklets with 2 pages per page. I hope it can help.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.