Descargas, guías, trucos, gameplays...

domingo, 10 de junio de 2012

iTextSharp y VB .Net: Vínculos internos



The iText library is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3. Please read the terms of use before downloading iText.

Descarga iTextSharp: http://adf.ly/AkZzN


En la publicación anterior vimos como poner un enlace a una dirección web. Esta vez es el turno de los vínculos internos, algo muy necesario y útil cuando tenemos un indice o un archivo bastante extenso, al menos algo que yo como lector agradezco mucho cuando lo encuentro.

Siempre en un proyecto nuevo con Microsoft Visual Studio 2010 Express agregar un Form y un Button, entonces copiar y pegar el siguiente código:

Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports System.IO

Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim ruta As String = "itextsharp - vínculos internos.pdf" 'ruta del pdf (se creara en la carpeta Debug del proyecto
        Dim documento As New iTextSharp.text.Document(PageSize.LETTER, 72, 72, 72, 72)
        Dim pdfw As iTextSharp.text.pdf.PdfWriter

        pdfw = PdfWriter.GetInstance(documento, New FileStream(ruta, FileMode.Create, FileAccess.Write, FileShare.None))

        'Apertura del documento.
        documento.Open()

        'Agregamos una pagina.
        documento.NewPage()

        documento.Add(New Paragraph("INDICE"))
        documento.Add(New Paragraph(" "))

        Dim Tema1 As New Anchor("Tema 1") 'declaración del vínculo con el texto que se mostrara en el documento
        Tema1.Reference = "#Tema 1"       'nombre de la referencia dl vículo declarado
        documento.Add(Tema1)              'se agrega el vículo al documento
        documento.Add(New Paragraph(""))  'pasar a nueva linea

        Dim Tema2 As New Anchor("Tema 2") 'declaración del vínculo con el texto que se mostrara en el documento
        Tema2.Reference = "#Tema 2"       'nombre de la referencia dl vículo declarado
        documento.Add(Tema2)              'se agrega el vículo al documento
        documento.Add(New Paragraph(""))  'pasar a nueva linea

        Dim Tema3 As New Anchor("Tema 3") 'declaración del vínculo con el texto que se mostrara en el documento
        Tema3.Reference = "#Tema 3"       'nombre de la referencia dl vículo declarado
        documento.Add(Tema3)              'se agrega el vículo al documento

        'Agregamos una pagina.
        documento.NewPage()                                   'nueva página para iniciar el tema 1
        Dim aqui_Tema1 As New Anchor("Desarrollo del Tema 1") 'se declara destino del vículo Tema1
        aqui_Tema1.Name = "Tema 1"                            'se da el mismo nombre que Tema1.Referencia pero sin el #
        documento.Add(aqui_Tema1)                             'se agega el destino del vínculo

        'Agregamos una pagina.
        documento.NewPage()                                   'nueva página para iniciar el tema 2
        Dim aqui_Tema2 As New Anchor("Desarrollo del Tema 2") 'se declara destino del vículo Tema2
        aqui_Tema2.Name = "Tema 2"                            'se da el mismo nombre que Tema2.Referencia pero sin el #
        documento.Add(aqui_Tema2)                             'se agega el destino del vínculo

        'Agregamos una pagina.
        documento.NewPage()                                   'nueva página para iniciar el tema 3
        Dim aqui_Tema3 As New Anchor("Desarrollo del Tema 3") 'se declara destino del vículo Tema3
        aqui_Tema3.Name = "Tema 3"                            'se da el mismo nombre que Tema3.Referencia pero sin el #
        documento.Add(aqui_Tema3)                             'se agega el destino del vínculo


        'Forzamos vaciamiento del buffer.
        pdfw.Flush()
        'Cerramos el documento.
        documento.Close()

        pdfw = Nothing
        documento = Nothing

    End Sub
End Class




El archivo .pdf se crea en la carpeta Debug del proyecto.

La descarga del archivo aquí: itextsharp - vínculos internos.rar




No hay comentarios:

Publicar un comentario