Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedroalves

problemas com o java e pdf

Recommended Posts

não estou a conseguir por esta função a funcionar e não me da qualquer erro

segue-se as duas funções e como não funciona não cria o pdf e quando criava não inseria a imagem no pdf

 

  DefaultTableModel model1 = (javax.swing.table.DefaultTableModel) pesquisa_cliente.getModel();
   //pesquisa
   File dir = new File("D://pdf/facturas/");
       boolean result = dir.mkdirs();
        Image ola=null;
        String sede,morada,mail,codigo,site;
        String tel,nif1;




 try {
     Statement stmt5 = conn.createStatement();

           String query6 = "SELECT * FROM empresa,logotipo where id='1'";
           ResultSet rset2 = stmt5.executeQuery(query6);  


  if (rset2.next()) {
               sede=(rset2.getString(2));
               morada=(rset2.getString(3));
               mail=(rset2.getString(4));
               tel=(rset2.getString(6));
               codigo=(rset2.getString(7));

               nif1=(rset2.getString(9));
         ola=Toolkit.getDefaultToolkit().createImage(rset2.getBytes(14));

               site=(rset2.getString(11));



  }

               Document document = new Document();
               try {
                   PdfWriter.getInstance(document, new FileOutputStream("D://pdf/facturas/"+this.jLabel57.getText()+ ".pdf"));
                   document.open();

                   document.addTitle("FACTURA");

 Paragraph p1 = new Paragraph("Factura Nº"+this.jLabel57.getText(), new
Font(FontFamily.HELVETICA, 14, Font.BOLDITALIC, new BaseColor(0, 0,0)) );
p1.setAlignment(Element.ALIGN_RIGHT);
document.add(p1);



                 Paragraph p2 = new Paragraph("______________________________________");
                 Paragraph p3 = new Paragraph("Exmo.(s) Senhor(es)");
                 Paragraph p4 = new Paragraph("______________________________________");
                 Paragraph p5 = new Paragraph("Nome:"+jTextField1.getText());
                 Paragraph p6 = new Paragraph("Morada:"+jTextField2.getText());

                       Paragraph p7 = new Paragraph("Codigo Postal:"+jTextField7.getText());
                       Paragraph p8 = new Paragraph("______________________________________");
                  com.itextpdf.text.Image img =com.itextpdf.text.Image.getInstance(""+ola);
  img.setAlignment(Element.ALIGN_LEFT);

                    //Paragraph p10 = new Paragraph("ola");            
                      // p10.setAlignment(Element.ALIGN_LEFT);
                       p2.setAlignment(Element.ALIGN_RIGHT);
                       p3.setAlignment(Element.ALIGN_RIGHT);
                                 p4.setAlignment(Element.ALIGN_RIGHT);
                                  p5.setAlignment(Element.ALIGN_RIGHT);
                                           p6.setAlignment(Element.ALIGN_RIGHT);
                                            p7.setAlignment(Element.ALIGN_RIGHT);
                    p8.setAlignment(Element.ALIGN_RIGHT);

  document.add(p2);
     document.add(p3);
        document.add(p4);
           document.add(p5);
              document.add(p6);
                 document.add(p7);
                    document.add(p8);
         // document.add(img); 
                    //document.add(p10);

               } catch (DocumentException de) {
                   System.err.println(de.getMessage());
               } catch (IOException ioe) {
                   System.err.println(ioe.getMessage());
               }
               document.close();


           } catch (Exception ex) {
                         this.clientepesquisa.setModalityType(Dialog.ModalityType.MODELESS);
               javax.swing.JOptionPane.showMessageDialog(null,ex,"Mensagem", javax.swing.JOptionPane.OK_CANCEL_OPTION);
               System.out.println(ex);
                    this.clientepesquisa.setModalityType(Dialog.ModalityType.TOOLKIT_MODAL);
           }        // TODO add your handling code here:

}

        try {


               String nome = jTextField1.getText();

   String nome1=jFormattedTextField1.getText();
               Statement stmt = conn.createStatement();
               String query = "SELECT *FROM clientes Where Nome='" +nome+ "';";
               ResultSet rset = stmt.executeQuery(query);

               if (rset.next()) {
               if(rset.getString(2).equals(nome)){
             String query1="Update compras set id_clientes=(SELECT id FROM clientes Where Nome='" +nome+ "'),id_user=(SELECT id FROM user Where Username='" +jLabel95.getText()+ "'),Data='"+nome1+"',Valor_Total=(SELECT sum(Preco_Total) FROM compraproduto where compras.id_compra=compraproduto.id_compra) where id_compra='"+jLabel57.getText()+"';";
System.out.println(query1);
stmt.executeUpdate(query1); 
                this.novafactura.setModalityType(Dialog.ModalityType.MODELESS);
           javax.swing.JOptionPane.showMessageDialog(null, "FACTURA CRIADO COM SUCESSO", "Erro", javax.swing.JOptionPane.INFORMATION_MESSAGE);
           this.novafactura.setModalityType(Dialog.ModalityType.TOOLKIT_MODAL);
           this.novafactura.setVisible(false);
            factura1();

               }
               }else{

 clienteola();
 clienteola1();
     this.novafactura.setModalityType(Dialog.ModalityType.MODELESS);
           javax.swing.JOptionPane.showMessageDialog(null, "FACTURA CRIADO COM SUCESSO", "Erro", javax.swing.JOptionPane.INFORMATION_MESSAGE);
           this.novafactura.setModalityType(Dialog.ModalityType.TOOLKIT_MODAL);
           this.novafactura.setVisible(false);
            factura1();
               }

           } catch(Exception e) {
               System.out.println(e);
           }        // TODO add your handling code here:
   }

 

ja resolvi o problema na parte de gerar o pdf

mas não consigo alinhar o os dados da empresa no pdf com o dados do cliente

ou seja o dados da empresa na mesma linhas do dados do cliente mas os da empresa fica no lado esquerdo do pdf e cliente no lado direito

como resolvo o problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho alguns conselhos para dar pra você, e que fará o seu código ficar muito

melhor, vamos as dicas.

 

1 - Não crie métodos que faça tudo no seu programa dificulta o entendimento e

estética do código, além de te atrapalhar em futuras manutenções.

 

2 - Para a funcionalidade que você está fazendo será que não poderia ser usado

o Ireport que é outro Framework para a geração de relatório, que facilitária o

alinhamento, e a geração de um PDF em alto nível.

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.