在iText7中有没有办法在文本之前保留空格?

时间:2017-10-27 08:31:54

标签: java itext itext7

我添加了一个Text对象,该对象以空格开头于Paragraph对象,

但在iText7(7.0.4)中删除了段落的空格。

看起来像左边的修剪。这是段落的规范吗?

有没有办法在文本之前保留空格?

Paragraph p = new Paragraph().add(new Text("  abc")); // Only "abc" appears in pdf

3 个答案:

答案 0 :(得分:5)

iText将修剪空格 但它不会删除不间断的空间。

File outputFile = new File(System.getProperty("user.home"), "output.pdf");
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outputFile));
Document layoutDocument = new Document(pdfDocument);

layoutDocument.add(new Paragraph("\u00A0\u00A0\u00A0Lorem Ipsum"));
layoutDocument.add(new Paragraph("Lorem Ipsum"));
layoutDocument.close();

答案 1 :(得分:1)

常规方式是:

p.setIndentationLeft(20);

你可以在转换之前转换空格。

答案 2 :(得分:0)

请按照以下步骤操作:

  1. 扩展 TextRenderer 类
  2. 覆盖trimFirst方法(但在其中什么也不做)
  3. 将此类的对象传递给 Text.setTextRenderer 方法