PDFDocument: Como volver a añadir contenido en una página determinada

Cuando creamos documentos PDF en la mayoría de los casos no sabremos por anticipado la cantidad de páginas que tendrá en total y, sin embargo, este es un dato que necesitaremos saber para, por ejemplo, añadir pies de página donde se indique el número de la página actual sobre el total de páginas del documento. Entonces, ¿cómo podemos hacerlo?

La respuesta se encuentra en las propiedades PageCount y CurrentPage de PDFDocument. La primera nos indicará el total de páginas de las que se compone nuestro documento PDF en cada momento, mientras que la segunda propiedad (de lectura y escritura) es la que podemos utilizar para “volver” a una página determinada del documento PDF. De este modo, cuando asignamos un valor a la propiedad CurrentPage estaremos definiendo el contexto gráfico activo al correspondiente con dicha página o, dicho de otro modo, podremos continuar añadiendo contenido sobre ella.

Vamos a ver cómo podemos hacerlo a través de un sencillo ejemplo en el que crearemos un documento de 10 páginas y, luego, añadiremos un pie de página sobre cada una de ellas:

Var d As New PDFDocument
Var g As Graphics = d.Graphics

// Creamos un total de 10 páginas
For n As Integer = 1 To 9
g.DrawText "Some sample text in page #" + n.tostring, 20, 20
g.NextPage
Next n

// Una vez creadas y "dibujadas" las páginas
// iteramos sobre cada una de ellas para añadir el pie de página.
// ¡Recuerda que la primera página de un documento PDF es la página 1!
Var x As Integer = d.PageCount
For i As Integer = 1 To x

// Aquí es donde indicamos cuál queremos que vuelva a ser
// la página "activa" (contexto gráfico en curso) del documento PDF
d.CurrentPage = i
g.DrawText "Page " + i.ToString + " of " + x.ToString, 20, g.Height-30
Next i

// Finalmente, guardamos el documento PDF a archivo
d.Save(SpecialFolder.Desktop.Child("CurrentPage.PDF"))

Ejecuta el fragmento de código y obtendrás como resultado un documento PDF en el Escritorio de tu equipo. Ábrelo con tu app de visualización/edición de PDF favorita y podrás comprobar cómo el segundo bucle, en el que se itera por cada una de las páginas del documento, ha podido añadir nuevo contenido sobre cada una de ellas; en este caso, el pie de página.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *