我正在製作pdf解析器,當我試圖讀取文本的轉換矩陣(Tm)時遇到問題。如何從pdf的轉換矩陣中獲取文本的高度?
例如,當我有一個水平文本,變換矩陣是這樣的:
「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以舊換新」
我怎樣才能獲取文本的高度,這是73.5?
如果我出口相同的文件作爲一個SVG文件我得到這個矩陣: 「0.8593 0.4699 -0.4798 0.8774 181.8616 266.0405」 和文本的高度爲73.5。 (我注意到,如果我將旋轉後的文本的d參數與文本的高度(73.5)分開,我會得到svg矩陣的d參數(0.8774),但是,我怎樣才能知道文本的高度?)。
謝謝。在註釋中已經提到
首先,您知道(至少!)兩個矩陣和三個標量在這裏涉及?您有當前的轉換矩陣,文本矩陣,字體大小,水平縮放比例和頁面用戶單位設置。 – mkl 2015-02-10 16:10:11