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

sábado, 2 de junio de 2012



iTextSharp y VB .Net: Lineas y rectángulos


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

Hoy veremos como dibujar lineas simples, lineas de varios segmentos, rectángulos sin relleno y rectángulos con relleno en nuestro documento pdf. Siempre en un proyecto nuevo de Microsoft Visual Basic 2010 Express copiar y pegar el siguiente código, recuerden siempre hacer referencia a la librería itextsharp.dll:



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 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()


        'DIBUJANDO LINEAS
        Dim linea As PdfContentByte 'declaración de la linea
        linea = pdfw.DirectContent 'código necesario antes de dar coordenadas a la linea

        linea.SetLineWidth(0.75) 'configurando el ancho de linea
        linea.MoveTo(300, 700) 'MoveTo indica el punto de inicio
        linea.LineTo(350, 700) 'LineTo indica hacia donde se dibuja la linea 
        linea.Stroke() 'traza la linea actual y se puede iniciar una nueva

        'sin la linea de código "linea.Stroke()" se pueden dar más coordenadas y
        'dibujar así varios segmentos de línea unidos
        linea.SetLineWidth(2) 'configurando el ancho de linea
        linea.MoveTo(300, 650) 'MoveTo indica el punto de inicio
        linea.LineTo(350, 650) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(350, 600) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(300, 600) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(300, 640) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(340, 640) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(340, 610) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(310, 610) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(310, 630) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(330, 630) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(330, 620) 'LineTo indica hacia donde se dibuja la linea 
        linea.LineTo(320, 620) 'LineTo indica hacia donde se dibuja la linea 
        linea.Stroke() 'corta la linea actual

        linea.SetLineWidth(0.75) 'configurando el ancho de linea
        linea.SetColorStroke(New CMYKColor(24, 50, 42, 7)) 'dar color a linea con formato CMYK
        linea.MoveTo(300, 690) 'MoveTo indica el punto de inicio
        linea.LineTo(350, 690) 'LineTo indica hacia donde se dibuja la linea 
        linea.Stroke() 'traza la linea actual y se puede iniciar una nueva




        'DIBUJANDO RECTANGULOS
        Dim rectangulo As PdfContentByte 'declaración del rectángulo
        rectangulo = pdfw.DirectContent 'código necesario antes de dar coordenadas del rectángulo

        rectangulo.SetLineWidth(1) 'configurando el ancho de linea
        rectangulo.SetColorStroke(BaseColor.BLACK) 'dar color a trazo. Sin esto el rectángulo se dibuja con el ultimo color de trazo configurado
        rectangulo.Rectangle(100.0F, 580.0F, 200.0F, -100.0F) '100.0F, 580.0F, coordenada punto de inicio
        rectangulo.Stroke() 'traza el rectangulo actual       '200.0F, ancho del rectángulo. '-100.0F alto del rectángulo

        rectangulo.SetColorFill(BaseColor.BLUE) 'dar color a rectángulo relleno
        rectangulo.Rectangle(350.0F, 580.0F, 200.0F, -100.0F)
        rectangulo.Fill() 'traza el rectangulo con relleno y sin linea de contorno

        rectangulo.SetColorFill(BaseColor.CYAN) 'dar color a rectángulo relleno
        rectangulo.SetColorStroke(BaseColor.DARK_GRAY) 'dar color a trazo. Sin esto el rectángulo se dibuja con el ultimo color de trazo configurado
        rectangulo.Rectangle(350.0F, 470.0F, 200.0F, -100.0F)
        rectangulo.FillStroke() 'traza el rectangulo con relleno y también con linea de contorno



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

        pdfw = Nothing
        documento = Nothing

    End Sub
End Class

Al ejecutar este código obtenemos lo siguiente:



Descarga del ejemplo aquí: itextsharp - lineas_rectangulos.rar