文本对齐:对齐;不使用 wkhtmltopdf
text-align: justify; not working with wkhtmltopdf
美好的一天!
我正在使用 wkhtmltopdf 库从 HTML 创建 PDF 文档。我根据这个问题使用了svg字体wkhtmltopdf custom font letter spacing
我使用自定义字体,由@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
好的,我试过这种方法,它对我有用:
<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。
试一试。看看这样行不行。
您需要使用固定宽度尺寸。
body {
width: 22cm;
text-align: justify;
text-rendering: geometricPrecision;
}
美好的一天!
我正在使用 wkhtmltopdf 库从 HTML 创建 PDF 文档。我根据这个问题使用了svg字体wkhtmltopdf custom font letter spacing
我使用自定义字体,由@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
好的,我试过这种方法,它对我有用:
<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。
试一试。看看这样行不行。
您需要使用固定宽度尺寸。
body {
width: 22cm;
text-align: justify;
text-rendering: geometricPrecision;
}