【发布时间】:2011-03-18 04:40:02
【问题描述】:
所以我在 PHP 中使用 FPDF 以编程方式从图像和文本(不是 HTML)生成 PDF 文件。
我遇到的最大问题之一是能够在图像周围自动换行文字。我目前的算法如下:
- 以单词数组的形式获取文本
- 将单词一次添加到“当前行”变量,并在其上调用 GetStringWidth() 以确定当前行的宽度
- 一旦达到预先确定的最大宽度,我会将当前行传递到行数组,然后从新的“当前行”开始。
这样做可以让我得到一个不应该不正确中断的行数组,但是我发现因为我的文本是两端对齐的,所以 GetStringWidth() 不能准确地给我行的宽度这是有道理的。
我已经深入研究了 FPDF 的 MultiCell 方法,试图弄清楚它如何正确地破坏对齐的文本,但不能真正做到正面或反面。它似乎可以归结为类似的算法(并且它使用 Cell 写入每一行)但它实际上似乎从未计算宽度,它写出 PDF“代码”,例如 0.375 Tw。
有谁知道如何计算对齐文本的宽度,给定一个字符串和一个最大宽度?
【问题讨论】:
标签: php text width fpdf justify