Problemas de tabulacion de datos con ItextSharp
Publicado por ezequiel (2 intervenciones) el 18/09/2018 15:22:28
Buen día, mi problema es el siguiente. Cuando exporto datos de un gridview en una parte del pdf me aparecen mal tabulados los datos de una lista de valores, como pueden ver en la siguiente imagen

Yo necesito que en el pdf se vea de la siguiente manera:

Cuando entro al gestor de base de datos y exporto la consulta de base de datos a txt, el txt me aparece bien formateado. Ademas en el sistema anterior que hizo la empresa a la cual trabajo, lo exporta correctamente tabulado como en la 2º imagen.
Aclaracion importante: Toda la informacion del pdf se encuentra contenida en un solo campo de una tabla de la base de datos donde simplemente hago la consulta sql y ya me trae todo armado.
Les paso mi codigo a ver si me pueden dar una mano, quizas me esté faltando algo:
Codigo para mostrar el archivo pdf en la pagina web
Desde ya muchas gracias.

Yo necesito que en el pdf se vea de la siguiente manera:

Cuando entro al gestor de base de datos y exporto la consulta de base de datos a txt, el txt me aparece bien formateado. Ademas en el sistema anterior que hizo la empresa a la cual trabajo, lo exporta correctamente tabulado como en la 2º imagen.
Aclaracion importante: Toda la informacion del pdf se encuentra contenida en un solo campo de una tabla de la base de datos donde simplemente hago la consulta sql y ya me trae todo armado.
Les paso mi codigo a ver si me pueden dar una mano, quizas me esté faltando algo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public void SetPdf()
{
PdfPTable PdfTable = new PdfPTable(GridView2.HeaderRow.Cells.Count);
//BaseFont bfTimes = BaseFont.CreateFont("c:/windows/fonts/arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//iTextSharp.text.Font _standardFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);
BaseFont bfTimes = BaseFont.CreateFont("c:/windows/fonts/arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fuente = new Font(bfTimes, 7);
foreach (GridViewRow gridViewRow in GridView2.Rows)
{
foreach (TableCell tableCell in gridViewRow.Cells)
{
String texto = HttpUtility.HtmlDecode(tableCell.Text);
Phrase p = new Phrase(texto, fuente);
p.Add(new VerticalPositionMark());
PdfPCell pdfCell = new PdfPCell(p);
pdfCell.BorderWidthBottom = 0f;
pdfCell.BorderWidthLeft = 0f;
pdfCell.BorderWidthTop = 0f;
pdfCell.BorderWidthRight = 0f;
PdfTable.AddCell(pdfCell);
}
}
Session["pdf"] = PdfTable;
}
Codigo para mostrar el archivo pdf en la pagina web
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public partial class VisorPdf : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
PdfPTable pdf = (PdfPTable)Session["pdf"];
String archivo = Request.QueryString["filename"];
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", string.Format("inline;filename=" + archivo));
Document pdfDocument = new Document(PageSize.LETTER);
PdfWriter.GetInstance(pdfDocument, Response.OutputStream);
pdfDocument.Open();
pdfDocument.Add(pdf);
pdfDocument.Close();
Response.End();
}
}
Desde ya muchas gracias.
Valora esta pregunta


0