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

如何用 C# 在 PDF 上绘制线条和矩形</#35;

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

要在 C# 中在 PDF 上绘制线条和矩形,请使用 IronPDF 的 DrawLineDrawRectangle 方法,在 PdfDocument 对象上指定坐标、颜色和尺寸,以编程方式添加专业的几何形状。

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

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

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

使用 IronPDF 为您的 PDF 文档添加线条和矩形。 本指南演示如何使用 DrawLine 方法绘制直线,以及如何使用 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 上画线?

通过使用 @@--CODE-545--CODE-544 --CODE-545 对象可用的 @@--CODE-544--CODE-545方法,您可以向现有的 PDF 添加行。 使用IronDrawing API 文档提供的Color类,可以实现使用 HEX 颜色代码为线条应用颜色。 该功能可让您在 PDF 文档中直接创建下划线、分隔线、边框或自定义图表。

DrawLine 方法接受多个参数,使您可以精确控制线条的外观:

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

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

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

高级线条绘制技巧

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

// 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"));
}
$vbLabelText   $csharpLabel

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

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

要向 PDF 添加矩形,请使用 DrawRectangle 方法。 一旦 PDF 文档打开或渲染,此方法即可用于PdfDocument对象。 使用IronDrawing API 文档提供的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");
$vbLabelText   $csharpLabel

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

使用矩形创建复杂布局

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

// 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
$vbLabelText   $csharpLabel

最佳实践和提示

在处理 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
}
$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 上创建哪些类型的几何图形?

使用 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 下载 17,803,474 | 版本: 2026.3 刚刚发布
Still Scrolling Icon

还在滚动吗?

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