我正在尝试将简单的html转换为pdf,但我的浏览器中的样式与pdf中的样式不同。我正在使用flying-saucer-pdf v9.1.18。你知道为什么吗?
这是它在Web浏览器上的外观以及它在生成的pdf中的外观:https://i.stack.imgur.com/MB7DB.jpg
这是我简单的html模板:
<html>
<head>
<style>
.aligned {
vertical-align: bottom;
}
.colored {
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<table border="1" width="300px" height="300px">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td class="colored">4</td>
</tr>
<tr>
<td>5</td>
<td class="aligned">6</td>
</tr>
</table>
</body>
</html>
来自docs:
不支持遗留或“街道”HTML,尽管有几种不同质量的开源Java HTML清理程序可用。我们渲染格式良好的XML; XHTML是一个格式良好的XML文档,它使用一组特殊的标记。我们无法“在野外”呈现大多数HTML。充其量,您可以使用TagSoup或JTidy或类似的库“清理”旧HTML,并希望获得最佳效果。但是如果没有大量工作,您将无法使用Flying Saucer作为真正的Web浏览器组件。但请注意,这不是技术限制,只是缺乏时间和资源。
TABLE标签的“height”属性是标准的,我猜飞碟正在忽略它。