Cómo Dibujar Líneas y Rectángulos en PDFs en C#

Cómo dibujar líneas y rectángulos en PDF en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Para dibujar líneas y rectángulos en PDFs en C#, use los métodos DrawLine y DrawRectangle de IronPDF en un objeto PdfDocument, especificando coordenadas, colores y dimensiones para añadir formas geométricas profesionales programáticamente.

Dibujar líneas y rectángulos en un documento PDF se refiere al proceso de añadir formas geométricas, específicamente líneas y rectángulos, al contenido de un archivo PDF. Esto se hace a menudo de manera programada utilizando un lenguaje de programación como C# o VB.NET y una biblioteca como IronPDF.

En el contexto de la facturación electrónica española, las herramientas de dibujo de IronPDF tienen aplicaciones directas en el diseño de facturas Facturae y documentos para la AEAT. El desglose de IVA en las facturas electrónicas requiere una presentación estructurada con separadores visuales claros entre el encabezado, las líneas de detalle y el resumen de impuestos. VeriFactu exige que el PDF de factura sea visualmente identificable y contenga las secciones requeridas de forma legible. Los sistemas TicketBAI del País Vasco también especifican que los recibos incluyan separadores visuales entre la cabecera del negocio, el cuerpo del tique y la información de validación.

Cuando dibujas una línea, creas un segmento de línea visible con puntos de inicio y fin especificados. De manera similar, cuando dibujas un rectángulo, defines una forma de cuatro lados con dimensiones y posiciones especificadas. Estas funciones de dibujo son esenciales para crear formularios, diagramas, anotaciones y resaltar secciones importantes en documentos PDF. Las funciones de dibujo de IronPDF se integran a la perfección con sus otras capacidades de edición de PDF, lo que permite a los desarrolladores mejorar los PDF existentes o crear documentos completamente nuevos con gráficos personalizados.

Inicio rápido: Dibujar líneas y rectángulos con IronPDF

Añada líneas y rectángulos a sus documentos PDF con IronPDF. Esta guía demuestra cómo utilizar el método DrawLine para líneas y el método DrawRectangle para rectángulos. Con unas pocas líneas de código, puede crear elementos gráficos dinámicos en sus PDF, añadiendo efectos visuales de calidad profesional a sus aplicaciones.

  1. Instala IronPDF con el Administrador de Paquetes NuGet

    PM > Install-Package IronPdf
  2. Copie y ejecute este fragmento de código.

    IronPdf.PdfDocument pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.DrawLine(10, 10, 200, 10, "#FF0000", 2);
    pdf.SaveAs("output.pdf");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer


¿Cómo dibujar líneas en PDF en C#?

Al utilizar el método disponible para el objeto, puede añadir líneas a un PDF existente. Usar la clase `` ofrecida por IronDrawing API Documentation abre la posibilidad de aplicar una línea con un color de un código de color HEX. Esta función permite crear subrayados, separadores, bordes o diagramas personalizados directamente en los documentos PDF.

El método `` acepta varios parámetros que le dan un control preciso sobre la apariencia de sus líneas:

  • Índice de página: especifica en qué página se va a dibujar (indexación basada en cero)
  • Punto de inicio: Las coordenadas de inicio (X, Y)
  • Punto final: Las coordenadas finales (X, Y)
  • Width: El grosor en puntos
  • Color: El color de la línea usando códigos hexadecimales o colores predefinidos
:path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-draw-line.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Configure the required parameters
int pageIndex = 0;
var start = new IronSoftware.Drawing.PointF(200,150);
var end = new IronSoftware.Drawing.PointF(1000,150);
int width = 10;
var color = new IronSoftware.Drawing.Color("#000000");

// Draw line on PDF
pdf.DrawLine(pageIndex, start, end, width, color);

pdf.SaveAs("drawLine.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")

' Configure the required parameters
Private pageIndex As Integer = 0
Private start = New IronSoftware.Drawing.PointF(200,150)
Private [end] = New IronSoftware.Drawing.PointF(1000,150)
Private width As Integer = 10
Private color = New IronSoftware.Drawing.Color("#000000")

' Draw line on PDF
pdf.DrawLine(pageIndex, start, [end], width, color)

pdf.SaveAs("drawLine.pdf")
$vbLabelText   $csharpLabel

Para obtener información sobre funciones más avanzadas de manipulación de PDF, consulte Referencia API, que proporciona documentación completa sobre todos los métodos y propiedades disponibles.

¿Qué aspecto tiene la salida de dibujo lineal?

Técnicas avanzadas de dibujo lineal

Al trabajar con líneas en PDF, es posible que desee crear patrones o diseños más complejos. Este es un ejemplo de cómo dibujar varias líneas para crear una cuadrícula:

// Create a grid pattern with horizontal and vertical lines
for (int i = 0; i < 5; i++)
{
    // Draw horizontal lines
    var horizontalStart = new IronSoftware.Drawing.PointF(100, 100 + (i * 100));
    var horizontalEnd = new IronSoftware.Drawing.PointF(500, 100 + (i * 100));
    pdf.DrawLine(0, horizontalStart, horizontalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));

    // Draw vertical lines
    var verticalStart = new IronSoftware.Drawing.PointF(100 + (i * 100), 100);
    var verticalEnd = new IronSoftware.Drawing.PointF(100 + (i * 100), 500);
    pdf.DrawLine(0, verticalStart, verticalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));
}
// Create a grid pattern with horizontal and vertical lines
for (int i = 0; i < 5; i++)
{
    // Draw horizontal lines
    var horizontalStart = new IronSoftware.Drawing.PointF(100, 100 + (i * 100));
    var horizontalEnd = new IronSoftware.Drawing.PointF(500, 100 + (i * 100));
    pdf.DrawLine(0, horizontalStart, horizontalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));

    // Draw vertical lines
    var verticalStart = new IronSoftware.Drawing.PointF(100 + (i * 100), 100);
    var verticalEnd = new IronSoftware.Drawing.PointF(100 + (i * 100), 500);
    pdf.DrawLine(0, verticalStart, verticalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));
}
' Create a grid pattern with horizontal and vertical lines
For i As Integer = 0 To 4
    ' Draw horizontal lines
    Dim horizontalStart = New IronSoftware.Drawing.PointF(100, 100 + (i * 100))
    Dim horizontalEnd = New IronSoftware.Drawing.PointF(500, 100 + (i * 100))
    pdf.DrawLine(0, horizontalStart, horizontalEnd, 2, New IronSoftware.Drawing.Color("#0000FF"))

    ' Draw vertical lines
    Dim verticalStart = New IronSoftware.Drawing.PointF(100 + (i * 100), 100)
    Dim verticalEnd = New IronSoftware.Drawing.PointF(100 + (i * 100), 500)
    pdf.DrawLine(0, verticalStart, verticalEnd, 2, New IronSoftware.Drawing.Color("#0000FF"))
Next
$vbLabelText   $csharpLabel

Esta técnica es especialmente útil para crear formularios o diseños estructurados en los PDF. Para obtener más información sobre la creación de formularios, visite nuestra guía sobre creación de formularios PDF.

¿Cómo dibujar rectángulos en PDF en C#?

Para añadir rectángulos a PDFs, utilice el método . Una vez que el documento PDF está abierto o renderizado, este método está disponible para el objeto. Configure las coordenadas, ancho y altura para el rectángulo con la clase `` ofrecida por IronDrawing API Documentation.

Los rectángulos son formas versátiles que pueden utilizarse para diversos fines en documentos PDF:

  • Creación de bordes alrededor del contenido importante
  • Resaltar secciones de texto o imágenes
  • Creación de campos de formulario y casillas de verificación
  • Diseño de encabezados y pies de página
  • Creación de separadores visuales entre secciones

El método `` proporciona opciones para los colores del contorno y de relleno, permitiéndole crear rectángulos delineados, rectángulos rellenos, o una combinación de ambos. Esta flexibilidad lo hace ideal para marcas de agua personalizadas y otras mejoras visuales.

:path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-draw-rectangle.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Configure the required parameters
int pageIndex = 0;
var rectangle = new IronSoftware.Drawing.RectangleF(200, 100, 1000, 100);
var lineColor = new IronSoftware.Drawing.Color("#000000");
var fillColor = new IronSoftware.Drawing.Color("#32AB90");
int lineWidth = 5;

// Draw rectangle on PDF
pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth);

pdf.SaveAs("drawRectangle.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")

' Configure the required parameters
Private pageIndex As Integer = 0
Private rectangle = New IronSoftware.Drawing.RectangleF(200, 100, 1000, 100)
Private lineColor = New IronSoftware.Drawing.Color("#000000")
Private fillColor = New IronSoftware.Drawing.Color("#32AB90")
Private lineWidth As Integer = 5

' Draw rectangle on PDF
pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth)

pdf.SaveAs("drawRectangle.pdf")
$vbLabelText   $csharpLabel

¿Qué aspecto tiene la salida de dibujo de rectángulos?

Creación de diseños complejos con rectángulos

Puedes combinar rectángulos con otras funciones de dibujo para crear diseños sofisticados. He aquí un ejemplo que crea una plantilla de tarjeta de visita:

// Create a business card template
var cardBorder = new IronSoftware.Drawing.RectangleF(50, 50, 350, 200);
var logoArea = new IronSoftware.Drawing.RectangleF(60, 60, 80, 80);
var textArea = new IronSoftware.Drawing.RectangleF(150, 60, 240, 180);

// Draw the main card border
pdf.DrawRectangle(0, cardBorder, new IronSoftware.Drawing.Color("#000000"), 
                 new IronSoftware.Drawing.Color("#FFFFFF"), 3);

// Draw logo area with light gray background
pdf.DrawRectangle(0, logoArea, new IronSoftware.Drawing.Color("#666666"), 
                 new IronSoftware.Drawing.Color("#F0F0F0"), 1);

// Draw text area border
pdf.DrawRectangle(0, textArea, new IronSoftware.Drawing.Color("#CCCCCC"), 
                 null, 1); // null for no fill
// Create a business card template
var cardBorder = new IronSoftware.Drawing.RectangleF(50, 50, 350, 200);
var logoArea = new IronSoftware.Drawing.RectangleF(60, 60, 80, 80);
var textArea = new IronSoftware.Drawing.RectangleF(150, 60, 240, 180);

// Draw the main card border
pdf.DrawRectangle(0, cardBorder, new IronSoftware.Drawing.Color("#000000"), 
                 new IronSoftware.Drawing.Color("#FFFFFF"), 3);

// Draw logo area with light gray background
pdf.DrawRectangle(0, logoArea, new IronSoftware.Drawing.Color("#666666"), 
                 new IronSoftware.Drawing.Color("#F0F0F0"), 1);

// Draw text area border
pdf.DrawRectangle(0, textArea, new IronSoftware.Drawing.Color("#CCCCCC"), 
                 null, 1); // null for no fill
Imports IronSoftware.Drawing

' Create a business card template
Dim cardBorder As New RectangleF(50, 50, 350, 200)
Dim logoArea As New RectangleF(60, 60, 80, 80)
Dim textArea As New RectangleF(150, 60, 240, 180)

' Draw the main card border
pdf.DrawRectangle(0, cardBorder, New Color("#000000"), New Color("#FFFFFF"), 3)

' Draw logo area with light gray background
pdf.DrawRectangle(0, logoArea, New Color("#666666"), New Color("#F0F0F0"), 1)

' Draw text area border
pdf.DrawRectangle(0, textArea, New Color("#CCCCCC"), Nothing, 1) ' Nothing for no fill
$vbLabelText   $csharpLabel

Bestes prácticas y consejos

Cuando trabaje con líneas y rectángulos en PDF, tenga en cuenta estas prácticas recomendadas:

Comprensión del sistema de coordenadas

El sistema de coordenadas del PDF parte de la esquina inferior izquierda de la página, con X aumentando hacia la derecha e Y hacia arriba. Esto difiere de muchos sistemas de coordenadas basados en pantallas. Comprender esto es crucial para un posicionamiento preciso. Para más detalles sobre el diseño de páginas, consulte nuestra guía sobre margenes personalizados.

Consideraciones sobre el rendimiento

Al dibujar varias formas, realice operaciones por lotes siempre que sea posible. En lugar de guardar el PDF después de cada forma, dibuja primero todas las formas y luego guárdalas una vez. Este enfoque es especialmente importante cuando se trabaja con archivos PDF de gran tamaño.

Selección de colores

Utilice esquemas de color coherentes en todo el documento. Tenga en cuenta la accesibilidad y asegúrese de que haya suficiente contraste entre los colores de línea/relleno y el fondo. La biblioteca IronDrawing admite varios formatos de color, incluidos códigos hexadecimales, valores RGB y colores con nombre.

Integración con otras funciones

Las operaciones de dibujo funcionan bien con otras funciones de IronPDF. Puede:

  • Basarse en PDF existentes cargados desde archivos
  • Añadir formas a PDF generados a partir de HTML
  • Combinar el dibujo con la estampación de texto e imágenes
  • Usar dibujo con orientación de página

Para ver ejemplos de estas integraciones, consulte nuestras guías sobre creación de nuevos PDF, imagen de texto de sello y rotación de la orientación de la página.

Manejo de errores

Aplique siempre un tratamiento adecuado de los errores al dibujar en PDF:

try 
{
    pdf.DrawLine(pageIndex, start, end, width, color);
    pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    Console.WriteLine($"Error drawing on PDF: {ex.Message}");
    // Handle the error appropriately
}
try 
{
    pdf.DrawLine(pageIndex, start, end, width, color);
    pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    Console.WriteLine($"Error drawing on PDF: {ex.Message}");
    // Handle the error appropriately
}
Imports System

Try
    pdf.DrawLine(pageIndex, start, end, width, color)
    pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth)
    pdf.SaveAs("output.pdf")
Catch ex As Exception
    Console.WriteLine($"Error drawing on PDF: {ex.Message}")
    ' Handle the error appropriately
End Try
$vbLabelText   $csharpLabel

Empezando

Diseño de facturas y documentos fiscales españoles con líneas y rectángulos

El uso programático de líneas y rectángulos en IronPDF facilita la creación de plantillas de factura que cumplan con los requisitos visuales de los sistemas de facturación electrónica en España, donde la legibilidad del documento fiscal es parte del cumplimiento normativo.

Diseño de facturas Facturae con separadores de IVA y secciones AEAT

Las facturas Facturae presentadas a través de FACe o verificadas por la AEAT deben incluir una estructura visual clara con secciones bien delimitadas: datos del emisor y receptor, líneas de detalle de productos o servicios, subtotal, base imponible, desglose de IVA por tipo (21%, 10%, 4%) y total. El método DrawLine de IronPDF permite trazar la línea base que separa el encabezado del cuerpo de la factura, mientras que DrawRectangle facilita la creación de los cuadros del resumen de impuestos. El sistema VeriFactu requiere que el PDF de factura sea visualmente coherente con el XML de factura firmado, por lo que mantener una estructura de diseño reproducible es importante para garantizar que los sistemas de verificación de la AEAT puedan cotejar el contenido visual con los datos del XML.

TicketBAI y el diseño de recibos en el País Vasco

Los recibos TicketBAI emitidos en Bizkaia, Gipuzkoa y Araba incluyen una estructura de tres bloques: cabecera con los datos del negocio y el número de serie TicketBAI, cuerpo con las líneas del ticket y el desglose de impuestos, y pie con el código QR de validación y los datos de identificación del sistema. Al utilizar DrawRectangle para enmarcar la zona del código QR y DrawLine para separar los bloques del recibo, es posible generar automáticamente recibos TicketBAI que cumplan las especificaciones visuales requeridas por las haciendas forales del País Vasco.

El control preciso sobre el diseño gráfico de los documentos fiscales mediante IronPDF garantiza que las facturas Facturae, los documentos VeriFactu y los recibos TicketBAI sean visualmente correctos y aceptados por los sistemas de validación de la AEAT y las haciendas forales.

Para empezar a utilizar las funciones de dibujo de IronPDF en su proyecto, siga nuestra glosario de instalación o consulte la guía de inicio rápido para obtener una introducción completa a IronPDF.

Para operaciones de dibujo más avanzadas, incluida la adición de texto y mapas de bits a sus PDF, explore nuestra guía sobre dibujo de texto y mapas de bits. Estas funciones, combinadas con el dibujo de líneas y rectángulos, proporcionan un completo conjunto de herramientas para la personalización y mejora de PDF.

Preguntas Frecuentes

¿Cómo se dibuja una línea en un PDF con C#?

Para dibujar una línea en un PDF en C#, utilice el método DrawLine de IronPDF en un objeto PdfDocument. Simplemente especifique las coordenadas de inicio y fin, el color (como código hexadecimal) y el ancho de la línea. Por ejemplo: pdf.DrawLine(10, 10, 200, 10, "#FF0000", 2) crea una línea horizontal roja.

¿Qué parámetros acepta el método DrawLine?

El método DrawLine de IronPDF acepta varios parámetros: Índice de página (en qué página dibujar), Coordenadas del punto inicial (X, Y), Coordenadas del punto final (X, Y), Ancho (grosor de la línea en puntos) y Color (usando códigos hexadecimales o colores predefinidos).

¿Puedo añadir rectángulos a documentos PDF existentes?

Sí, puede añadir rectángulos a los PDF existentes utilizando el método DrawRectangle de IronPDF. Este método le permite especificar la posición, las dimensiones, el color del borde, el color de relleno y el grosor del borde del rectángulo para crear formas personalizadas en sus páginas PDF.

¿Qué tipos de formas geométricas puedo crear en los PDF?

Con IronPDF, puede crear líneas y rectángulos en documentos PDF. Estas formas se pueden utilizar para crear formularios, diagramas, anotaciones, bordes, divisores y para resaltar secciones importantes dentro de sus PDF.

¿Tengo que crear un nuevo PDF para añadir formas o puedo modificar los existentes?

IronPDF permite modificar PDF existentes añadiendo formas. Puede cargar un PDF existente mediante PdfDocument.FromFile() y, a continuación, utilizar los métodos de dibujo para añadir líneas y rectángulos sin necesidad de crear un nuevo documento desde cero.

¿Cómo puedo controlar el color de las formas en mi PDF?

IronPDF admite la personalización del color mediante códigos de color hexadecimales (como "#FF0000" para el rojo) o colores predefinidos. La clase Color de la API IronDrawing proporciona opciones adicionales para aplicar colores a sus líneas y rectángulos.

¿Cómo usar DrawLine y DrawRectangle para crear facturas Facturae con desglose de IVA para la AEAT?

Para facturas Facturae conformes con AEAT, use DrawLine para trazar la línea base separadora entre el encabezado y el cuerpo de la factura, y DrawRectangle para enmarcar la sección de resumen de IVA con los tipos del 21%, 10% y 4%. El sistema VeriFactu requiere que el PDF sea visualmente coherente con el XML firmado, y una estructura visual clara facilita la verificación en el portal de la AEAT.

¿Cómo diseñar recibos TicketBAI con separadores visuales para el País Vasco usando IronPDF?

Los recibos TicketBAI en Bizkaia, Gipuzkoa y Araba requieren una estructura de tres bloques (cabecera, cuerpo con líneas y pie con QR). Use DrawRectangle para enmarcar la zona del código QR de validación y DrawLine para separar los bloques del recibo, generando documentos que cumplan las especificaciones visuales de las haciendas forales del País Vasco.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 19,014,616 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.