所以我在PHP中使用FPDF以編程方式從圖像和文本(不是HTML)生成PDF文件。PHP和FPDF:計算合理的文本寬度
我一直以來遇到的最大問題之一是能夠對圖像進行文字換行。我的當前算法看起來像:
- 獲取文本作爲數組字
- 在一個時間添加詞語一個爲「當前行」的變量,並在其上調用GetStringWidth()來確定當前的寬度行
- 一旦達到預定的最大寬度,我將當前行傳遞給一行行,並開始新的「當前行」。
這樣做可以讓我得到一個不應該突破的行數,但是我發現由於我的文本是對齊的,GetStringWidth()不能準確地給我寬度當它被證明是合理的時候。
我已經深入研究了FPDF的MultiCell
方法,試圖找出它是如何正確打破正確的文本,但不能真正做到正面和反面。它似乎歸結爲一個類似的算法(並且它使用Cell
寫入每行),但它似乎從不計算寬度,它寫出PDF「代碼」,如0.375 Tw
。
有誰知道如何計算對齊文本的寬度,給定一個字符串和最大寬度?
這對你有多準確?從我原來的問題來看,我正在做一些具有相同意圖的事情(據此我手動「計算」我將寫入的行中的單詞) – 2010-07-25 23:44:52
在測試中運行良好!我需要進行一些用戶測試來捕獲所有奇怪的情況......但GetStringWidth()似乎返回了正確的#行。 – realcals 2010-07-27 04:47:14