Impressão com usando um BOOk

Imprime legal, so que os primeiros registros, ou seja o que teria que ser a primeira pagina não imprime, só a partir da segunda.

		if (event.getSource() == jbtRel)	{
			
			PrinterJob prnJob = PrinterJob.getPrinterJob();
			PageFormat formPag = prnJob.defaultPage();
			
		    PagImp pags = new PagImp();
		    pags.relat =relatorio;
		    pags.qtdPags = 2;

	    	Book book = new Book();
		    book.append(pags, formPag, 2);
	        prnJob.setPageable(book);
	        
	        if(prnJob.printDialog()) {
	          try {
	            prnJob.print();
	          } catch (Exception PrinterException) {
	            JOptionPane.showMessageDialog(null, PrinterException, "Erro", JOptionPane.ERROR_MESSAGE);             
	          }
	        }
		}

[code]public class PagImp extends JPanel implements Printable {

public int qtdPags = 0;
public String[][] relat;

private int pagIni = 0;
private int pagFim = 0;
private int linha  = 0;

public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {

System.out.println(relat[linha][0] + "  " + linha + "  "  + pi);
if (pi > qtdPags) {return Printable.NO_SUCH_PAGE;}

Graphics2D g2 = (Graphics2D) g;
g2.translate(pf.getImageableX(), pf.getImageableY());
g2.setColor(Color.black);
g2.setFont(new Font("Arial", Font.PLAIN, 12));
g2.drawString("Pagina : " + pi, 0,30);

g2.setFont(new Font("Arial", Font.PLAIN, 8));
for (int i=50; i < 600; i+=10) {
	g2.drawString(relat[linha][0], 0,i);
	g2.drawString(relat[linha][1], 350,i);
	linha += 1;
}

paint(g2);
return Printable.PAGE_EXISTS;

}
}[/code]