Nreco pdf 生成器:文本对齐问题:对齐和断字

Nreco pdf generator: issue with text-align: justify and word-break

我正在使用 Nreco PDF 生成器。如果我尝试使用以下 HTML 生成 PDF 文件,文本超出边距。

<html>
<head>
<style> 
P {
     word-break: break-word;
     border: 1px solid black;
}
</style>
</head>
<body>

<P align=justify>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In lacinia lacus lorem, sit amet luctus elit commodo a. Etiam sagittis varius maximus. Donec quis finibus purus, quis pulvinar purus. Nunc vitae eros eget nibh vestibulum malesuada. Quisque elit lorem, tincidunt vel facilisis sed, sollicitudin vulputate nisi. Cras ut vestibulum justo. Pellentesque et metus iaculis, ullamcorper mauris at, finibus dui. Donec in odio et tellus eleifend vehicula at non felis. Aliquam hendrerit auctor lorem dapibus pellentesque. Phasellus neque nunc, congue sed ipsum sit amet, sagittis scelerisque diam. Sed et fermentum odio. Aliquam rhoncus elit mauris, et accumsan lectus viverra quis. Nullam venenatis diam id dolor cursus, eget porttitor mi fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</P>
</body>
</html>

使用目前的形式 here 结果如下:

我也试过在样式中添加overflow-wrap: break-word,但没有办法解决问题。

问题是由 align=justify 引起的。删除它会使文本留在边框内 -- 但它不应该是合理的。

我该如何解决这个问题?

由于 NReco PdfGenerator 是 wkhtmltopdf 工具的包装器,您的问题实际上是关于它的 QtWebKit 4.8 引擎。我至少知道 2 种方法来处理您描述的 align=justify 问题:

1) 添加text-rendering: geometricPrecision; CSS 规则:

P {
     word-break: break-word;
     border: 1px solid black;
     text-rendering: geometricPrecision;
}

2) 使用自定义字体,例如:

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&amp;lang=en" />  
<style>
P {
     word-break: break-word;
     border: 1px solid black;
     font-family: 'Open Sans', serif;
}
</style>