[Resolvido] = Erro ao Criar document.newPage(); no Itext

Boa Tarde Pessoal ,

Preciso da ajuda de Voces Estou criando pdf esta tudo correto conforme o codigo Abaixo ;
porem quando vou Criar a Proxima Pagina

    if(QuebraPag && Pag > 1){   
     document.newPage();   
     cont = 0;   
     QuebraPag = false;   
    }   

da pau , se alguem puder me ajudar e dizer no que estou errando
ou me indicar algo para resolver , segue o codigo Abaixo

   public void Write(String arquivo, String conteudo, String Pdf){

    int cont = 0 ;
    
    int indice = 1 ;

    int Pag = 0;

    boolean QuebraPag = false;
 
    String linha = null;

    int Conttext = 0;
    
    
    try {
     
      FileReader reader = new FileReader(new File(arquivo));
      BufferedReader leitor = new BufferedReader(reader);
      
      Document document = new Document(PageSize.A4);
      PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(StrTran(arquivo,".",Space(0))+".Pdf"));
  
    // aqui tenho as medidas da pagina pra encaixar o formulario   
      float IMAGEM_FUNDO_WIDTH = document.getPageSize().getWidth();   
      float IMAGEM_FUNDO_HEIGHT = document.getPageSize().getHeight();   
  
    // abre o documento pra começar a montagem   
    document.open();   
  
    PdfContentByte contentByte = writer.getDirectContent();   
    
    // carregando o gif de fundo   
     Image fundo = Image.getInstance("C:\\Java\\Boleto\\src\\View\\img\\Teste.gif");   
     fundo.scaleToFit(IMAGEM_FUNDO_WIDTH, IMAGEM_FUNDO_HEIGHT); 
     fundo.scaleAbsolute (PageSize.A4.getWidth() - 74f, PageSize.A4.getHeight() - 65f);
     fundo.setAbsolutePosition(0, 0);
  
    // define as medidas pro template usar o gif   
     PdfTemplate template = contentByte.createTemplate(IMAGEM_FUNDO_WIDTH, IMAGEM_FUNDO_HEIGHT);   
  
    // insire o template e posiciona   
     contentByte.addTemplate(template, document.left() - 0, document.top() - 757);   
   
    // define a fonte a ser usada   
     BaseFont bfTextoSimples = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);   
  
    // abre a insercao de texto e insire a fonte do documento   
      contentByte.beginText();   
      contentByte.setFontAndSize(bfTextoSimples, 6);   
     
     while((linha = leitor.readLine()) != null){
     Conttext++;
     cont++;  
      if (cont > 4  || indice != 1){
       if(linha.substring(1,7).equals("$DJDE$")){
        template.addImage(fundo);
        QuebraPag = true;
        Pag++;
       }
       if(QuebraPag && Pag > 1){
        document.newPage();
        cont = 0;
        QuebraPag = false; 
       }
      }
     
     
    // define o posicionamento na tela por uma matriz de pixels e escreve o texto   
     contentByte.setTextMatrix(05,835 -(10*Conttext));
     contentByte.showText(linha);
     }

      // encerra o texto da página
     contentByte.endText();   
    // fecha o documento   
     document.close();   
  
    // retorno o meu array de bytes pra gerar o pdf   
     }catch(Exception e){
      System.out.println("Erro ao Escrever no arquivo!!");
     }
   } 

Boa noite pessoal!

Bom não tive resposta mais consegui resolver , eu postarei o codigo resolvido conforme abaixo.
visto a difilculdade de encontrar solução , e talvez por esse motivo não obtive resposta.

e acho importante ajudar o pessoal a crescer na linguagem , pois acredito que quanto mais
pessoas tiverem uma boa abilidade com a liguagem mais soluções conseguiremos
e ajudara a linguagem a ser cada vez mais disseminada e adivinha quem ira ganhar com isso …
nos os desenvolvedore em java, e e claro uma peguena contribuição com o forum e com os amigos que já
tantas vezes me ajudaram, e é aqui no forum do guj o primeiro lugar que procuro.

espero que ajude!!!



 /**  
  Metodo para, Gravar em arquivo Pdf                                         <p>
  3 Argumentos do Tipo String                                                <p>
  Primeiro Argumento, Nome do Arquivo                                        <p>
  Segundo  Argumento, Conteudo a Ser Gravado                                 <p>
  Terceiro Argumento,Apenas Para Mudar a Assinatura do Metodo                <p>
  Exemplo de Uso =  Util.Write(NomeArquivo,Conteudo,Pdf);                    <p> 
 */
   public void Write(String arquivo, String conteudo, String Pdf){

    int cont = 0 ;

    int contLine = 0 ;

    int indice = 1 ;

    String linha = null;

    String Imagem = null;

    float altura = 835;
   
     try {
      Document document = new Document(PageSize.A4);

      FileReader reader = new FileReader(new File(arquivo));
      BufferedReader leitor = new BufferedReader(reader);   
      
     // carregando o gif de Frente
      Image fundoF = Image.getInstance("C:\\Java\\J2se\\Boleto\\src\\View\\img\\TESTE1.gif");   
      fundoF.scaleAbsolute (PageSize.A4.getWidth() - 74f, PageSize.A4.getHeight() - 65f);
      fundoF.setAbsolutePosition(38,50);

     // carregando o gif de Verso
      Image fundoV = Image.getInstance("C:\\Java\\J2se\\Boleto\\src\\View\\img\\TESTE2.gif");   
      fundoV.scaleAbsolute (PageSize.A4.getWidth() - 10f, PageSize.A4.getHeight() - 10f);
      fundoV.setAbsolutePosition(05,05);
      
     //cria PDF do TXT   
       PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(StrTran(arquivo,".",Space(0))+".Pdf"));

     //Abrir PDF 
       document.open();
 
     // Para Poder Escrever No Pdf
       PdfContentByte contentByte = writer.getDirectContent();

     // define a fontes a ser usada   
       BaseFont F1 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);   
       BaseFont F2 = BaseFont.createFont(BaseFont.COURIER_BOLD, BaseFont.WINANSI, BaseFont.EMBEDDED);   
       BaseFont F3 = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.WINANSI, BaseFont.EMBEDDED);   
    // Começa a ler o arquivo Linha a Linha   
       while((linha = leitor.readLine()) != null){
         cont++;
         contLine++;
         if (cont > 4 && linha.substring(1,7).equals("$DJDE$")){
          contLine = 1;
          if(indice != 1){
           document.newPage();
          }
           Imagem = linha.substring(linha.indexOf("+$DJDE$ FORMS=") + "+$DJDE$ FORMS=".length(), linha.indexOf(",FEED=BAN3,END;"));
            if(Imagem.equals("TESTE1")){              
             document.add(fundoF);
            }else if(Imagem.equals("TESTE2")){
             document.add(fundoV);
            }
           indice = 2;               
         }
         if (cont > 4 ){
        // abre a insercao de texto e insire a fonte do documento   
         contentByte.beginText();   
         contentByte.setFontAndSize(F1,6);   
        // define o posicionamento na tela por uma matriz de pixels e escreve o texto   
         contentByte.setTextMatrix(document.left()+05,altura-(10*contLine));  
         contentByte.showText(linha);
        // encerra o texto da página
         contentByte.endText();   
         }
       }
      //fecha os arquivos
       document.close();
      //fecha os arquivos
     }catch(Exception erroPdf){
      System.out.println("Erro ao Criar Pdf!! "+erroPdf );
     }
   }