【发布时间】:2015-04-10 15:07:36
【问题描述】:
我正在制作一个 pdf 解析器,但在尝试读取文本的转换矩阵 (Tm) 时遇到问题。
例如,当我有一个水平文本时,转换矩阵如下所示:
“71.9871 0 0 73.5 178.668 522.2227 Tm”
这意味着文本的高度是d参数(73.5),每个字符的比率是a/d(71.9871/73.5)并且必须翻译到点(178.668 522.2227)。
如果我旋转此文本,则转换矩阵如下所示:
"63.1614 -34.5367 35.2625 64.4888 181.8616 575.8494 Tm"
如何获得文字的高度,即 73.5?
如果我将相同的文件导出为 svg 文件,我会得到这个矩阵: “0.8593 0.4699 -0.4798 0.8774 181.8616 266.0405” 并且文本的高度是73.5。 (我注意到,如果我将旋转文本的 d 参数除以文本的高度(73.5),我得到 svg 矩阵的 d 参数(0.8774),但是,我怎么知道文本的高度?)。
谢谢。
【问题讨论】:
-
首先,您知道(至少!)这里涉及到两个矩阵和三个标量?您拥有当前的转换矩阵、文本矩阵、字体大小、水平缩放和页面用户单位设置。
标签: pdf text matrix height adobe-illustrator