【问题标题】:How to make text inside multiCell filled the whole table cell?如何使 multiCell 中的文本填满整个表格单元格?
【发布时间】:2020-12-19 14:07:17
【问题描述】:

我需要在multiCell里面填充文字

]1

目前我正在使用此代码。

$this->SetX($this->xKiri + $widthBoxNomor + ($widthDalam / 2) + 3);
$this->Cell(15, 3, 'Address');
$this->MultiCell(0, 3, strtoupper($this->data_header [0] ['alamat_importir']), 1,"J");
$this->Ln(4);

我把第一个值参数改成这个

$this->MultiCell(10, 3, strtoupper($this->data_header [0] ['alamat_importir']), 1,"J");

但是结果会是这样的

虽然我希望文本适合红色标记部分,而不是像第一张图片那样换行。

我的代码有什么问题?

【问题讨论】:

  • 为什么不发minimal reproducible example
  • 您的 ADDRESS 字符串中是否有换行符?像 \n?
  • @AbbasAkhundov 我已经检查过了,没有如 \n 或 \s 或 \t
  • @Gagantous 你可以尝试将对齐方式从 J 更改为 LR。并且将宽度保留为 0。这样会占用最大的空间
  • 看起来确实在地址字符串中有换行符。我同意 Luuk 的观点,您至少应该在您的问题中提供一个可重复的示例。

标签: php fpdf


【解决方案1】:

由于所有迹象都表明您的输入数据中存在转义序列,因此我建议您对代码进行简单更改,以确保现在或以后没有转义序列。改变

$this->MultiCell(0, 3, strtoupper($this->data_header [0] ['alamat_importir']), 1,"J");

$this->MultiCell(0, 3, strtoupper(str_replace(["\t","\r","\n"],' ',$this->data_header [0] ['alamat_importir'])), 1,"J");

该更改应删除转义字符并将其替换为单个空格。

【讨论】:

    猜你喜欢
    • 2011-03-14
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 2011-04-27
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    相关资源
    最近更新 更多