检查形状集合中的形状边界
介绍
本文档提供了关于如何使用形状集合中的边界检查功能的详细指南。此功能确保元素适合其父容器,并可以配置为在组件不适合时抛出异常。我们将逐步介绍实现此功能的步骤,并提供完整示例。
先决条件
您需要以下内容:
- Visual Studio 2019 或更高版本
- Aspose.PDF for .NET 25.3 或更高版本
- 包含一些页面的示例 PDF 文件
您可以从官方网站下载 Aspose.PDF for .NET 库,或使用 Visual Studio 中的 NuGet 包管理器进行安装。
步骤
完成任务的步骤如下:
- 创建 PDF 文档。
- 创建一个具有指定尺寸的
Graph
对象。 - 创建一个具有指定尺寸的
Shape
对象。 - 将
BoundsCheckMode
设置为ThrowExceptionIfDoesNotFit
。 - 尝试将形状添加到图形中。
让我们看看如何在 C# 代码中实现这些步骤。
步骤 1:创建 PDF 文档
首先,创建一个新的 PDF 文档并向其中添加一个页面。
using (var document = new Aspose.Pdf.Document())
{
Aspose.Pdf.Page page = document.Pages.Add();
}
步骤 2:创建一个具有指定尺寸的 Graph 对象
接下来,创建一个宽度和高度均为 100 单位的 Graph
对象。将图形定位在页面顶部 10 单位和左侧 15 单位的位置。为图形添加黑色边框。
var graph = new Aspose.Pdf.Drawing.Graph(100d, 100d)
{
Top = 10,
Left = 15,
Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.Box, 1F, Aspose.Pdf.Color.Black)
};
page.Paragraphs.Add(graph);
步骤 3:创建一个具有指定尺寸的 Shape 对象(例如,矩形)
创建一个宽度和高度均为 50 单位的矩形对象。将矩形定位在 (-1, 0),这超出了图形的边界。
var rect = new Aspose.Pdf.Drawing.Rectangle(-1, 0, 50, 50)
{
GraphInfo =
{
FillColor = Aspose.Pdf.Color.Tomato
}
};
步骤 4:将 BoundsCheckMode 设置为 ThrowExceptionIfDoesNotFit
将 BoundsCheckMode
设置为 ThrowExceptionIfDoesNotFit
,以确保如果矩形不适合图形,则抛出异常。
graph.Shapes.UpdateBoundsCheckMode(Aspose.Pdf.BoundsCheckMode.ThrowExceptionIfDoesNotFit);
步骤 5:将矩形添加到图形中
将矩形添加到图形中。这将抛出一个 Aspose.Pdf.BoundsOutOfRangeException
,因为矩形不适合图形的尺寸。
graph.Shapes.Add(rect);
输出
执行代码后,预期输出将是一个 Aspose.Pdf.BoundsOutOfRangeException
,其消息为:
Bounds not fit. Container dimensions: 100x100
故障排除
如果出现问题,以下是一些提示:
- 确保正确设置了
BoundsCheckMode
。 - 验证元素和容器的尺寸是否准确。
- 检查元素在容器内的位置。
完整示例
以下是演示所有步骤的完整示例:
结论
形状集合中的边界检查功能是确保元素适合父容器的强大工具。通过将 BoundsCheckMode 设置为 ThrowExceptionIfDoesNotFit,您可以防止 PDF 文档中的布局问题。此功能在元素定位和尺寸至关重要的场景中尤其有用。有关更多详细信息,请访问 官方文档。