In iText 8, indentation of a Paragraph
can be controlled using the setMarginLeft()
and setMarginRight()
method of the BlockElement
class which is the super class of Paragraph
.
Here is an example of how to indent a paragraph:
package org.kodejava.itext;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
public class ParagraphIndentation {
public static void main(String[] args) throws Exception {
PdfWriter writer = new PdfWriter("indentation.pdf");
PdfDocument pdf = new PdfDocument(writer);
try (Document document = new Document(pdf)) {
String first = """
Lorem ipsum dolor sit amet, consectetur adipisicing elit, \
sed do eiusmod tempor incididunt ut labore et dolore magna \
aliqua. Ut enim ad minim veniam, quis nostrud exercitation \
ullamco laboris nisi ut aliquip ex ea commodo consequat. \
""";
String second = """
Duis aute irure dolor in reprehenderit in voluptate velit \
esse cillum dolore eu fugiat nulla pariatur. Excepteur sint \
occaecat cupidatat non proident, sunt in culpa qui officia \
deserunt mollit anim id est laborum.
""";
Paragraph firstParagraph = new Paragraph(first);
firstParagraph.setFirstLineIndent(60);
firstParagraph.setMarginLeft(50);
firstParagraph.setMarginRight(50);
document.add(firstParagraph);
Paragraph secondParagraph = new Paragraph(second);
secondParagraph.setFirstLineIndent(60);
secondParagraph.setMarginLeft(50);
secondParagraph.setMarginRight(50);
document.add(secondParagraph);
} catch (Exception e) {
e.printStackTrace();
}
}
}
In this example, setMarginLeft()
and setMarginRight()
methods are used to set the left and right indentation of the paragraph. These methods accept a float
value as the parameter for setting the left and right indentation respectively.
The setFirstLineIndent()
method in the Paragraph
class sets the indentation of the first line of a Paragraph
in points. This option is commonly used in document formatting where the first line of a paragraph is typically indented more than the rest of the text in the paragraph.
For example, if you set paragraph.setFirstLineIndent(60);
, the first line of the text in that paragraph would be indented 60 points from the left margin.
The generated PDF document looks like this:
Maven Dependencies
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-core</artifactId>
<version>8.0.4</version>
<type>pom</type>
</dependency>
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024