Menu fechado

Arquitetos de Sistemas

Precisa dar quebra de página no PdfPTable interno do iTextSharp ,c# ,asp.net-mvc ,itext ,pdfptable ,page-break-inside [RESOLVIDO]

Visualizando 0 resposta da discussão
  • Autor
    Posts
    • #82005 Responder
      Anderson Paraibano
      Participante

      Resumo: Este artigo discute o problema de quebra de página no PdfPTable interno do iTextSharp em um contexto de desenvolvimento C#, ASP.NET MVC. O recurso de quebra de página é necessário para garantir a formatação correta do conteúdo do PdfPTable ao criar documentos PDF usando a biblioteca iTextSharp. Através da utilização da propriedade “page-break-inside”, é possível controlar o comportamento de quebra de página dentro das células da tabela.

      Introdução

      Ao criar documentos PDF dinamicamente em um projeto ASP.NET MVC usando a biblioteca iTextSharp, é comum usar a classe PdfPTable para organizar e exibir dados tabulares. No entanto, pode surgir um problema quando as células do PdfPTable contêm conteúdo que excede o espaço disponível em uma única página. Nesses casos, é necessário aplicar uma quebra de página interna no PdfPTable para garantir a formatação adequada.

      Entendendo o PdfPTable e a quebra de página

      O PdfPTable é uma classe poderosa do iTextSharp que permite criar tabelas em documentos PDF. No entanto, por padrão, o PdfPTable não possui quebras de página internas. Isso significa que, se uma célula da tabela contiver conteúdo que seja grande o suficiente para ocupar mais espaço do que o disponível em uma página, o conteúdo excedente será truncado ou não exibido corretamente.

      Felizmente, a biblioteca iTextSharp oferece uma solução para esse problema. A propriedade “page-break-inside” pode ser usada para controlar o comportamento de quebra de página dentro das células da tabela. Essa propriedade pode ser definida para diferentes valores, como “auto” ou “avoid”, dependendo do comportamento desejado.

      Implementando a quebra de página no PdfPTable

      Para aplicar a quebra de página interna no PdfPTable, é necessário definir a propriedade “page-break-inside” para o valor desejado em cada célula da tabela. Isso pode ser feito ao criar as células ou antes de adicioná-las à tabela.

      Aqui está um exemplo de código em C# que ilustra como aplicar a quebra de página no PdfPTable usando o iTextSharp:

      csharp
      Copy code
      using iTextSharp.text;
      using iTextSharp.text.pdf;

      // Criar uma tabela com três colunas
      PdfPTable table = new PdfPTable(3);

      // Definir a largura percentual da tabela
      table.WidthPercentage = 100;

      // Criar células e definir a propriedade “page-break-inside”
      PdfPCell cell1 = new PdfPCell(new Phrase(“Conteúdo da célula 1”));
      cell1.VerticalAlignment = Element.ALIGN_MIDDLE;
      cell1.HorizontalAlignment = Element.ALIGN_CENTER;
      cell1.UseAscender = true;
      cell1.UseDescender = true;
      cell1.SetLeading(0, 1.2f);
      cell1.Padding = 5f;
      cell1.BorderWidth = 1f;
      cell1.BorderColor = BaseColor.BLACK;
      cell1.BackgroundColor = BaseColor.LIGHT_GRAY;
      cell1.MinimumHeight = 30f;
      cell1.SetLeading(0, 1.2f);
      cell1.Padding = 5f;
      cell1.BorderWidth = 1f;
      cell1.BorderColor = BaseColor.BLACK;
      cell1.BackgroundColor = BaseColor.LIGHT_GRAY;
      cell1.MinimumHeight = 30f;
      cell1.FixedHeight = 40f;
      cell1.VerticalAlignment = Element.ALIGN_MIDDLE;
      cell1.HorizontalAlignment = Element.ALIGN_CENTER;

      // Adicionar células à tabela
      table.AddCell(cell1);

      // …

      // Gerar o documento PDF
      Document document = new Document();
      PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(“output.pdf”, FileMode.Create));
      document.Open();
      document.Add(table);
      document.Close();
      Neste exemplo, a propriedade “page-break-inside” não é definida explicitamente, o que significa que o comportamento padrão será aplicado. No entanto, você pode modificar o código para definir essa propriedade de acordo com suas necessidades.

      Conclusão

      A quebra de página no PdfPTable interno do iTextSharp é uma funcionalidade essencial para garantir que o conteúdo das células seja exibido corretamente em um documento PDF. Usando a propriedade “page-break-inside”, é possível controlar o comportamento de quebra de página dentro das células da tabela. Ao definir essa propriedade adequadamente, você poderá formatar corretamente tabelas grandes e garantir uma apresentação adequada dos dados nos documentos PDF gerados pelo seu aplicativo ASP.NET MVC.

      Espero que este artigo tenha sido útil para entender como aplicar quebras de página no PdfPTable interno do iTextSharp em um contexto de desenvolvimento C#, ASP.NET MVC. Com as informações fornecidas, você deve ser capaz de resolver problemas relacionados à formatação de tabelas em seus documentos PDF usando a biblioteca iTextSharp.

Visualizando 0 resposta da discussão
Responder a: Precisa dar quebra de página no PdfPTable interno do iTextSharp ,c# ,asp.net-mvc ,itext ,pdfptable ,page-break-inside [RESOLVIDO]
Sua informação:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">

Nova denúncia

Fechar