PDF Java Tutorial

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.PageSize;
import com.lowagie.text.Phrase;
import com.lowagie.text.pdf.ColumnText;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfWriter;
public class MainClass {
  public static void main(String[] args) throws Exception {
    Document document = new Document(PageSize.A4);
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
    document.open();
    PdfContentByte cb = writer.getDirectContent();
    ColumnText ct = new ColumnText(cb);
    BufferedReader reader = new BufferedReader(new FileReader("a.txt"));
    String line;
    while ((line = reader.readLine()) != null) {
      ct.addText(new Phrase(line + "\n"));
    }
    reader.close();
    ct.setSimpleColumn(36, 36, PageSize.A4.width() - 36, PageSize.A4.height() - 36, 18,
        Element.ALIGN_JUSTIFIED);
    int status = ColumnText.START_COLUMN;
    while (ColumnText.hasMoreText(status)) {
      status = ct.go();
      ct.setYLine(PageSize.A4.height() - 36);
      document.newPage();
    }
    document.close();
  }
}