Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


"Convert to Page Images" and "Impose"

  • ThePickle

    I have been struggling with this as well.  I have a 300+ page document and wanted to reformat it for 2 sided printing with 2 pages on each: 8,1 2,7 6,3 4,5.... except for the full document.  This way, print the full book double sided, cut down the center, and bind!

    (BTW: The newest version of Adobe Reader can do this, but, it is at print time, and you have to print the full thing at one time with a printer that can do 2 sided printing.  If you check "print even pages only" to print the front then flip over, Adobe applies the "even only" it before it builds the pages so you get: 8,2 4,6.  My printer is one-side only and I do not trust it to print more then 20 pages at a time.  If I am able to get Impose to work as above, it will be much easier!).

    I have seen some other posts, but could not find a solution.

    This is a more standard page numbering and not too hard to implement, but I think it would be useful if Impose could read a sequence from a file.  This way, if someone has a real unusual layout they need to obtain on a large document, they could write a script to generate a file to describe page by page where everything goes and then feed that to impose.  It would be a simple text file and should use the same notation that -page uses.

    I did find a "work around" to get what I want in a few steps and will post it here for others:
    java -Xmx192m -classpath c:\...\mv.jar tool.pdf.Split -page odd,even%reverse org.pdf
    java -Xmx192m -classpath c:\...\mv.jar tool.pdf.Split -page even,odd,backmap org-x.pdf
    java -Xmx192m -classpath c:\...\mv.jar tool.pdf.Impose -nup 2 -paper 8.5x11in org-x-x.pdf
    java -Xmx192m -classpath c:\...\mv.jar tool.pdf.Split -page odd,even%reverse,backmap org-x-x-up.pdf

    org-x-x-up-x.pdf will then have the pages as needed:8,1 2,7 6,3 4,5 (except across the full book).  However, the original book MUST be a multiple of 4 (pages mod 4=0).  Eg: you must pad a 9 page book with 3 blank pages at the end or the output will be a mess!

    Here is an equation to find what pages go on what without using the loop method posted earlier:
    Left Half:(NumPg-(INT((PgNm-1)*0.5)*2))*MOD(PgNm,2)+(MOD(PgNm-1,2)*INT((PgNm)*0.5)*2)
    Right Half:NumPg-LhPn+1
    NumPg=Number of pages
    PgNm=Page in sequence (1=8,1 2=7,2, 3=6,3, 4=4,5)
    LhPn=Page number of Left Half