DrawHTMLStory
HTML 文本、页面布局、分页
描述
将一个带样式的 HTML 内容从左到右流经所选页面上的等宽列,然后流经新生成的页面
语法
Delphi
Function TPDFlib.DrawHTMLStory(Left, Top, Width, Height: Double; Columns: Integer; Gutter: Double; MaxPages: Integer; Const HTMLText: WideString): WideString;DLL
const wchar_t* DLDrawHTMLStory(int InstanceID, double Left, double Top, double Width, double Height, int Columns, double Gutter, int MaxPages, const wchar_t* HTMLText);ActiveX
Function PDFlib::DrawHTMLStory(Left As Double, Top As Double, Width As Double, Height As Double, Columns As Long, Gutter As Double, MaxPages As Long, HTMLText As String) As String参数
| Left, Top | 当前坐标系中完整列区域的左上角原点 |
|---|---|
| Width, Height | 每个页面上完整区域的宽度和高度均为正值 |
| Columns | 列数,范围为 1 至 64 |
| Gutter | 相邻列之间的非负间距;合计列间距必须小于 Width |
| MaxPages | 本次调用使用的最大页数,为 1 至 10000,包含所选页面 |
| HTMLText | 初始 HTML,或早先 story 或文本框调用返回的续接字符串 |
返回值
完整故事内容放置完毕时返回空字符串;达到 MaxPages 时返回包含所有未放置内容及其活动 HTML/CSS 状态的续接字符串
无效输入会原样返回 HTMLText 并将 LastErrorCode 设为 121;页面创建失败或连续两个帧没有布局进展时,会返回剩余内容及错误 524
备注
创建新页面前,按从左到右的阅读顺序填充各列
生成页面会复制所选起始页的有效宽度和高度,而当前测量单位、原点、HTML 字体映射、图像绑定、内联样式、样式表级联、嵌套样式栈、Flexbox 和 Grid 容器、表格、链接、结构化块及脚注编号会在同一渲染器中继续生效
在相关正文文本之后使用 <footnote> 或 <aside style="float:footnote">;接受的注释会获得上标标记,在当前框架底部预留分隔区域,并在后续换行前减少正文高度
如果注释及其引用无法共同放入,它们都会保留在续接字符串中以用于下一栏或下一页
该方法为每个帧使用缓存的测量与重放计划,不会将页面内容串接到单个无界布局缓冲区
当有限页面限制返回剩余内容时,创建或选择所需的续接页面,并将返回字符串传给另一次调用