In iText 8, you can use the AreaBreak
class to add a new page to a Document
. An AreaBreak
is used to start a new area in the document. This can be compared to a page break in word processing software, but in iText, it’s a bit more flexible.
You can use AreaBreak
to create different layout areas in the same page. For example, it can be used to separate a chapter or section in your document into two columns. You can also use an AreaBreak
to create a new page, too.
Here’s an example of how to do it:
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.AreaBreak;
import com.itextpdf.layout.element.Paragraph;
public class AreaBreakExample {
public static void main(String[] args) throws Exception {
PdfWriter writer = new PdfWriter("output.pdf");
PdfDocument pdf = new PdfDocument(writer);
// Create a document object
try (Document document = new Document(pdf)) {
// Add a new paragraph to the document
document.add(new Paragraph("This is some content on Page 1"));
// Add an area break (the new page starts here)
document.add(new AreaBreak());
// Add another paragraph to the document (on a new page)
document.add(new Paragraph("This is some content on Page 2"));
}
}
}
In this example, the AreaBreak
creates a new page before adding the second paragraph. As a result, “This is some content on Page 1” appears on the first page, while “This is some content on Page 2” appears on the second page.
While both AreaBreak
and PdfDocument
‘s addNewPage()
method can be used to add a new page in a PDF document, they work in slightly different ways.
AreaBreak
: This is typically used in the context of the iTextDocument
abstraction. When you insert anAreaBreak
, it tells the layout mechanism that you want to start laying out new elements in a new region (which could be a new page, or a new column, for example). This is particularly useful when adding elements like texts, images, tables, etc. sequentially to a document, and you want control over page breaks.addNewPage()
: This is a lower-level operation that allows you to directly interact with thePdfDocument
object. This method is used when you’re not using theDocument
abstraction and are working directly with thePdfDocument
. It provides more control over creating and customizing pages, but requires a more detailed understanding of the PDF structure.
In short, AreaBreak
is generally more high-level and is useful when laying out elements via the Document
abstraction, while addNewPage()
is a lower-level method that offers more control but requires more detailed knowledge about the structure of PDF files.
It’s important to note that the use of one over the other depends on the specific requirements and context of your project.
Maven Dependencies
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-core</artifactId>
<version>8.0.4</version>
<type>pom</type>
</dependency>
- How do I use Proxy class to configure HTTP and SOCKS proxies in Java? - March 27, 2025
- How do I retrieve network interface information using NetworkInterface in Java? - March 26, 2025
- How do I work with InetAddress to resolve IP addresses in Java? - March 25, 2025