Gerar pdf de tabela sem quebra!

Estou usando msm ideia de geração de pdfs em meu projeto:
Continuando a discussão do Converta HTML para PDF com 06 linhas de Código:

Porém ao criar a tabela de forma dinamina, ao imprimir, ele a quebra, ficando o layout mto feio! Já tentei n soluções, e estou aqui quebrando a cabeça ainda, alguém já tentou e funcionou?

Tentei a solução abaixo, mas ele traz uma tabela para cada registro trazido do List.
Continuando a discussão do [Converta HTML para PDF com 06 linhas de Código]
(Converta HTML para PDF com 06 linhas de Código):

No meu html:

@media print {
	table { page-break-inside: always; }
	        thead { display:table-header-group }
	tfoot { display:table-footer-group }
}

<table>
<thead>
<tr>
<th>$messages.get(‘situacao.label’)
<th>$messages.get(‘data.label’)
<th>$messages.get(‘paciente.label’)
<th>$messages.get(‘cpf.label’)
<th>$messages.get(‘formaPagamento.label’)
<th>$messages.get(‘valor.label’)
</tr>
</thead>
<tfoot>
<tr>
<th colspan=“6”>RODAPÉ
</tr>
</tfoot>
<tbody>
#foreach($extrato in $extratoList)
<tr>
<td>$messages.get($extrato.situacaoDecoder)
<td>$format.date($extrato.dataVencimento , “dd/MM/yyyy”)
<td>$extrato.pacienteOrigem.nome
<td>$!extrato.pacienteOrigem.cpf
<td>$extrato.formaPagamento.nome
<td>$format.currency($!extrato.valorLiquido)
</tr>
#end
</tbody>

Se eu fizer o html e mandar imprimir via browser ele funciona, mas se gerar o pdf, ele traz tudo bagunçado, sem obedecer o cabeçalho e tabela quebrada.

tbm tentei forçar no PDFCreator
public static byte[] geraPdf(String htmlContent, double marginRight, double marginLeft, double marginTop, double marginBottom) {

	StringBuilder html = new StringBuilder();

	html.append("\n<header>");
	html.append("\n	<style type='text/css'>");
	html.append("\n		@page {");
	html.append("\n			size: A4;");
	html.append("\n			margin-right: " + marginRight + ";");
	html.append("\n			margin-left: " + marginLeft + ";");
	html.append("\n			margin-top: " + marginTop + ";");
	html.append("\n			margin-bottom: " + marginBottom + ";");
	html.append("\n			-fs-flow-top: \"header\";");
	html.append("\n			-fs-flow-bottom: \"footer\";");
	html.append("\n			-fs-flow-left: \"left\";");
	html.append("\n			-fs-flow-right: \"right\";");
	html.append("\n			padding: 0;");
	html.append("\n		}");
	html.append("\n		@media print {");
	html.append("\n		  table { page-break-inside: always; } ");
	html.append("\n		  thead { display:table-header-group }");
	html.append("\n		  tfoot { display:table-footer-group }");
	html.append("\n		}");
	html.append("\n	</style>");
	html.append("\n</header>");
	html.append("\n");

Alguma luz?!?!?!?

Tati