2017-10-10 99 views
0

。如果我尝试使用下面的HTML生成PDF文件,该文本是出于利润的。Nreco PDF生成器:问题与文本对齐:理由和我使用Nreco 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结果的格式如下:Issued pdf

我也试图在风格,但没有办法解决问题添加overflow-wrap: break-word

的问题是由align=justify造成的。去掉它的边界内的文本住宿 - 但是它没有道理的,因为它应该是。

我该如何解决这个问题?

回答

0

因为NReco PdfGenerator是wkhtmltopdf工具的包装,所以您的问题实际上是关于它的QtWebKit 4.8引擎。我知道至少有2种方式如何应对ALIGN =证明你所说的问题:

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>