如何在 PDF 中使用 C# 画线和矩形

如何用 C# 在 PDF 上绘制线条和矩形

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

要在PDF上绘制线条和矩形,在DrawRectangle方法,通过指定坐标、颜色和尺寸,程序化地添加专业几何形状。

在PDF文档上绘制线条和矩形是指向PDF文件的内容添加几何形状,特别是线条和矩形的过程。这通常是通过使用C#或VB.NET等编程语言和IronPDF库以编程方式完成的。

当你绘制线条时,会创建一个具有指定起点和终点的可见线段。 类似地,当你绘制矩形时,你会定义一个具有指定尺寸和位置的四边形。 这些绘图功能对于创建表格、图表、注释以及突出显示 PDF 文档中的重要部分至关重要。 IronPDF 的绘图功能与其PDF 编辑功能无缝集成,允许开发人员增强现有 PDF 或创建带有自定义图形的全新文档。

快速入门:使用IronPDF绘制直线和矩形

using IronPDF 为您的 PDF 文档添加线条和矩形。 本指南演示如何使用DrawRectangle方法绘制矩形。 只需几行代码,您就可以在 PDF 中创建动态图形元素,为您的应用程序添加专业品质的视觉效果。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 复制并运行这段代码。

    IronPdf.PdfDocument pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.DrawLine(10, 10, 200, 10, "#FF0000", 2);
    pdf.SaveAs("output.pdf");
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPDF

    arrow pointer


如何用 C# 在 PDF 上画线?

通过利用可用于DrawLine方法,您可以向现有PDF添加线条。 使用IronDrawing API Documentation提供的Color类来开设HEX颜色代码的线条的可能性。 该功能可让您在 PDF 文档中直接创建下划线、分隔线、边框或自定义图表。

DrawLine方法接受多个参数,给予您对线条外观的精确控制:

  • 页面索引:指定在哪个页面上绘制(基于零的索引)
  • 起始点:起始坐标(X、Y)
  • 终点:终点坐标(X、Y)
  • Width:厚度(以点为单位)
  • Color:使用hex代码或预定义颜色的线条颜色
: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

有关更高级的 PDF 操作功能,请查看 API 参考,其中提供了所有可用方法和属性的全面文档。

线性绘图输出是什么样的?

高级线条绘制技巧

在处理 PDF 中的线条时,您可能希望创建更复杂的图案或设计。 下面是一个绘制多条线以创建网格图案的示例:

:path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-3.cs
// 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"));
}
Imports IronSoftware.Drawing

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

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

在 PDF 中创建表格或结构化布局时,这种技巧尤其有用。 有关创建表格的更多信息,请访问我们的创建 PDF 表单指南。

如何用 C# 在 PDF 上绘制矩形?

要向PDF添加矩形,请使用DrawRectangle方法。 一旦PDF文档被打开或渲染,此方法可用于PdfDocument对象。 使用IronDrawing API Documentation提供的RectangleF类配置矩形的坐标、宽度和高度。

矩形是一种通用形状,可用于 PDF 文档中的各种用途:

  • 在重要内容周围创建边框
  • 突出显示文本或图像部分
  • 构建表单字段和复选框
  • 设计页眉和页脚
  • 在章节之间创建视觉分隔符

DrawRectangle方法提供对轮廓和填充颜色的选项,允许您创建轮廓矩形、填充矩形或二者结合。 这种灵活性使其成为自定义水印和其他视觉增强的理想选择。

: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

矩形绘图输出是什么样的?

使用矩形创建复杂布局

您可以将矩形与其他绘图功能结合起来,创建复杂的布局。 下面是一个创建名片模板的示例:

:path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-5.cs
// 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
Icon Quote related to 使用矩形创建复杂布局

我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。

Milan Jovanovic related to 使用矩形创建复杂布局

Milan Jovanovic

微软MVP

查看案例研究
Icon Quote related to 使用矩形创建复杂布局

IronOCR 意味着我们每年可以节省 $40,000 的人工处理成本,同时提高生产力,并释放资源用于高影响任务。我强烈推荐它。

Brent Matzelle related to 使用矩形创建复杂布局

Brent Matzelle

首席技术官,OPYN

查看案例研究
Icon Quote related to 使用矩形创建复杂布局

Iron Suite 在我们的运营中起着至关重要的作用。这些工具提高了业务各方面的效率,包括创建平面图和改善库存管理。

David Jones related to 使用矩形创建复杂布局

David Jones

首席软件工程师,Agorus Build

查看案例研究

最佳实践和提示

在处理 PDF 中的线条和矩形时,请考虑以下最佳实践:

了解坐标系

PDF 坐标系从页面左下角开始,X 向右递增,Y 向上递增。 这与许多基于屏幕的坐标系统不同。 理解这一点对于准确定位至关重要。 有关页面布局的更多详情,请参阅我们的自定义页边距指南。

性能考虑

绘制多个图形时,尽可能批量操作。 请先绘制所有形状,然后保存一次,而不是在每个形状之后保存 PDF。 在处理 大型 PDF 文件时,这种方法尤为重要。

颜色选择

在整个文档中使用一致的配色方案。 考虑到可访问性,确保线条/填充颜色与背景之间有足够的对比度。 IronDrawing 库支持各种颜色格式,包括十六进制代码、RGB 值和命名颜色。

与其他功能集成

绘图操作与 IronPDF 的其他功能配合良好。 您可以

  • 借鉴从文件中加载的现有 PDF
  • 为 HTML 生成的 PDF 添加形状
  • 将绘图与文本和图像标记相结合
  • 使用页面方向设置绘图

有关这些集成的示例,请参阅我们的创建新的 PDF印章文本图像页面方向旋转指南。

错误处理

在 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

开始

要开始在您的项目中使用 IronPDF 的绘图功能,请关注我们的安装概述或查看快速入门指南,了解 IronPDF 的全面介绍。

有关更多高级绘图操作,包括在 PDF 中添加文本和位图,请浏览我们的绘制文本和位图指南。 这些功能与线条和矩形绘图相结合,为 PDF 的定制和增强提供了一个完整的工具包。

常见问题解答

如何使用 C# 在 PDF 上画线?

要使用 C# 在 PDF 上画线,可在 PdfDocument 对象上使用 IronPDF 的 DrawLine 方法。只需指定起点和终点坐标、颜色(十六进制代码)和线宽即可。例如:pdf.DrawLine(10, 10, 200, 10, "#FF0000", 2) 创建一条红色水平线。

DrawLine 方法接受哪些参数?

IronPDF 的 DrawLine 方法接受几个参数:页面索引(在哪一页上绘制)、起点坐标(X、Y)、终点坐标(X、Y)、宽度(以点为单位的线条粗细)和颜色(使用十六进制代码或预定义颜色)。

能否在现有 PDF 文档中添加矩形?

是的,您可以使用 IronPDF 的 DrawRectangle 方法为现有 PDF 添加矩形。该方法允许您指定矩形的位置、尺寸、边框颜色、填充颜色和边框厚度,从而在 PDF 页面上创建自定义形状。

我可以在 PDF 上创建哪些类型的几何图形?

using IronPDF,您可以在 PDF 文档上创建线条和矩形。这些形状可用于创建表格、图表、注释、边框、分隔线以及突出显示 PDF 文件中的重要部分。

我需要创建一个新的 PDF 来添加形状,还是可以修改现有的形状?

IronPDF 允许您通过添加形状来修改现有 PDF。您可以使用 PdfDocument.FromFile() 加载现有 PDF,然后使用绘图方法添加线条和矩形,而无需从头开始创建新文档。

如何控制 PDF 中图形的颜色?

IronPDF 支持使用十六进制颜色代码(如 "#FF0000 "表示红色)或预定义颜色自定义颜色。IronDrawing API 中的颜色类提供了更多选项,可用于为线条和矩形应用颜色。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,296,129 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。