Php dompdf-文本换行无效

Php dompdf-文本换行无效,php,html,pdf,dompdf,Php,Html,Pdf,Dompdf,我有动态html内容来创建pdf。所以我使用的是Dompdf 这里有两个快照,这将有助于了解我到底想要什么 我的HTML显示与此管理单元浏览器类似 结果PDF 现在您可以看到我的html文本和pdf文本。pdf文本应与html相同 我不知道为什么会这样。不要担心文字字体。但在我的html文本中,文本看起来是两行的,但在pdf中它是一行的。我还使用了wordwrap:break-wordcss,但我认为Dompdf不支持它 这是我的密码: <?php require_once '/pat

我有动态html内容来创建pdf。所以我使用的是
Dompdf

这里有两个快照,这将有助于了解我到底想要什么

我的HTML显示与此管理单元浏览器类似

结果PDF

现在您可以看到我的html文本和pdf文本。pdf文本应与html相同

我不知道为什么会这样。不要担心文字字体。但在我的html文本中,文本看起来是两行的,但在pdf中它是一行的。我还使用了
wordwrap: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());

好。。所以我终于找到了一个办法让它发挥作用。事实上,我只是在寻找包装文字,但我忘了字体也是一个问题。我在我的
html内容中使用
Arial
字体
,这对浏览器来说没问题。但是我刚刚发现,
dompdf
本身并没有包含
Arial
字体。每次我创建pdf时,它都会将字体
Arial改为Times new Roman
Times new Roman
Arial
薄一点。这就是为什么它将第二行文本与第一行一起使用。

我没有使用Dompdf,但请尝试将div更改为使用最大宽度,看看是否可以强制换行。尝试了
max width
,但结果相同。Dompdf不是一个适合创建精确PDF的库。这是一个解决办法,一个肮脏但又麻烦的do-It DomDF,因为您未能以正确的方式创建PDF。它可以很好地使用(只是说),但是我想知道你的期望是什么,它应该将文本包装起来(因为实际上没有必要,它可以很好地放在一行中)。@ShailParas:这并不意味着DOMPdf攻击,但是,你不能期望像你的浏览器这样的专业设计和开发的产品(用于HTML显示)与DOMPF保持一定距离。这正是我想要强调的。尤其是PDF输出似乎适合我。我不认为它是“错误的”,它看起来非常适合该文本。您可能希望框的最小高度为两行(独立于文本换行)?是的。这就是我要找的。我想如果文本显示在两行,那么它应该在两行的pdf以及。谢谢张贴这一点。我很惊讶我没有注意到字体的差异。最后一个非常狡猾的问题是:)Helvetica默认包括在内,与Arial相当。您只需将字体更改为Helvetica即可解决dompdf的问题,但最好始终提供备用字体,例如
字体系列:Arial、Helvetica、sans serif
@BrianS-是的,你是对的,我可以通过更改字体来解决这个问题。但我的要求是我有一个动态的html内容。这意味着我已经为我的用户添加了一个tinymce编辑器,所以我需要显示用户在编辑器中选择的字体。我还计划在Dompdf中安装更多字体,这样我的用户就不会再面临这个问题了。我现在明白你的问题了。安装用户可以使用的字体绝对是个好主意。