相同对象中的iTextSharp混合对齐

时间:2017-11-24 01:45:15

标签: c# pdf itext

我想要一个返回一个对象的函数,该对象包含两个具有不同对齐的段落。通过将它们分开并将它们一次添加到pdf中,这很容易手动完成,但我希望我的函数将它作为整个对象返回以添加到pdf中。这可能吗?作为我想要的一个例子:

 someTextHere


                                                                      someMoreTextHere

但作为一个对象我可以添加到pdf。

1 个答案:

答案 0 :(得分:0)

我创建了一个小型独立的iText 7示例,它创建了以下输出:

enter image description here

屏幕截图中显示的PDF文件是这样创建的:

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf);
    Div div = new Div()
        .add(new Paragraph("Left").setTextAlignment(TextAlignment.LEFT))
        .add(new Paragraph("Right").setTextAlignment(TextAlignment.RIGHT))
        .setBackgroundColor(ColorConstants.GRAY)
        .setWidth(200);
    document.add(div);
    document.close();
}

如您所见,我创建了一个Div元素(类似于HTML中的<div>标记),我在其中添加了两个Paragraph个对象,这些对象具有不同的文本对齐方式。这似乎正是你所需要的。

我不是C#开发人员,因此我使用Java提供代码。但是,如果您精通C#,那么将它从Java移植到C#就不会有任何问题(这只是将小写更改为大写的问题,例如更改add()进入Add())。

请注意,这是iText 7代码;如果你还在使用iText 5,你应该考虑升级到最新的iText版本,因为iText 5不久前已进入维护模式。维护模式意味着该版本的开发已停止;对于不是客户的用户,不再支持它。