Descarga contenido exclusivo en
Ofimática y Programación + Tecnología

sábado, 2 de junio de 2012



iTextSharp y VB .Net: Insertar imagen


pay per click The iText library is free software; you can redistribute it and/or modify it under the terms of the GNU Affero Gen... thumbnail 1 summary



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://itextpdf.com/download.php

Veremos en esta sección como insertar una imagen en nuestro documento pdf. Para ello creamos un nuevo proyecto en Microsoft Visual Basic 2010 Express y pegamos 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 - tipo de fuente.pdf" 'ruta del pdf (se creara en la carpeta Debug del proyecto
        Dim textoArial As String = "Ejemplo de personalizacion de fuente Arial"
        Dim textoCalibri As String = "Ejemplo de personalizacion de fuente Calibri"
        Dim textoVerdana As String = "Ejemplo de personalizacion de fuente Verdana"
        Dim documento As New iTextSharp.text.Document(PageSize.LETTER, 72, 72, 72, 72)
        Dim pdfw As iTextSharp.text.pdf.PdfWriter

        'craeación de fuentes arial, calibri y verdana
        Dim fuenteArial As New Font(BaseFont.CreateFont("c:/windows/fonts/arial.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED), 12)
        Dim fuenteCalibri As New Font(BaseFont.CreateFont("c:/windows/fonts/calibri.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED), 12)
        Dim fuenteVerdana As New Font(BaseFont.CreateFont("c:/windows/fonts/verdana.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED), 12)

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

        'Apertura del documento.
        documento.Open()

        'Agregamos una pagina.
        documento.NewPage()

        'posicionar y redimensionarfranja azul
        Dim imagen As iTextSharp.text.Image 'declaración de imagen
        imagen = iTextSharp.text.Image.GetInstance(My.Application.Info.DirectoryPath & "\sket-dance.jpg") 'nombre y ruta de la imagen a insertar
        imagen.ScalePercent(16.7) 'escala al tamaño de la imagen
        imagen.SetAbsolutePosition(40, 500) 'posición en la que se inserta. 40 (de izquierda a derecha). 500 (de abajo hacia arriba)

        documento.Add(imagen) 'se agrega la imagen al documento

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

        pdfw = Nothing
        documento = Nothing

    End Sub
End Class



Al ejecutarlo obtenemos esto:


Con la siguiente modificación:
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 - tipo de fuente.pdf" 'ruta del pdf (se creara en la carpeta Debug del proyecto
        Dim textoArial As String = "Ejemplo de personalizacion de fuente Arial"
        Dim textoCalibri As String = "Ejemplo de personalizacion de fuente Calibri"
        Dim textoVerdana As String = "Ejemplo de personalizacion de fuente Verdana"
        Dim documento As New iTextSharp.text.Document(PageSize.LETTER, 72, 72, 72, 72)
        Dim pdfw As iTextSharp.text.pdf.PdfWriter

        'craeación de fuentes arial, calibri y verdana
        Dim fuenteArial As New Font(BaseFont.CreateFont("c:/windows/fonts/arial.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED), 12)
        Dim fuenteCalibri As New Font(BaseFont.CreateFont("c:/windows/fonts/calibri.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED), 12)
        Dim fuenteVerdana As New Font(BaseFont.CreateFont("c:/windows/fonts/verdana.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED), 12)

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

        'Apertura del documento.
        documento.Open()

        'Agregamos una pagina.
        documento.NewPage()

        'posicionar y redimensionarfranja azul
        Dim imagen As iTextSharp.text.Image 'declaración de imagen
        imagen = iTextSharp.text.Image.GetInstance(My.Application.Info.DirectoryPath & "\sket-dance.jpg") 'nombre y ruta de la imagen a insertar
        imagen.ScalePercent(16.7) 'escala al tamaño de la imagen
        imagen.SetAbsolutePosition(40, 500) 'posición en la que se inserta. 40 (de izquierda a derecha). 500 (de abajo hacia arriba)

        documento.Add(imagen) 'se agrega la imagen al documento

        imagen.SetAbsolutePosition(140, 500) 'posición en la que se inserta. 140 (de izquierda a derecha). 500 (de abajo hacia arriba)
        imagen.RotationDegrees = 30 ' rotación de la imagen

        documento.Add(imagen) 'se agrega la imagen al documento

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

        pdfw = Nothing
        documento = Nothing

    End Sub
End Class

La linea de código:
        imagen.RotationDegrees = 30 ' rotación de la imagen



nos permite rotar la imagen:



Descarga del ejemplo aquí: itextsharp - insertar imagen.rar