如何在itext 7 pdf中用字符填充页面宽度

问题描述 投票:0回答:1

我在用Java中的itext 7 pdf搞乱了,正在寻找一种解决方案,用下划线(_)填充页面的其余部分,以创建用户可以在其上书写的行。基本上是表单,但是我不想使用acro表单或其他任何形式。我只想要一条延伸到每个文本后页面末尾的线。

所以我有:

Name
Address
Phone

我要制作它以便显示它:

Name _________________
Address ______________
Phone ________________

行的结尾将在页面的末尾。

java width fill itext7 paragraph
1个回答
0
投票

iText 7具有制表符和制表位的概念,它允许您指定“控制点”(制表位)并跳至下一个控制点(通过使用制表符)。标签页还允许您配置上一个光标位置和下一个标签页之间的空间外观。

长话短说,这是一个代码示例,该示例在页面的右端定义了一个制表符停靠点,并在跳转到该制表符停靠点的文本之后添加了一个制表符。我们还配置了将在右侧文本位置和制表位之间绘制的线条的视觉外观。我们使线0.5点变粗。

PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outFileName));

Document document = new Document(pdfDocument);

float pageRightXPos = document.getPdfDocument().getDefaultPageSize().getRight() -
        document.getLeftMargin() - document.getRightMargin();
Paragraph p = new Paragraph("Text that should have underscore continuation")
        .add(new Tab()).addTabStops(new TabStop(pageRightXPos, TabAlignment.RIGHT, new SolidLine(0.5f)));
document.add(p);

document.close();

结果看起来像这样:

result

© www.soinside.com 2019 - 2024. All rights reserved.