1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
public class TestPDF{
public static void main(String[] args){
PdfWriter pdfWriter = null;
try {
String [] headers = new String [] {"Test 1","Test 2","Test 3" };
pdfWriter = new PdfWriter("C:\\test.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfWriter);
Document doc = new Document(pdfDoc, PageSize.A4.rotate());
doc.setMargins(36, 36, 36, 36);
doc.setFontSize(7);
TextHeaderEventHandler header = new TextHeaderEventHandler(doc);
pdfDoc.addEventHandler(PdfDocumentEvent.END_PAGE,header );
for(String str : headers){
doc.add(new Paragraph("test"));
header.setTexte(str);
doc.add(new AreaBreak());
}
pdfDoc.close();
doc.close();
} catch (FileNotFoundException ex) {
Exceptions.printStackTrace(ex);
} finally {
try {
pdfWriter.close();
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
}
protected static class TextHeaderEventHandler implements IEventHandler {
private Document doc;
String texte = "";
public TextHeaderEventHandler(Document doc) {
this.doc = doc;
}
public void setTexte(String texte) {
this.texte = texte;
}
@Override
public void handleEvent(Event event) {
try {
PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
PdfCanvas canvas = new PdfCanvas(docEvent.getPage());
PdfPage page = docEvent.getPage();
Rectangle pageSize = page.getPageSize();
canvas.beginText();
canvas.setFontAndSize(PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD), 7);
canvas.moveText((pageSize.getRight()/2) - 150,((pageSize.getTop() - 20)))
.showText("Test : "+texte)
.endText();
}
catch (IOException e) {
throw new GeneralException("Erreur",e);
}
}
}
} |
Partager