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またはテーブル内に収めて、マージンを超えたり、切り取られたりしないようにする方法についてのアイデア。
ありがとうございました。