elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:29  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Ayuda con tipo de letra al exportar un datagrid a pdf
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con tipo de letra al exportar un datagrid a pdf  (Leído 854 veces)
joalbela

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Ayuda con tipo de letra al exportar un datagrid a pdf
« en: 8 Marzo 2011, 21:46 »

Hola amigos, tengo un problema lo que pasa es que genere un datagrid y luego lo exporte a pdf y me gustaria poder cambiarle el estilo de la  letra por una curier new ya que no he podido hacerlo.

Muchas gracias


En línea

Jorge MB
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Ayuda con tipo de letra al exportar un datagrid a pdf
« Respuesta #1 en: 8 Marzo 2011, 21:50 »

Y como hicisteis para exportarlo? Alguna librería u objeto?


En línea

---
joalbela

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Re: Ayuda con tipo de letra al exportar un datagrid a pdf
« Respuesta #2 en: 8 Marzo 2011, 22:25 »

Código
private void btnExportar_Click(object sender, EventArgs e)
       {
 
 
           DateTime hora = DateTime.Now;
           string fcha_ttal = Convert.ToDateTime(hora).Day + "/" + Convert.ToDateTime(hora).Month + "/" + Convert.ToDateTime(hora).Year;
           Document doc = new Document(PageSize.A3, 9, 9, 10, 10);
           string filename = "C:\\Temp\\Listado Total.pdf";
           iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(@"C:\Mis documentos\Biblia_productos\Biblia_productos\Images\marion.JPG"); jpg.Alignment = iTextSharp.text.Image.ALIGN_LEFT ;
           Chunk tamaño = new Chunk(" LISTA DE PRODUCTOS CODIFICADOS EN " + fcha_ttal + "", FontFactory.GetFont("COURIER", 12));
 
           try
           {
               FileStream file = new FileStream
              (filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
               PdfWriter.GetInstance(doc, file);
               doc.Open();
               doc.Add(new Paragraph(tamaño));
               doc.Add(jpg);
               GenerarDocumento(doc);
               Process.Start(filename);
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message);
           }
           doc.Close();
       }
       //Función que genera el documento Pdf
       public void GenerarDocumento(Document document)
       {
           PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
           datatable.DefaultCell.Padding = 1;
           float[] headerwidths = GetTamañoColumnas(dataGridView1);
           datatable.SetWidths(headerwidths);
           datatable.WidthPercentage = 100;
           datatable.DefaultCell.BorderWidth = 3;
           datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
           for (int i = 0; i < dataGridView1.ColumnCount; i++)
           {
               datatable.AddCell(dataGridView1.Columns[i].HeaderText);
 
           }
           datatable.HeaderRows = 0;
           datatable.DefaultCell.BorderWidth = 1;
 
           for (int i = 0; i < dataGridView1.RowCount - 1; i++)
           {
               for (int j = 0; j < dataGridView1.ColumnCount; j++)
               {
                   datatable.AddCell(dataGridView1[j, i].Value.ToString());
                   //string nmbre_prdcto = datatable.AddCell(dataGridView1[j, i].Value.ToString());
                   //string primera = nmbre_prdcto.Substring(1, 1);
               }
               datatable.CompleteRow();
           }
           document.Add(datatable);
       }
       public float[] GetTamañoColumnas(DataGridView dg)
       {
           float[] values = new float[dg.ColumnCount];
           for (int i = 0; i < dg.ColumnCount; i++)
           {
               values[i] = (float)dg.Columns[i].Width;
           }
           return values;
       }


ESTE FUE EL CODIGO CON EL QUE EXPORTE EL DATAGRID AL PDF
« Última modificación: 9 Marzo 2011, 14:48 por Novlucker » En línea

Jorge MB
seba123neo


Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: Ayuda con tipo de letra al exportar un datagrid a pdf
« Respuesta #3 en: 8 Marzo 2011, 22:48 »

trata de poner el codigo fuente entre el geshi asi es mas claro de leer.

no pusiste que libreria estas usando, porque cuando haces un "new Document" o "new PdfPTable" esos metodos forman parte de una libreria externa al visual studio que debes estar usando.

por lo que me acabo de fijar la libreria se llama iTextSharp

busca en internet que hay mucho de esta libreria, fijate esto:

iTextSharp - Working with Fonts

saludos.



« Última modificación: 8 Marzo 2011, 22:50 por seba123neo » En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
joalbela

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Re: Ayuda con tipo de letra al exportar un datagrid a pdf
« Respuesta #4 en: 8 Marzo 2011, 23:02 »

 
Código
 public void GenerarDocumento(Document document)
       {
           PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
           datatable.DefaultCell.Padding = 1;
           float[] headerwidths = GetTamañoColumnas(dataGridView1);
           datatable.SetWidths(headerwidths);
           datatable.WidthPercentage = 100;
           datatable.DefaultCell.BorderWidth = 3;
           datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
           for (int i = 0; i < dataGridView1.ColumnCount; i++)
           {
               datatable.AddCell(dataGridView1.Columns[i].HeaderText);
 
           }
           datatable.HeaderRows = 0;
           datatable.DefaultCell.BorderWidth = 1;
 
           for (int i = 0; i < dataGridView1.RowCount - 1; i++)
           {
               for (int j = 0; j < dataGridView1.ColumnCount; j++)
               {
                   datatable.AddCell(dataGridView1[j, i].Value.ToString());
                   //string nmbre_prdcto = datatable.AddCell(dataGridView1[j, i].Value.ToString());
                   //string primera = nmbre_prdcto.Substring(1, 1);
               }
               datatable.CompleteRow();
           }
           document.Add(datatable);
       }
       public float[] GetTamañoColumnas(DataGridView dg)
       {
           float[] values = new float[dg.ColumnCount];
           for (int i = 0; i < dg.ColumnCount; i++)
           {
               values[i] = (float)dg.Columns[i].Width;
           }
           return values;
       }

claro uso ITextSharp
« Última modificación: 9 Marzo 2011, 15:02 por Novlucker » En línea

Jorge MB
seba123neo


Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: Ayuda con tipo de letra al exportar un datagrid a pdf
« Respuesta #5 en: 8 Marzo 2011, 23:04 »

no hacia falta que hagas otro post, podes editar el otro.

el geshi para C# es [ code=csharp] [ /code]
« Última modificación: 8 Marzo 2011, 23:06 por seba123neo » En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
[D4N93R]
Moderador
***
Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Ayuda con tipo de letra al exportar un datagrid a pdf
« Respuesta #6 en: 9 Marzo 2011, 20:53 »

Bloqueo el tema porque ya tienes este que habla sobre el mismo tema.

https://foro.elhacker.net/net/insertar_en_una_nueva_hoja_de_al_pasar_de_una_letra_a_a_b_y_asi_sucesivamente_c-t321232.0.html;msg1588848#new

Un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Que tipo de letra es esta?
Diseño Gráfico
‭lipman 9 1,224 Último mensaje 20 Enero 2007, 01:16
por ‭lipman
Tipo de letra
Diseño Gráfico
MasterPunk 5 1,660 Último mensaje 30 Noviembre 2009, 16:23
por Azielito
Que tipo de letra es esta?
Foro Libre
ohk 1 542 Último mensaje 20 Febrero 2010, 00:15
por Azielito
Tipo de Letra
Dudas Generales
maxx93 3 2,270 Último mensaje 17 Junio 2010, 22:21
por maxx93
Decimales en datagrid y exportar a pdf c#
.NET
joalbela 10 1,555 Último mensaje 15 Marzo 2011, 19:59
por [D4N93R]
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines