none
A largura da mesa deve ser maior que zero.(The table width must be greater than zero.) RRS feed

  • Pergunta

  • Olá Galera

    estou criando uma tabela pelo itext para colocar no pdf mas aou adicionar uma segunda tabela ele me da essa mensagem:

    Alargura da mesadeve ser maior quezero. (The table width must be greater than zero)

    alguem sabe como posso resolver?

    agradeço desde ja pela ajudar andre vieira


                //Verifica se ja tem a extensão .pdf no nome do arquivo
                if (!(nomeArq.Contains(".pdf")))
                {
                    nomeArq += ".pdf";
                }
    
    
                //declara uma variavel do tipo documento (esse documento tera o tamanho A4 e no modo paisagem)
                var doc = new Document(PageSize.A4.Rotate(), 30, 30, 30, 30);
    
    
                // aqui ele cria o arquivo (obd: no FileMode.Create pode ser trocado para apendise ou para leitura
                PdfWriter.GetInstance(doc, new FileStream(Request.PhysicalApplicationPath + "\\" + nomeArq, FileMode.Create));
    
                //aqui ele cria um tipo de fonte
                Font font1 = new Font(Font.STRIKETHRU, 26f, Font.BOLD, Color.BLACK);
                Font font2 = new Font(Font.STRIKETHRU, 14f, Font.BOLD, Color.BLACK);
    
                //aqui ocore a criação da tabela1
                PdfPTable table1 = new PdfPTable(6);
                //aqui e criado um vetor float
                float[] widths = new float[] { 1f, 1f, 1f, 1f, 1f, 1f };
                //aqui e determinado o tamanho da tabela
                table1.TotalWidth = 800f;
                //aqui e fixado o tamanho da tabela
                table1.LockedWidth = true;
                table1.SetWidths(widths);
                table1.HorizontalAlignment = 0;
    
                //aqui ocore a criação da tabela2
                PdfPTable table2 = new PdfPTable(8);
                //aqui e criado um vetor float
                float[] widthss = new float[] { 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f };
                //aqui e determinado o tamanho da tabela
                table1.TotalWidth = 800f;
                //aqui e fixado o tamanho da tabela
                table2.LockedWidth = true;
                table2.SetWidths(widthss);
                table2.HorizontalAlignment = 0;
                
    
                //aqui e croado as celulas da tabela1
                //celulas variaveis
                PdfPCell t1cell1 = new PdfPCell(new Phrase("Demonstrativo de Cálculo de Prêmio Mensal", font1));
                PdfPCell t1cell2 = new PdfPCell(new Phrase("2"));
                PdfPCell t1cell3 = new PdfPCell(new Phrase("Leandro Andrade Moura"));
                PdfPCell t1cell4 = new PdfPCell(new Phrase("Total Sales Performance"));
                PdfPCell t1cell5 = new PdfPCell(new Phrase("60%"));
                PdfPCell t1cell6 = new PdfPCell(new Phrase("10/2012"));
                //celulas nao variaveris
                PdfPCell t1cell7 = new PdfPCell(new Phrase("Estrutura:"));
                PdfPCell t1cell8 = new PdfPCell(new Phrase("Competência:"));
                PdfPCell t1cell9 = new PdfPCell(new Phrase("Profissional:"));
                PdfPCell t1cell10 = new PdfPCell(new Phrase("Critério:"));
                PdfPCell t1cell11 = new PdfPCell(new Phrase("Peso:"));
                //celula em branco
                PdfPCell cell12 = new PdfPCell(new Phrase(" "));
    
    
                //aqui e croado as celulas da tabela2
                //celulas nao variaveris
                PdfPCell t2cell1 = new PdfPCell(new Phrase("Produto", font2));
                PdfPCell t2cell2 = new PdfPCell(new Phrase("Peso (%)", font2));
                PdfPCell t2cell3 = new PdfPCell(new Phrase("Cota", font2));
                PdfPCell t2cell4 = new PdfPCell(new Phrase("Realizado", font2));
                PdfPCell t2cell5 = new PdfPCell(new Phrase("Cobert. (%)", font2));
                PdfPCell t2cell6 = new PdfPCell(new Phrase("Faixa de Aceleração", font2));
                PdfPCell t2cell7 = new PdfPCell(new Phrase("Target 100%", font2));
                PdfPCell t2cell8 = new PdfPCell(new Phrase("Prêmio Calculado Mensal", font2));
    
                //configurações da t1cell
                //configuração da t1cell1
                t1cell1.Colspan = 6;
                t1cell1.HorizontalAlignment = 1;
                t1cell1.Border = 0;
    
                //configuração do t1cell2
                t1cell2.Colspan = 3;
                t1cell2.HorizontalAlignment = 0;
                t1cell2.Border = 0;
    
                //configuração do t1cell3
                t1cell3.Colspan = 5;
                t1cell3.HorizontalAlignment = 0;
                t1cell3.Border = 0;
    
                //configuração do t1cell4
                t1cell4.Colspan = 2;
                t1cell4.HorizontalAlignment = 0;
                t1cell4.Border = 0;
    
                //configuração do t1cell5
                t1cell5.Colspan = 2;
                t1cell5.HorizontalAlignment = 0;
                t1cell5.Border = 0;
    
                //configurações do t1cell6 à t1cell11
                t1cell6.HorizontalAlignment = 0;
                t1cell6.Border = 0;
                t1cell7.HorizontalAlignment = 0;
                t1cell7.Border = 0;
                t1cell8.HorizontalAlignment = 0;
                t1cell8.Border = 0;
                t1cell9.HorizontalAlignment = 0;
                t1cell9.Border = 0;
                t1cell10.HorizontalAlignment = 0;
                t1cell10.Border = 0;
                t1cell11.HorizontalAlignment = 0;
                t1cell11.Border = 0;
    
                //configuração da cell12
                cell12.Colspan = 6;
                cell12.HorizontalAlignment = 1;
                cell12.Border = 0;
    
                //configurações da t2cell-----------------------------------------------------------
                //configuração da t2cell1
                t2cell1.HorizontalAlignment = 1;
    
                //configuração do t2cell2
                t2cell2.HorizontalAlignment = 1;
    
                //configuração do t2cell3
                t2cell3.HorizontalAlignment = 1;
    
                //configuração do t2cell4
                t2cell4.HorizontalAlignment = 1;
    
                //configuração do t2cell5
                t2cell5.HorizontalAlignment = 1;
    
                //configurações do t2cell6
                t2cell6.HorizontalAlignment = 1;
    
                //configurações do t2cell7
                t2cell7.HorizontalAlignment = 1;
    
                //configurações do t2cell8
                t2cell8.HorizontalAlignment = 1;
    
    
                //adiciona as celulas t1cell a tabela1
                table1.AddCell(t1cell1);
                table1.AddCell(cell12);
                table1.AddCell(cell12);
                table1.AddCell(t1cell7);
                table1.AddCell(t1cell2);
                table1.AddCell(t1cell8);
                table1.AddCell(t1cell6);
                table1.AddCell(t1cell9);
                table1.AddCell(t1cell3);
                table1.AddCell(t1cell10);
                table1.AddCell(t1cell4);
                table1.AddCell(t1cell11);
                table1.AddCell(t1cell5);
                table1.AddCell(cell12);
                table1.AddCell(cell12);
    
                //adiciona as celulas t2cell a tabela2
                table2.AddCell(t2cell1);
                table2.AddCell(t2cell2);
                table2.AddCell(t2cell3);
                table2.AddCell(t2cell4);
                table2.AddCell(t2cell5);
                table2.AddCell(t2cell6);
                table2.AddCell(t2cell7);
                table2.AddCell(t2cell8);
    
                //abre o documento
                doc.Open();
                //adiciona a tabela ao documento
                doc.Add(table1);
                doc.Add(table2);
                //fecha o documento
                doc.Close();
    
                //mostra o documento na tela
                Response.Redirect("~/" + nomeArq);

    segunda-feira, 22 de outubro de 2012 12:38

Respostas

  • Olá. Dando uma olhada no seu código, notei que voce cria a Tabela2 mas seta o tamanho para a Tabela1.

    ...
    
    //aqui ocore a criação da tabela2
    PdfPTable table2 = new PdfPTable(8);
    
    //aqui e criado um vetor float
    float[] widthss = new float[] { 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f };
    
    //aqui e determinado o tamanho da tabela
    table1.TotalWidth = 800f;
    
    ...


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    • Sugerido como Resposta Lucas Vandor terça-feira, 23 de outubro de 2012 17:15
    • Marcado como Resposta Andre Germiniani terça-feira, 23 de outubro de 2012 17:29
    terça-feira, 23 de outubro de 2012 14:06