0

tcpdf を使用して pdf ファイルを生成しています。pdf には、ユーザーがテキストエリアに (tinymce を使用して) 既に挿入した長い説明が含まれています。一部のユーザーは、幅の表を使用して説明しています (ほとんどの場合、Word ファイルからテキストエリアにコピー/貼り付けするだけです)。PDF が生成されると、これらの表が余白を超えて一部しか表示されません。私はそれを div 、 a 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 属性をサポートしているためだと思います。writeHTML の代わりに writecell を使用することを考えましたが、可変テキストが多すぎて (5 行または 10 ページになる可能性があります)、開始点と停止点がわかりません。

テーブルをdivまたはテーブル内に収めて、マージンを超えたり、切り取られたりしないようにする方法についてのアイデア。

ありがとうございました。

4

1 に答える 1