Imprimir una Colección de Páginas

Cuando se necesite más control sobre las páginas individuales en un trabajo de impresión, podemos usar un 'pageable job' en lugar de un 'printable job'. La forma más sencilla de manejar un 'pageable job' es utilizar la clase Book, que representa una colección de páginas.

Ejemplo: SimpleBook

El programa SimpleBook usa un Book para manejar dos 'page painters': PaintCover se utiliza para la cubierta, y PaintContent para la página de contenido. La cubierta se imprime en modo apaisado, mientras que el contenido se imprime en modo vertical.

Una vez creado el Book, las páginas se añaden con el método append. Cuando se añade una página a un Book, se necesita especificar el Printable y el PageFormat para usar con cada página.

// In the program's job control code...
// Get a PrinterJob
PrinterJob job = PrinterJob.getPrinterJob();

// Create a landscape page format
PageFormat landscape = job.defaultPage();
landscape.setOrientation(PageFormat.LANDSCAPE);

// Set up a book
Book bk = new Book();
bk.append(new PaintCover(), job.defaultPage());
bk.append(new PaintContent(), landscape);

// Pass the book to the PrinterJob
job.setPageable(bk);
Se llama al método setPageable sobre PrinterJob para decirle al sistema de control que utilice el Book para localizar el código de dibujo adecuado.

Puedes encontrar el programa completo en SimpleBook.java.


Ozito