跳转到主要内容
此对象公开了用于处理图像版面的各种方法和属性。Layout 对象可作为各个 Block 的根对象。其属性包括宽度和高度。这些参数会设置为定义该 Layout 对象的图像黑白页面中的对应参数。当 Layout 对象被分析或识别时,此操作会自动完成。 Layout 对象是一个持久对象。这意味着该对象的当前状态可以写入持久存储。之后,可以通过从持久存储中读取对象状态来重新创建该对象。以下方法可用于实现对象持久化:

属性

,只读

返回 Engine 对象。

,只读

提供对版面中分隔符及分隔符组 Block 集合的访问。

无论 Layout 中是否存在分隔符 Block,此属性均指向有效对象。若 Layout 中不含任何分隔符,则 BlackSeparators 属性为空。

,只读

提供对版面中 Block 集合的访问。此集合不包含分隔符及分隔符组 Block。如需访问这些 Block,请使用 BlackSeparators 属性。

无论 Layout 中是否存在 Block,此属性均指向有效对象。若 Layout 中不含任何 Block,则 Blocks 属性为空。另请参阅使用只读对象属性

此集合中不会包含自动分析 Block,因为此类 Block 仅用于 Visual Components。

,只读

返回版面中按逻辑顺序排列的 Block 集合。

此集合包含与 Blocks 属性返回的相同 Block,按各 Block 左上角的位置排序,先从左到右,再从上到下。位置相邻的 Block 将被视为同一逻辑组的组成部分。

,只读

Visual Components 目前仅支持 Windows。

提供对 Visual Components 中可见 Block 集合的访问。此集合可包含以下类型的 Block:文本、表格、光栅图片、条形码、自动分析。集合中 Block 的排列顺序与在 Visual Components 中显示的顺序一致。

, 只读

返回版面高度 (以像素为单位) ,等于对应的高度。

存储版面名称。

, read-only

将所有文本块和表格块中的文本写入一行。对象决定表格单元格中文本的写入顺序,因此该顺序可能与图像中表格单元格的排列顺序不一致。条形码块中的文本不会被写入。

,read-only

存储版面中所有块的边界 Region。若不存在任何块,则此属性返回空 Region。

允许将任意用户自定义信息与 Layout 类型的对象关联。

, read-only

返回版面宽度 (以像素为单位) 。该值等于对应宽度。

方法

名称描述
Clean从版面中移除所有类型的 Block 和分隔符。
CopyFrom使用另一个对象中同类属性的值初始化当前对象的属性。
LoadFromFile从磁盘文件中恢复对象内容。
LoadFromMemory <Note> 仅限 Windows。 </Note>从全局内存中恢复对象内容。
SaveToArray将对象内容保存为字节数组。
SaveToFile将对象内容保存到磁盘文件中。
SaveToMemory <Note> 仅限 Windows。 </Note>将对象内容保存到全局内存中。
SaveToStream将对象内容保存到流中。

Windows

Layout

Linux 和 macOS

LayoutLinuxMac 对象图

输出参数

该对象是 Engine 对象的 CreateLayoutFromStream 方法的输出参数。

示例

FREngine.IFRDocument frdoc;
// 遍历版面中的各个 Block
for (int iPage = 0; iPage < frDoc.Pages.Count; iPage++)
{
 FREngine.IFRPage page = frDoc.Pages[iPage];
 FREngine.ILayout layout = page.Layout;
 int blocksCount = layout.Blocks.Count;
 for (int iBlock = 0; iBlock < blocksCount; iBlock++)
 {
  FREngine.IBlock block = layout.Blocks[iBlock];
  ...
 }
}
该对象用于以下代码示例:

另请参见

使用 Layout 和 Blocks LayoutBlocks 使用 属性