Itext 使用velocity模板生成PDF时出现空格和字体大小问题

Itext 使用velocity模板生成PDF时出现空格和字体大小问题,itext,velocity,Itext,Velocity,我正在为我的一个项目使用较旧版本的itext-2.x.x和velocity-2.x 目标-需要使用velocity模板生成PDF 问题1-velocity模板中的空格在生成的PDF上可见。下面是我的velocity模板的一个示例- <tr> <td> Test Content </td> <tr> 正在生成PDF上单元格中的空格。但是,当velocity模板中的相同代码编写如下时- <tr><td

我正在为我的一个项目使用较旧版本的itext-2.x.x和velocity-2.x

目标-需要使用velocity模板生成PDF

问题1-velocity模板中的空格在生成的PDF上可见。下面是我的velocity模板的一个示例-

<tr>
    <td>
        Test Content
    </td>
<tr>
正在生成PDF上单元格中的空格。但是,当velocity模板中的相同代码编写如下时-

<tr><td>Test Content</td></tr>
PDF上的单元格中未显示空格

相同的velocity模板正在生成格式正确的my Email。因此,我可以得出结论,问题可能在于生成PDF

问题2-在velocity模板中编写的字体未显示在PDF中。下面是代码片段-

<tr>
   <td style="font-size: 12pt">
       Test Content
   </td>
</tr>
但是,如果我尝试使用带有size属性的标记,我就能够获得结果


在生成PDF文件时,请帮助我理解iText的行为,并使用velocity。

您的HTML代码不可见。您应该使用标记的for代码。不再支持iText 2.x.y。Velocity项目与iText没有任何关联。因此,用itextpdf标记问题是错误的:我也纠正了这一点。不清楚Velocity使用的是哪个HTML渲染引擎。它当然不是iText的XML工作者。可能使用了HTMLWorker类,在这种情况下,您已经走到了死胡同。HTMLWorker已经被抛弃,取而代之的是XML Worker。正如Bruno所说,您不仅使用了过时的工具HTMLWorker,还使用了过时的iText版本。您所谈论的所有问题都可以通过更新版本的iText以及支持的用于解析HTML的XMLWorker来解决。也就是说,你已经回答了自己的问题。不要在表格单元格中添加空格,而要使用HTML属性来设置字体大小。您必须完全忽略浏览器呈现HTML的方式,这无关紧要。iText不呈现HTML,它将HTML标记转换为PDF命令。谢谢你们的回复!关于我的第一个查询,如果我遵循第二种模式,并将所有内容都写在一行中,那么代码将不会是可读的格式。这似乎不是正确的方法,因为测试内容基本上是动态内容。关于第二个查询,当我尝试使用font-size CSS属性使用Velocity生成电子邮件时,使用的字体大小会正确显示在电子邮件中,而当使用相同的font-size CSS属性生成PDF时,它不起作用。