我正在尝试在我的多单元文本的前三行添加无文本区域。问题是它将根据第一行的位置对齐所有文本,第四行不会在无文本区域下包装。如果我向下移动第一行文本下面的无文本区域,那么它将文本包裹在无文本区域周围。
$x = 0;
$y = 0;
$img_width = 5;
$img_height = 10;
$text = 'alot of text';
$regions = array(
array(
'page' => '',
'xt' => $x + $img_width,
'yt' => $y,
'xb' => $x + $img_width,
'yb' => $y + $img_height,
'side' => 'L'
)
);
$this->setPageRegions($regions);
$this->MultiCell($text...$x,$y...);
预期结果
row 1 ....
row 2 ....
row 3 ....
row 4 ....
row 5 ....
row 6 ....
实际结果
row 1 ....
row 2 ....
row 3 ....
row 4 ....
row 5 ....
row 6 ....
如果无文字区域向下移动
,则结果为row 1 ....
row 2 ....
row 3 ....
row 4 ....
row 5 ....
row 6 ....
答案 0 :(得分:0)
尽管这个问题已经2岁了,但我还是偶然发现了同一个问题。
当页面区域的y值与文本部分的开头相同的y值时,左侧的pageRegions不能按预期工作。
解决方案(使用从左到右的文本进行测试;从右到左可能需要更多调整)是tcpdf.php中checkPageRegions函数的“修复”。
从22630行开始,向区域边界检查添加“其他”部分,
if (($y >= ($regdata['yt'] - $h)) AND ($y <= $regdata['yb'])) {
...
} else {
if ($this->rtl) {
$x = min($this->clMargin, $this->original_lMargin);
} else {
$x = min($this->crMargin, $this->original_rMargin);
}
}
希望这可以帮助其他人寻找解决方案。