SetStructElemBBox

Tagged PDF, Accessibility

Description

在标记栈上当前打开的结构元素上设置 /BBox 属性(布局属性所有者);边界框将用户空间坐标中的矩形区域与结构元素相关联,供无障碍工具和重排引擎使用;等效于以 Owner=LayoutName=BBox 以及空格分隔的坐标字符串调用 AddTagAttribute

Syntax

Delphi

Function TPDFlib.SetStructElemBBox(Left, Bottom, Right, Top: Double): Integer;

ActiveX

Function PDFlib::SetStructElemBBox(Left As Double, Bottom As Double, Right As Double, Top As Double) As Long

DLL

int DLSetStructElemBBox(int InstanceID, double Left, double Bottom, double Right, double Top);

Parameters

Left在默认用户空间单位(磅,1/72 英寸)中,边界框的左侧边缘
Bottom边界框的底边
Right边界框的右侧边缘
Top边界框的顶边缘

Return value

成功时返回 1;如果未打开任何文档或标记栈上当前未打开任何标记,则返回 0

Remarks

BeginTagBeginTagEx 之后以及 EndTag 之前调用此函数;这些坐标遵循 PDF 默认坐标系,其中原点位于页面的左下角

/BBox 属性在 ISO 32000-1 §14.8.5.4(布局属性所有者)中定义;它对于 FigureFormFormula 结构元素类型特别有用

Example

var
  ImgX, ImgY, ImgW, ImgH: Double;
begin
  // Draw an image and tag it as a Figure with its bounding box
  ImgX := 72; ImgY := 600; ImgW := 150; ImgH := 100;
  PDFlib.BeginTag('Figure', 'Product photo', '', '');
  PDFlib.SetStructElemBBox(ImgX, ImgY, ImgX + ImgW, ImgY + ImgH);
  PDFlib.DrawImageMatrix(ImgID, ImgX, ImgY, ImgW, ImgH, 0);
  PDFlib.EndTag;
end;

See also

AddTagAttribute, SetStructElemScope, BeginTag, EndTag