0

我正在使用 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 或表格中的任何想法,使其不会超过边距并且不会被切断。

谢谢你。

4

1 回答 1

0

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

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

于 2017-02-15T21:42:47.297 回答