我有动态html内容来创建pdf。所以我使用Dompdf
。dompdf - 文字换行不起作用
这是两个快照,这将有助于了解我到底想要什么。
我的HTML SHOWING喜欢这个SNAP浏览器
结果PDF
现在你可以看到我的HTML文本和PDF文本。 pdf文本应该与html相同。
我不知道为什么会发生这种情况。并且不用担心文本字体。但在我的html文本中,文本看起来有两行,但是在pdf中它是在一行中。我也使用了word-wrap:break-word;
css,但我认为它不支持Dompdf
。
这里是我的代码:
<?php
require_once '/path/to/dompdf/dompdf_config.inc.php';
$dir = __DIR__ . '/../public';
$pdfDirectory = $dir . '/testing-pdf';
$pdfFilename = $pdfDirectory . '/output.pdf';
$buffer = <<<HTML
<style>@page {
margin: 36 50;
} </style>
<div style='width:400px;height:300px;background:#C0C0C0;position:relative;'>
<div style='width:200px;height:100px;position:absolute;top:100px; left:90px;'>
<p style='text-align:center;padding:0px;margin:2px 0;font-size:24pt;font-family:arial; word-wrap:break-word; border:1px solid black;'>
Abcd abc ab a
</p>
</div>
</div>
HTML;
$dompdf = new DOMPDF();
$dompdf->load_html($buffer);
$dompdf->set_paper(array(0, 0, 400, 300), "portrait");
$dompdf->render();
file_put_contents($pdfFilename, $dompdf->output());
我没有使用Dompdf,但尝试改变你的div使用最大宽度,看看你是否可以强制换行。 –
尝试使用'max-width',但结果相同。 –
Dompdf不是适用于精确PDF创建的库。这是一个解决方法,一个肮脏,但很有用,一个*做它domodf,因为你没有做到正确的PDF创建的方式。它可以很好地使用(只是说),但我想知道你的期望,这应该包装文本(因为实际上没有必要,它适合于一行)。 – hakre