跳转到主要内容
为便于说明,假设在元素(及其任意父级 Group 元素)的 Properties 面板上未设置任何搜索区域约束。在这种情况下,在程序应用 Search Conditions 部分的约束之前,元素的搜索区域将与页面矩形重合。如果该部分没有其他约束,程序将在整页范围内查找该元素。 应用上文 Search Constraints 中描述的类型 1、2 和 4 的约束时,将得到一个由矩形数组组成的搜索区域。程序会将该搜索区域视为一个包围整个数组的单个矩形,并从中排除一组指定的矩形(被排除的矩形)。 应用上文 Search Constraints 中描述的类型 3 的搜索约束时,将为每个假设的边界(左、右、上、下)创建允许的坐标范围。每个边界由相应坐标轴上的坐标范围来表征,例如 [x1, x2] 或 [y1, y2]。其中 x1 和 x2 的类型为 XCoordinate,y1 和 y2 的类型为 YCoordinate。该坐标区间必须满足以下条件:对于 X 坐标,x1 <= x2;对于 Y 坐标,y1 <= y2 如果对某个边界连续应用多个约束,则每个约束都会改变该边界允许坐标的范围。 设 Search Condition 部分包含以下约束:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
设在应用上述约束之前,搜索区域与页面的矩形重合,即 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]。则元素边界的坐标范围将为: 设在执行这些约束之前未指定搜索区域。则对于单页 FlexiLayout(文档允许的页数最小值和最大值均为 1),搜索区域与页面的矩形重合 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]。对于多页 FlexiLayout,搜索区域的最大范围为 [-INF, -INF, INF, INF]。元素边界的坐标范围如下:
BoundaryRange for one-page FlexiLayoutRange for multi-page FlexiLayout
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
当执行约束 LeftBound > 5mm 时,仅左边界发生变化。其可能取值范围在单页 FlexiLayout 中变为区间 [5mm, PageRect.Right],在多页 FlexiLayout 中变为区间 [5mm, INF] 应用 LeftBound > 5mm 约束后,仅左边界发生变化——其允许坐标为 [5mm, PageRect.Right] 应用 LeftBound < 15mm 约束后,左边界的允许坐标范围为 [5mm, 15mm] 应用 LeftBound < 10mm 约束后,左边界的允许坐标范围为 [5mm, 10mm] 同样,你可以为该元素的其他边界设置约束。 上述指定的搜索区域边界构成所谓的 fuzzy rectangle