Foros del Web » Programación para mayores de 30 ;) » .NET »

iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xDDD

Estas en el tema de iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xDDD en el foro de .NET en Foros del Web. Buenas, pues estoy trabajando con la libreria iTextSharp, que tras una semana peleandome ahora empiezo a entender bien... bueno creo XD El caso es que ...
  #1 (permalink)  
Antiguo 16/03/2010, 17:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 0
iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xDDD

Buenas, pues estoy trabajando con la libreria iTextSharp, que tras una semana peleandome ahora empiezo a entender bien... bueno creo XD El caso es que hay una cosa que no consigo que me salga y es poner una cabecera/pie de página a cada página de mi documento PDF.

Según el tutorial de iTextSharp del desarrollador. Se hace así en C#:

Código C:
Ver original
  1. HeaderFooter footer = new HeaderFooter(new Phrase("This is page: "), true);
  2.             footer.Border = Rectangle.NO_BORDER;
  3.             document.Footer = footer;

Yo que trabajo en VB lo pongo así:

Código C:
Ver original
  1. Dim footer As New HeaderFooter(New Phrase("This is page: "), True)
  2. footer.Border = Rectangle.NO_BORDER
  3. document.Footer = footer

Pero me dice que el tipo HeaderFooter no está definido (línea 1) y que Footer no es un miembro de Document (línea 3).

Las librerias que importo al principio del archivo *.vb son estas:

Código vb:
Ver original
  1. Imports iTextSharp.text
  2. Imports iTextSharp.text.pdf
  3. Imports System.Data.SQLite
  4. Imports System.IO

Y no se que es lo que puede estar fallando porque en todas partes dicen que asi así. Lo demás de tablas y tal me funciona bien (me llevó un tiempo acostumbrarme a la libreria porque es bastante compleja, pero ya empiezo a usarla más o menos como quiero)

A ver si algún alma caritativa ha trabajado con esta popular librería y me puede ayudar con esto, porque me he pateado la internet entera xD

Aquí aparecen ejemplos, todos iguales: http://itextsharp.sourceforge.net/tutorial/ch04.html

Saludos

Última edición por AlterElt; 16/03/2010 a las 17:53
  #2 (permalink)  
Antiguo 25/03/2010, 19:06
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

nadie sabe nada?

saludos
  #3 (permalink)  
Antiguo 26/03/2010, 12:27
 
Fecha de Ingreso: febrero-2010
Ubicación: in a program computer
Mensajes: 90
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Hola, que bonito es saber que no eres el unico perdido en itexsharp jeje..
bueno yo estuve trabajando con esta libreria un tiempo a la par que con pdfsharp
son muy similares....

tmb tenia que implementar una cabecera en mi documento pero no pude hacerlo por codigo probe varias formas y noo nada .. mi solucion fue la siguiente diseñe una plantilla con el encabezado que necesitaba la almacenaba en una ruta en especifico, cuando queria hacer el llenado del documento abria la plantilla, creaba un nuevo documento a partir de esa plantilla y escribia toda la informacion que me hacia falta para llenarlo (itextsharp o pdfsharp) ya con el encabezado incluido, jeje lo se es trampa pero me funciono.. =)
si encuentras la solucion... me comentas como le hiciste !!
  #4 (permalink)  
Antiguo 28/03/2010, 22:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Buenas!

La verdad es que llevo varios días dandole vueltas al tema... El caso es que, como tú, he pensado en soluciones alternativas. Una cosa que se me ocurre es que cada vez que creo una nueva pagina añadir manualmente la cabecera, pero se me ha metido en la cabeza lo de la cabecera xD

Ahora estoy pensando en usar marcas de agua (Watermarks) para darle un poco de vida al PDF con algún fondo, porque tal cual lo tengo me parece bastante rancio xD

Lo de usar una plantilla también lo he pensado, pero al final como el texto y todo lo demás lo voy a tener que formatear mediante iTextsharp, pues como que voy a tener que aprender por huevs, de todos modos me parece muy buen parche para salir del paso jeje

Se supone que para pasarle la plantilla abres el documento con algo así?

Código vb:
Ver original
  1. Dim Documento As New Document(PageSize.A4, 50, 50, 50, 50) 'Creamos un documento nuevo (indicamos tamaño A4 y los margenes IZQ,DCHA,ARRIBA,ABAJO)
  2.                PdfWriter.GetInstance(Documento, New FileStream(destino, FileMode.OpenOrCreate)) 'abrimos/creamos el doc en el destino

Saludos

pd: si encuentro la solución a lo de la cabecera y pie de página la posteo, pero ni siquiera me han contestado en stackoverflow xD
  #5 (permalink)  
Antiguo 29/03/2010, 12:58
 
Fecha de Ingreso: febrero-2010
Ubicación: in a program computer
Mensajes: 90
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

hola, si esa seria la manera para abrir el documento y ya sobre ese documento abierto escribes tu informacion que requieras, pero ya debe de llevar el encabezado, pie de pagina e incluso puede llevar la imagen para que se vea diferente o menos rancio(jeje). pero como tu dices es la opcion de paso, y no es lo ideal.

Me cuentas despues, como sigue tu documento hee !!
  #6 (permalink)  
Antiguo 29/03/2010, 19:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Buenas!

He probado con una plantilla creada con word 2007 y guardada en formato PDF, bueno, pues me sobrescribe el archivo de la plantilla... este itextsharp me esta volviendo loco xD
  #7 (permalink)  
Antiguo 04/04/2010, 11:16
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Bueno, ahí va la solución:

Hay que hacerlo con PageEvents a partir de la versión 5.0 de iTextSharp. Bajo mi punto de vista lo han hecho más complejo de trabajar, pero más potente. En definitiva, aquí va un ejemplo:

Código vb:
Ver original
  1. Imports iTextSharp.text.pdf
  2. Imports iTextSharp.text
  3. Imports System.IO
  4. Module Module1
  5.     Sub Main()
  6.         Dim pdfDoc As New Document()
  7.         Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(pdfDoc, New FileStream("tryme2.pdf", FileMode.Create))
  8.         Dim ev As New itsEvents
  9.         pdfWrite.PageEvent = ev
  10.         pdfDoc.Open()
  11.         pdfDoc.Add(New Paragraph("Hello World"))
  12.         pdfDoc.NewPage()
  13.         pdfDoc.Add(New Paragraph("Hello World Again"))
  14.         pdfDoc.Close()
  15.     End Sub
  16. End Module
  17.  
  18. Public Class itsEvents
  19.     Inherits PdfPageEventHelper
  20.     Public Overrides Sub OnStartPage(ByVal writer As iTextSharp.text.pdf.PdfWriter, ByVal document As iTextSharp.text.Document)
  21.         Dim ch As New Chunk("This is my Stack Overflow Header on page " & writer.PageNumber)
  22.         document.Add(ch)
  23.     End Sub
  24. End Class
  #8 (permalink)  
Antiguo 23/08/2010, 10:00
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Alguien tiene un ejemplo con C#?. No maneja igual los eventos
  #9 (permalink)  
Antiguo 31/08/2010, 10:37
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

http://www.developerfusion.com/tools/convert/vb-to-csharp/
  #10 (permalink)  
Antiguo 09/09/2010, 11:47
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

No es lo ideal, no detecta automáticamente el salto de página, con lo que no tiene sentido. Si se genera un informe en pdf uno no sabe la cantidad de información que irá en cada página.
  #11 (permalink)  
Antiguo 25/11/2011, 13:25
 
Fecha de Ingreso: noviembre-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Cita:
Iniciado por javi37 Ver Mensaje
No es lo ideal, no detecta automáticamente el salto de página, con lo que no tiene sentido. Si se genera un informe en pdf uno no sabe la cantidad de información que irá en cada página.
Deberias usar el evento document.NextPage()
y te hace el salto de pagina donde tu creas correspondiente, por si lo necesitas.
  #12 (permalink)  
Antiguo 22/02/2012, 11:49
Avatar de thiancriss  
Fecha de Ingreso: mayo-2009
Ubicación: Bogota
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: iTextSharp, ayuda con cabecera de documento PDF, me está volviendo loco xD

Gracias a AlterElt por la respuesta,

Este es el codigo en C# probado

public void VariasPaginas(){
Document pdfDoc = new Document();
PdfWriter pdfWrite = PdfWriter.GetInstance(pdfDoc, new FileStream(@"c:\tryme2.pdf", FileMode.Create));
itsEvents ev = new itsEvents();
pdfWrite.PageEvent = ev;
pdfDoc.Open();


for (int i = 0; i < 10000; i++)
{
pdfDoc.Add(new Paragraph("Hello World"));
}

pdfDoc.Close();
}

public class itsEvents : PdfPageEventHelper
{
public override void OnStartPage(PdfWriter writer, Document document)
{

base.OnStartPage(writer, document);
Chunk ch = new Chunk("This is my Stack Overflow Header on page " + writer.PageNumber);
document.Add(ch);

}

Etiquetas: documento, itextsharp, loco, pdf, cabeceras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:33.