Bonjour à tous !

Alors voilà je me suis inspiré de ce que j'ai trouver sur le net et donc j'ai créer mon document comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Document document = new Document(PageSize.A4, 36, 36, 54, 36);
ensuite j'ai créer une box comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
PdfWriter writer = PdfWriter.getInstance(document,
					new FileOutputStream(FILE));
			writer.setBoxSize("art", new Rectangle(36, 54, 559, 788));
HeaderFooter event = new HeaderFooter();
donc là j'ai une box avec pour width 559

ensuite j'ai créer une classe HeaderFooter qui ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
class HeaderFooter extends PdfPageEventHelper {
		PdfTemplate total;
 
		@Override
		public void onOpenDocument(PdfWriter writer, Document document) {
			total = writer.getDirectContent().createTemplate(30, 16);
		}
 
		@Override
		public void onEndPage(PdfWriter writer, Document document) {
			Rectangle rect = writer.getBoxSize("art");
			try {
 
				PdfPTable table = new PdfPTable(3);
				table.setTotalWidth(new float[] { 450, 57, 20 });
 
 
				 table.setLockedWidth(true);
				table.getDefaultCell().setFixedHeight(28);
				table.addCell(new Phrase("Facture", catFont));
				table.getDefaultCell().setHorizontalAlignment(
						Element.ALIGN_RIGHT);
				table.addCell(String.format("Page %d /", writer.getPageNumber()));
				PdfPCell cell = new PdfPCell(Image.getInstance(total));
				table.addCell(cell);
				table.writeSelectedRows(0, -1, rect.getLeft(),
						rect.getTop() + 35, writer.getDirectContent());
 
		}
 
		public void onCloseDocument(PdfWriter writer, Document document) {
			ColumnText.showTextAligned(total, Element.ALIGN_LEFT, new Phrase(
					String.valueOf(writer.getPageNumber() - 1)), 2, 2, 0);
		}
 
	}
seulement voilà ça ne me parait pas cohérent car si j'additionne les width de mon tableaux (450, 57, 20) j’obtiens 527 et non 559 !!!
si je rajoute 30 quelque part mon tableaux devient trop grand !
Pourquoi ça se comporte comme ça ? est ce qu'il y a qqch que j'ai zappé ?