美好的一天!
我使用wkhtmltopdf库从HTML创建PDF文档。我根据这个问题wkhtmltopdf custom font letter spacing
使用了svg字体我使用自定义字体,由@ font-face添加。 对我来说一切正常,除了一件事:text-align:justify由于某种原因不起作用。
在html文本中按预期对齐,但不在PDF中。
有人知道如何解决这个问题吗?
UPD :添加了CSS和HTML示例
<style type="text/css">
@font-face{
font-family:'source_sans_prolight';
src: url('/font/sourcesanspro-light-webfont.svg') format('svg');
font-weight:normal;
font-style:normal;
}
@font-face{
font-family:'Source Sans Regular';
src: url('/font/sourcesanspro-regular-webfont.svg') format('svg');
font-weight:normal;
font-style:normal;
}
html, body, p, ul, li, span, img {
margin: 0px;
padding: 0px;
}
body {
font-family: "Source Sans Regular", sans-serif;
text-rendering: geometricPrecision;
}
.page {
width: 729px;
}
.block {
width: 300px;
float: left;
margin-right: 40px;
text-align: justify;
}
</style>
<div class="page">
<div class="block">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque fermentum iaculis mollis. Cras in varius lectus. Mauris consequat vestibulum dolor pretium pulvinar.</div>
<div class="block">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque fermentum iaculis mollis. Cras in varius lectus. Mauris consequat vestibulum dolor pretium pulvinar.</div>
</div>
HTML按预期呈现:http://i.imgur.com/hE3xYxt.png
在PDF中,我得到了这个:http://i.imgur.com/S3KAPqg.png
答案 0 :(得分:2)
您需要使用固定宽度尺寸。
body {
width: 22cm;
text-align: justify;
text-rendering: geometricPrecision;
}
答案 1 :(得分:0)
好的,我尝试过这种方式,它对我有用:
<html>
<head>
<style type="text/css">
@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro);
@font-face{
font-family:'source_sans_prolight';
src: url('/font/sourcesanspro-light-webfont.svg') format('svg');
font-weight:normal;
font-style:normal;
}
@font-face{
font-family:'Source Sans Regular';
src: url('/font/sourcesanspro-regular-webfont.svg') format('svg');
font-weight:normal;
font-style:normal;
}
html, body, p, ul, li, span, img {
margin: 0px;
padding: 0px;
}
body {
font-family: "Source Sans Regular", sans-serif;
text-rendering: geometricPrecision;
}
.page {
width: 729px;
}
.block {
font-family: 'Source Sans Pro', sans-serif;
width: 300px;
float: left;
margin-right: 40px;
text-align: justify;
}
</style>
</head>
<body>
<div class="page">
<div class="block">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque fermentum iaculis mollis. Cras in varius lectus. Mauris consequat vestibulum dolor pretium pulvinar.</div>
<div class="block">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque fermentum iaculis mollis. Cras in varius lectus. Mauris consequat vestibulum dolor pretium pulvinar.</div>
</div>
</body>
</html>
由于我没有添加@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro);
的字体,我刚刚将font-family: 'Source Sans Pro', sans-serif;
添加到您的 .block css规则中。
我在我的样本中添加了一些基本的标签html head body。
试一试。并且看看它是否正常。