Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在iText 7中用字符填充页面宽度_Java_Width_Itext7_Paragraph - Fatal编程技术网

Java 如何在iText 7中用字符填充页面宽度

Java 如何在iText 7中用字符填充页面宽度,java,width,itext7,paragraph,Java,Width,Itext7,Paragraph,我对Java中的iText 7 pdf进行了一点修改,并在寻找一种解决方案,用下划线(551;)填充页面宽度的其余部分,以创建用户可以在其上书写的行。基本上是一个表单,但是我不想使用acroforms或任何东西。我只想要一条线,在每一个文本之后延伸到页面的末尾 因此,我: Name Address Phone 我想让它显示: Name _________________ Address ______________ Phone ________________ 行尾位于页面末尾的位置。iTe

我对Java中的iText 7 pdf进行了一点修改,并在寻找一种解决方案,用下划线(551;)填充页面宽度的其余部分,以创建用户可以在其上书写的行。基本上是一个表单,但是我不想使用acroforms或任何东西。我只想要一条线,在每一个文本之后延伸到页面的末尾

因此,我:

Name
Address
Phone
我想让它显示:

Name _________________
Address ______________
Phone ________________

行尾位于页面末尾的位置。

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();
结果如下所示:


iText网站上也有类似的内容:“如何限制单行字符数”