当前位置: 首页 > 工具软件 > libHaru > 使用案例 >

libharu4delphi 输出文字初探

劳和雅
2023-12-01

libharu4delphi是原始C语言的delphi译本,包括用到的libpng函数,也全转译为delphi。

任何显示文字的软体,展现出来的无非是字形,大小,颜色,位置。在PDF里,能够不以明文存储文字,而是以文字编码存储。例如下面的片段:

BT
/F1 24 Tf
50 460 Td
<5C715DDD5F0257DFFF0C98CE6708540C5929FF0C5C8266F065E08863FF0C4E0E5B50540C88F3> Tj
0 30 Td
<5C715DDD757057DFFF0C98A86708540C5929FF0C8C4866F071218863FF0C82075B50540C88F3> Tj
ET

文本以操作符【BT】开始,【ET】结束。F1是字体的别名,24 Tf是字体大小,50 460 Td是文字坐标,x=50,y=460

这个坐标与函数传递的值保持一致。HPDF_Page_TextOut(page, 50.00, 460.00,...)

【Tj】操作符用于标识一个字符串,如果是多个字符串,则要用到【TJ】。

<5C715DDD5F0257DFFF0C98CE6708540C5929FF0C5C8266F065E08863FF0C4E0E5B50540C88F3>

是以UTF16编码的一串汉字,见上一篇博文:https://blog.csdn.net/sonadorje/article/details/105358267

 

PDF文本对象由可显示文本字符串,移动文本位置以及设置文本状态和某些其他参数的运算符组成。

此外,仅在一个文本对象内定义了三个参数(并且不会在一个文本对象之间持久存在):

•T m,文本矩阵

•T LM,文本行矩阵

•T RM,文本渲染矩阵,实际上只是一个中间结果,它结合了文本状态参数,文本矩阵(T m)和当前转换矩阵的作用。文本对象以BT运算符开始,以ET运算符结束。

 类似资料: