【问题标题】:tables exceeding page margin in tcpdf超过 tcpdf 中页边距的表格
【发布时间】:2013-06-29 16:38:41
【问题描述】:

我正在使用 tcpdf 生成一个 pdf 文件,该 pdf 包含一些用户已经在 textarea 中插入的长描述(使用 tinymce)。一些用户有宽度表的描述(大多数他们只是从 word 文件复制/粘贴到 textarea),当生成 pdf 时,这些表超出边距并且只有一部分是可见的。 我试图把它放在一个 div ,一个 table ,div inside table,word-break ,white-space ,table-layout,display: table ... ,修复 tcpdf 中的边距...:

$pdf->SetMargins(10, 30, 5);

我最近尝试的是:

$html = '<style>
    .dd table{
        word-break:break-all;
        white-space:pre-wrap;
        width:650px;
        table-layout:fixed;
        display: table;
        color:red;
    }

</style>

<div id="dd" class="dd" style="background-color:#ffffff;"> <br />'.decoder($ligne['description']).'</div> <br /> <br />
';
$pdf->writeHTML($html, true, false, true, false, '');

我可以将表格的字体颜色更改为红色,因此我知道样式正在应用,但不是关于不让它超出边距的部分。 我认为这是因为 tcpdf 支持有限的 css 属性。 我考虑过使用 writecell 而不是 writeHTML,但它们的可变文本太多(可以是 5 行或 10 页),我不知道从哪里开始或在哪里停止。

关于如何将表格放入 div 或表格中的任何想法,使其不会超出边距并且不会被切断。

谢谢。

【问题讨论】:

  • 从发布的代码中,我假设 css 不适用,因为您的 div 中没有表格。您是否尝试过将溢出控件应用于 td?
  • 表格在这里 $ligne['description']。溢出控制要么隐藏它,剪辑它或放卷轴,我都不想要,我想要它断线。

标签: php html margin tcpdf


【解决方案1】:

我参加聚会很晚,但我的猜测是 tinymce 正在(或曾经)将 width 添加到表或 td 元素中。解析 HTML 并删除违规属性应该可以解决问题。

也可能是那些 css 规则没有被 TCPDF 应用,或者目标应该是 td 元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 2013-01-30
    相关资源
    最近更新 更多