Impresion de PDFs en forma de libro

Muy buenas, resulta que tengo en el curro una impresora bastante chula que imprime por las dos caras al mismo tiempo. En concreto se trata de una Canon IR3000. la cuestion es que aprovecho esta impresora para imprimirme libros a partir de PDFs, me he creado un script en C muy simple que me da el orden de las paginas a seguir en el campo "rango" de mis propiedades de impresion.
No se si me estoy explicando bien. Yo lo que hago es imprimir con esta impresora cuatro paginas por cada hoja A4, en grupos de 5 hojas (osea 20 paginas) asi luego lo doblo por la mitad y me queda una parte del libro. Pongo todas las partes juntas y lo encuaderno, quedandome en plan libro bastante pro.
El problemilla que tengo es que funciona de puta madre cuando el numero de paginas es multiplo de 20, y he hecho una pirulilla para que funcione cuando las paginas no son multiplo de 20, haciendo que el usuario entre un numero de pagina en blanco, y luego metiendo esa pagina en blanco en vez de lo que seria el final del libro (creo que sigo sin explicarme bien [triston] )
A ver imaginemos que tenemos un libro de 38 paginas, y la pagina 5 es una de las paginas en blanco de ese documento. Mi script me devolveria estos dos rangos, que luego hago copiar pegar en los rangos de mi impresora y me crearia dos trabajos de impresion, luego doblo cada uno de los tacos creados por la impresion por la mitad y me queda un librito como los que venden en las librerias (mas o menos)

20,1,2,19,18,3,4,17,16,5,6,15,14,7,8,13,12,9,10,11

5,21,22,5,38,23,24,37,36,25,26,35,34,27,28,33,32,29,30,31

Veis aqui, como no hay suficientes paginas para llegar hasta 40, me mete la pagina 5 como si fuese la 40 y la 39.
El problema es, que coño hago si no tengo una pagina en blanco en todo el documento, hay alguna forma de pasarle algun comando al rango para que me imprima una pagina en blanco?
Por cierto uso Kubuntu, el programa para PDFs que uso es Kpdf y las impresoras estan metidas por CUPS. Alguna idea?
0 respuestas