package com.brightgenerous.pdfbox.writer; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; import org.apache.pdfbox.pdmodel.font.PDType1Font; import org.junit.Test; import com.brightgenerous.pdfbox.writer.appender.AppenderAlign; import com.brightgenerous.pdfbox.writer.appender.AppenderBuilder; import com.brightgenerous.pdfbox.writer.appender.AppenderUtils; import com.brightgenerous.pdfbox.writer.creater.AbstractResourceLoader; public class PdfWriterBuilderTest { @Test public void build() throws FileNotFoundException, IOException { PdfWriterBuilder<Void> builder = PdfWriterBuilder.create(); builder.pagesAppender(AppenderUtils.composite( AppenderBuilder.create().buildPagesFooter(), AppenderBuilder.create().align(AppenderAlign.LEFT).format("{0} of {1}") .buildPagesFooter(), AppenderBuilder.create().format("- - - - - - - - - -SAMPLE- - - - - - - - - -") .rotate(45).buildPagesText(), AppenderBuilder.create() .imageResource("C:/Users/master/Desktop/11922299_907749692_normal.png") .rotate(45).buildPagesBackground())); builder.addCreater(new AbstractResourceLoader<Void>() { @Override protected void build(PDDocument doc, Void data) throws IOException { for (int i = 0; i < 3; i++) { PDPage page = new PDPage(); doc.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true); contentStream.beginText(); contentStream.moveTextPositionByAmount(300, 100); contentStream.setFont(PDType1Font.HELVETICA_BOLD, 20); contentStream.drawString("1 - " + i); contentStream.endText(); contentStream.close(); } } }); builder.addCreater(new AbstractResourceLoader<Void>() { @Override protected void build(PDDocument doc, Void data) throws IOException { for (int i = 0; i < 3; i++) { PDPage page = new PDPage(); doc.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true); contentStream.beginText(); contentStream.moveTextPositionByAmount(100, 300); contentStream.setFont(PDType1Font.HELVETICA_BOLD, 20); contentStream.drawString("2 - " + i); contentStream.endText(); contentStream.close(); } } }); try (OutputStream os = new FileOutputStream( "C:/Users/master/Desktop/PdfWriterBuilderTest_pdfbox.pdf")) { builder.build().write(os, null); } } }