PdfDictionary : Introduction « PDF « Java Tutorial






import java.io.FileOutputStream;

import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PRIndirectReference;
import com.lowagie.text.pdf.PRStream;
import com.lowagie.text.pdf.PRTokeniser;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfDictionary;
import com.lowagie.text.pdf.PdfName;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;

public class MainClass {
  public static void main(String[] args) throws Exception {
    Document document = new Document(PageSize.A6);
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
    document.open();
    PdfContentByte cb = writer.getDirectContent();
    BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    cb.beginText();
    cb.setFontAndSize(bf, 12);
    cb.moveText(88.66f, 367);
    cb.showText("ld");
    cb.endText();
    PdfTemplate tmp = cb.createTemplate(250, 25);
    tmp.beginText();
    tmp.setFontAndSize(bf, 12);
    tmp.moveText(0, 7);
    tmp.showText("Hello People");
    tmp.endText();
    cb.addTemplate(tmp, 36, 343);
    document.close();

    PdfReader reader = new PdfReader("2.pdf");
    PdfDictionary page = reader.getPageN(1);
    PRIndirectReference objectReference = (PRIndirectReference) page.get(PdfName.CONTENTS);
    PRStream stream = (PRStream) PdfReader.getPdfObject(objectReference);
    byte[] streamBytes = PdfReader.getStreamBytes(stream);
    PRTokeniser tokenizer = new PRTokeniser(streamBytes);
    while (tokenizer.nextToken()) {
      if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {
        System.out.println(tokenizer.getStringValue());
      }
    }
  }
}








29.1.Introduction
29.1.1.Create your first Pdf document with Java
29.1.2.Create Empty page
29.1.3.Update a Pdf document
29.1.4.Read Pdf document to string
29.1.5.PRTokeniser
29.1.6.PdfDictionary
29.1.7.inspects a PDF file
29.1.8.Tagged PDF