猿问

在Java中从html生成pdf时渲染错误

我正在尝试将简单的html转换为pdf,但我浏览器中的样式与pdf中的样式不同。我正在使用飞碟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>


森栏
浏览 215回答 1
1回答

繁星coding

来自文档:不支持传统或“街头”HTML,尽管有几种不同质量的开源Java HTML清理程序可用。我们渲染格式良好的XML;XHTML是一个格式正确的XML文档,它使用一组特殊的标签。我们不能“在野外”渲染大多数HTML。充其量,你可以用TagSoup或JTidy或类似的库“清理”旧的HTML,并希望最好的。但是如果没有大量的工作,您将无法将飞碟用于真正的Web浏览器组件。但是,请注意,这不是技术限制,只是缺乏时间和资源。TABLE标签的“高度”属性是标准的,我猜飞碟忽略了它。例如,请参阅在HTML中设置表格的高度没有效果
随时随地看视频慕课网APP

相关分类

Java
我要回答