【问题标题】:TCPDF Align Left Center Right in single lineTCPDF 在单行中左中右对齐
【发布时间】:2013-03-05 01:16:55
【问题描述】:

我想为包含日期左对齐、创建者居中和页面右对齐的 PDF 文档创建页脚。这些应该在一行中。我尝试了以下代码:

$this->Cell(0, 10, $date->format('d.m.Y'), 0, false, 'L', 0, '', 0, false, 'T', 'M');
$this->Cell(0, 10, 'Creator', 0, false, 'C', 0, '', 0, false, 'T', 'M');
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'R', 0, '', 0, false, 'T', 'M');

创建者向右移动并与页面重叠:

有人有解决这个问题的办法吗?

【问题讨论】:

  • 根据文档:tcpdf.org/doc/code/…,代码看起来对我来说是正确的。如果您注释掉页码行会怎样?
  • 哦,忘了说!那么创作者也在右边。
  • 如果您能提供更大的代码示例,我可以尝试在本地设置它,看看是否得到相同的结果。如果你让第一个单元格居中会发生什么?这是最新版本的 TCPDF 吗?
  • 这实际上是除了这三行之前的$this->SetY(-15);之外的整个代码。它们位于覆盖 Header() 方法中

标签: php tcpdf


【解决方案1】:

我也遇到了与 TCPDF 对齐的问题。我注意到如果您使用 x 坐标为 0,那么它将使用属性“R”进行右对齐。但如果它设置为非零值,则它会忽略“R”设置。这是我用于右对齐的语句。

$this->Cell(0, 9, 'Text-to-be-aligned-right', 0, false, 'R', 0, '', 0, false, 'T', 'M' );

【讨论】:

  • 谢谢 :) 也需要这个!
【解决方案2】:

您需要设置Cell() 的宽度,根据文档http://www.tcpdf.org/doc/code/classTCPDF.html#a33b265e5eb3e4d1d4fedfe29f8166f31 您的$date->format('d.m.Y') Cell() 延伸到右边距,迫使该行上的其他单元格到右边距。

$w (float) 单元格宽度。如果为 0,则单元格延伸到右边距。

尝试类似(可能需要根据字体大小进行调整)

$this->Cell(20, 10, $date->format('d.m.Y'), 0, false, 'L', 0, '', 0, false, 'T', 'M');   
$this->Cell(20, 10, 'Creator', 0, false, 'C', 0, '', 0, false, 'T', 'M'); 
$this->Cell(20, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'R', 0, '', 0, false, 'T', 'M');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多