THPDFPage.WideTextOutBox

THPDFPage

 

顶部  上一页  下一页

支持 Unicode/CJK 的多行自动换行文本框输出(v2.217.0)

 

Delphi 语法:

function WideTextOutBox ( X, Y, LineSpacing, BoxWidth, BoxHeight: Integer; Text: WideString; Align: THPDFJustificationType ): Integer;

 

说明

 

WideTextOutBox 是 TextOutBox 的 Unicode 版本,采用 GetWideTextWidth 进行宽度测量,并按 WideChar 索引拆分 WideString,使 CJK / 代理对 / 多字节文本能正确换行。返回值为实际放入框内的 WideChar 数

 

换行规则

  • CJK 字符(汉字 / 假名 / 韩文 / CJK 标点 / 全角字符)在任意两个字形之间断行
  • 拉丁文及其他文字在框边缘前的最后一个空格 / 制表符处断行;若无空格,宽于框的字形序列将被强制截断
  • 硬换行(CR / LF / CRLF)按原样处理

 

参数

名前说明
X, Y文本框左上角坐标(用户空间单位)
LineSpacing行间距(用户空间单位)
BoxWidth文本框宽度(用户空间单位)
BoxHeight文本框高度(用户空间单位)
Text要输出的 Unicode 文本
Align对齐方式(jtLeft、jtCenter、jtRight、jtJustified)

 

返回值

实际放入文本框内的 WideChar 数;可与原始文本长度比较以确认是否全部输出

 

代码示例

// 在 200×300 的文本框内左对齐输出中文段落
var
  Placed: Integer;
begin
  Placed := HPDF.CurrentPage.WideTextOutBox(
    30, 700, 16, 200, 300,
    WideString('这是一段中文测试文字,将在文本框内自动换行并正确处理 CJK 字符间距。'),
    jtLeft);
end;

另请参阅: TextOutBox GetWideTextWidth GetWideTextRowCount