我在Rails中使用HTML生成PDF遇到了一些问题。我尝试使用PDFKit和Wicked_PDF宝石,但两者都存在页面断行问题,它们会在
让我展示一下我使用
在我的控制器中:
注意:我认为展示我使用的PDFKit所做的内容并不相关,因为HTML和CSS没有改变,只是呈现方式有所不同,问题完全相同。
我错过了什么?
欢迎使用其他宝石解决方案。
<tr>
内部断行。让我展示一下我使用
Wicked_PDF
时正在做什么:在我的控制器中:
render pdf: "report",
:template => "reports/index.html.erb",
:layout => "pdf",
:orientation => 'Landscape',
footer: {
right: "Page [page] of [topage]",
font_size: 9
}
layouts/pdf.html.erb:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.table {
border-bottom: 1px solid #ddd;
border-collapse: collapse;
border-spacing: 0;
margin-bottom: 20px;
width: 100%;
}
td,
th {
border-top: 1px solid #ddd;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.table > thead th {
background: #f7f7f7;
}
</style>
</head>
<body>
<%= yield %>
</body>
</html>
reports/index.html.erb:
<table class="table">
<thead>
<tr>Example of a text that breaks the tr</tr>
</thead>
<tbody>
<% 3.times do %>
<tr>
<td><%= "string " * 500 %></td>
</tr>
<% end %>
</tbody>
</table>
也尝试使用了这个 CSS 属性:
tr, td, th, tbody, thead, tfoot {
page-break-inside: avoid !important;
}
注意:我认为展示我使用的PDFKit所做的内容并不相关,因为HTML和CSS没有改变,只是呈现方式有所不同,问题完全相同。
我错过了什么?
欢迎使用其他宝石解决方案。