IText fonte e tamanho de página

Galera estou com o seguinte problema tenho um sitema feito em delphi que gera relatorio direto na impressora com as seguinte dimensões

[color=green]
80 caracteres por linha
90 caracteres por linha
136 caracteres por linha
160 caracteres por linha

todos com 66 linhas por página que é o padrão de impressão em matricial
[/color]

o meu grande problema e que ao gerar esse txt quando eu importo para o itext sempre a fonte fica pequena demais e a quantidade de linha cabe muito mais que 66 por página estou tendo que gerar o pdf com a fonte courier para todos caracteres terem o mesmo tamanho, mas como disse a fonte sempre fica muito pequena

se alguem puder me ajudar agradeço pois se nao terei que refazer todos os relatorios do meu sistema

segue o codigo que eu estou testando

package xxx.gerapdf;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
import xxx.gerapdf.exception.ArquivoNaoEncontradoException;
import xxx.gerapdf.exception.LerArquivoException;


public class GeraPDF
{
	public int quantidadeDeColunas 										= 0;
	
	public BufferedReader carregaArquivo(String arquivo) throws ArquivoNaoEncontradoException
	{
		try
		{
			return new BufferedReader(new FileReader(new File(arquivo)));
		}
		catch (FileNotFoundException e)
		{
			e.printStackTrace();
			throw new ArquivoNaoEncontradoException(arquivo);
		}				
	}
	
	public List<String> leArquivo(BufferedReader leitor, String arquivo) throws LerArquivoException
	{
		String str				= null;
		List<String> lista	= null;
				
		lista	= new ArrayList<String>();
		
		try
		{
			while((str = leitor.readLine()) != null)
			{
				lista.add(str);
				
				if(str.length() > quantidadeDeColunas)
					quantidadeDeColunas		= str.length();	
			}
			
			return lista;
		}
		catch (IOException e)
		{
			e.printStackTrace();
			throw new LerArquivoException(arquivo);
		}		
	}
		
	public void escreveLinha(Document document, String linha, Font font) throws DocumentException
	{
		document.add(new Paragraph(linha, font));
	}
	
	public void escreveLinha80(Document document, String linha) throws DocumentException
	{
		escreveLinha(document, linha, FontFactory.getFont(FontFactory.COURIER, 10));				
	}

	public void escreveLinha96(Document document, String linha) throws DocumentException
	{
		escreveLinha(document, linha, FontFactory.getFont(FontFactory.COURIER, 9));				
	}

	public void escreveLinha136(Document document, String linha) throws DocumentException
	{
		escreveLinha(document, linha, FontFactory.getFont(FontFactory.COURIER, 6));				
	}	
	
	public void escreveLinha160(Document document, String linha) throws DocumentException
	{
		escreveLinha(document, linha, FontFactory.getFont(FontFactory.COURIER, 5));				
	}	

	public void escreveLinhaFontePadrao(Document document, String linha) throws DocumentException
	{
		switch(quantidadeDeColunas)
		{
			case 80 		:{	
								escreveLinha80(document, linha);			
								break;
							}
			case 96 		:{
								escreveLinha96(document, linha);
								break;
							}
							
			case 136 	:{	
								escreveLinha136(document, linha);
								break;
							}
							
			case 160 	:{	
								escreveLinha160(document, linha);			
								break;
							}
			default		:	escreveLinha80(document, linha);
							
		}
	}

	private void geraCorpoPDF(Document document, List<String> lista) throws DocumentException
	{
		for(String s : lista)
		{
			escreveLinhaFontePadrao(document, s);
		}		
	}	
	
	public void geraArquivoPDF(List<String> lista, String arquivo)
	{
		try
		{
			Document 	document			= new Document();			
			PdfWriter	writer			= PdfWriter.getInstance(document, new FileOutputStream(arquivo));			
			writer.setMargins(0, 0, 0, 0);			
			writer.setPageSize(PageSize.A4);				
			document.open();
			geraCorpoPDF(document, lista);
			document.close();
			writer.close();

		}
		catch (Exception e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void inicializa(String arqOrigem, String arqDestino)
	{
		try
		{			
			geraArquivoPDF(leArquivo(carregaArquivo(arqOrigem), arqOrigem), arqDestino);
		}
		catch (Exception e)
		{
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, e.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
		}
	}
	
	
	
	public static void main(String[] args)
	{
		String arqOrigem 		= "C:\\rastreI.txt";
		String arqDestino		= "C:\\rastreI.pdf";
		
		GeraPDF g = new GeraPDF();
		
		g.inicializa(arqOrigem, arqDestino);
	}
}

up ^, ninguem, alguma dica :cry: