MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import java.awt.Color;
import java.io.FileOutputStream;

import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfWriter;

public class MainClass {

    public static void main(String[] args) throws Exception {

        Document document = new Document();

        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
        writer.setPageEvent(new MyPdfPageEventHelper());
        document.open();
        Paragraph p = new Paragraph();
        Chunk fox = new Chunk("test");
        fox.setGenericTag("box");
        p.add(fox);
        p.add(" this is a test ");
        Chunk dog = new Chunk("test ");
        dog.setGenericTag("ellipse");
        p.add(dog);
        document.add(p);
        document.close();
    }
}

class MyPdfPageEventHelper extends PdfPageEventHelper {

    public void onGenericTag(PdfWriter writer, Document document, Rectangle rect, String text) {
        if ("ellipse".equals(text)) {
            PdfContentByte cb = writer.getDirectContent();
            cb.setRGBColorStroke(0xFF, 0x00, 0x00);
            cb.ellipse(rect.left(), rect.bottom() - 5f, rect.right(), rect.top());
            cb.stroke();
            cb.resetRGBColorStroke();
        } else if ("box".equals(text)) {
            PdfContentByte cb = writer.getDirectContentUnder();
            rect.setBackgroundColor(new Color(0xa5, 0x2a, 0x2a));
            cb.rectangle(rect);
        }
    }

}