iTextSharp - 是否可以在同一单元格中为文本设置不同的对齐方式

时间:2015-09-15 18:32:20

标签: pdf itextsharp

在一个单元格和同一行中,我必须添加两个文本(名称和日期)。 第一个文本片段必须位于左侧页面,第二个位于右侧,所有内容必须位于一行中。 我尝试过使用Paragraph s,ChunkPhrase s,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

如果要在同一PhraseParagraph中分隔两段文字,则必须创建Chunk我经常称为 glue

Chunk glue = new Chunk(new VerticalPositionMark());

你可以像这样使用glue

public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();
    Chunk glue = new Chunk(new VerticalPositionMark());
    PdfPTable table = new PdfPTable(1);
    Phrase p = new Phrase();
    p.add("Left");
    p.add(glue);
    p.add("Right");
    table.addCell(p);
    document.add(table);
    document.close();
}

结果如下:

enter image description here

如您所见,我们创建的特殊ChunkStrings "left""right"分开。

答案 1 :(得分:0)

只需使用两个段落,块或短语。如果你只想用三者中的一个来做,那你就是有限的。只需定义要添加到页面的另一个文本字段。您可以使用三者的任意组合,并在页面上设置位置以反映您的要求。