Java PDF: Exemple d’utilisation des événement dans un document PDF

Author:

Java PDF: Exemple d'utilisation des événement dans un document PDF
{filelink=10392}

/***** Code de MesExemples.com *******/
/**
 * @(#)ExemplePdfPageEvent.java
 *
 *
 * @author 
 *sakoba(java.mesexemples.com) @version 1.00 2013/4/27
 */


import java.io.FileOutputStream;
import java.io.IOException;

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

public class ExemplePdfPageEvent extends PdfPageEventHelper {
  public void onGenericTag(PdfWriter pdf_writer, Document document, Rectangle 
    rect, String text) {
    if ("text".equals(text)) {
      PdfContentByte cb = pdf_writer.getDirectContent();
      cb.ellipse(rect.LEFT, rect.BOTTOM - 5f, rect.RIGHT, rect.TOP);
      cb.stroke();
    }
  }

  public static void main(String[] args) {
    Document document = new Document();
    try {
      PdfWriter pdf_writer = PdfWriter.getInstance(document, 
      	new FileOutputStream("c:/ExemplePdfPageEvent.pdf"));
      pdf_writer.setPdfVersion(pdf_writer.PDF_VERSION_1_7);
      pdf_writer.setPageEvent(new ExemplePdfPageEvent());
      document.open();

      Paragraph p = new Paragraph("Generic page event");
      document.add(p);
      
      Chunk box = new Chunk("text");
      box.setGenericTag("text");
      
      p.add(box);
      document.add(p);
    } catch (Exception e) {
      System.err.println(e.getMessage());
    }
    document.close();
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *