检查形状集合中的形状边界

介绍

本文档提供了关于如何使用形状集合中的边界检查功能的详细指南。此功能确保元素适合其父容器,并可以配置为在组件不适合时抛出异常。我们将逐步介绍实现此功能的步骤,并提供完整示例。

先决条件

您需要以下内容:

  • Visual Studio 2019 或更高版本
  • Aspose.PDF for .NET 25.3 或更高版本
  • 包含一些页面的示例 PDF 文件

您可以从官方网站下载 Aspose.PDF for .NET 库,或使用 Visual Studio 中的 NuGet 包管理器进行安装。

步骤

完成任务的步骤如下:

  1. 创建 PDF 文档。
  2. 创建一个具有指定尺寸的 Graph 对象。
  3. 创建一个具有指定尺寸的 Shape 对象。
  4. BoundsCheckMode 设置为 ThrowExceptionIfDoesNotFit
  5. 尝试将形状添加到图形中。

让我们看看如何在 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 文档中的布局问题。此功能在元素定位和尺寸至关重要的场景中尤其有用。有关更多详细信息,请访问 官方文档