繁体   English   中英

iText无法生成预期的PDF格式

[英]iText not generating expected PDF format

我正在使用iText进行PDF生成,下面是代码段。

String template="";//content given below for more readability
OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, file);
document.open();
InputStream is = new ByteArrayInputStream(k.getBytes());
XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);

我的模板如下所示:

<html>
<head>
    <style>.col{padding:3px 20px 3px 20px}</style>
</head>
<body style="font-family:tahoma">
    <div style="background:rgb(230,230,230); padding:5px ;border:1px solid black;">
    <b style="color:rgb(51,153,255)">Sample header</b>
    <img style="float:right" height="25px" width= "80px" src="resources/images/itext.png" />
    </div>
    <br />
    <table border='0' style='border-collapse: collapse;'>
    <tr>
    <td class="col">String 1</td>
    <td class="col">: 1234354545</td> 
    </tr>
    <tr>
    <td class="col">String 2</td>
    <td class="col">: rere</td> 
    </tr>
    <tr>
    <td class="col">String 3</td>
    <td class="col">: ureuiu</td> 
    </tr>
    <tr>
    <td class="col">Date</td>
    <td class="col">: dfdfjkdjk</td> 
    </tr>
    </table>
    <br />
    <br />
    <br />
    <hr/>
    <br />
    Contact us
</body>
</html>

看起来像浏览器中的给定图像

预期的pdf

但是在PDF中我得到了这样的东西

实际pdf

我找不到解决方法。

请看一下ParseHtml12及其对应的结果: test2015-11.pdf

在此处输入图片说明

与您的结果有什么不同?

结果中,您使用的是<br />标记,该标记会导致新行操作,并考虑前导 当您开始一个新页面时,前导为0。一旦您有一些常规段落首次定义了前导,则前导会更改。

对于您而言,领导的定义永远不会发生,因此您必须自己做。 例如:

PdfWriter writer = PdfWriter.getInstance(document, file);
writer.setInitialLeading(12);

现在,当您使用<br />标记时,前导值将导致12个用户单位的空行。

至于徽标的对齐方式:建议您将该徽标放在两列的表中,在该表中将文本添加到第一列,将徽标添加到第二列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM