Bonjour,

J'utilise la lib itext pour créer un document Word RTF. Chaque page du document word correspond à un type de courrier. J'aimerais appliquer des margins différentes pour chaque page du doc mais je n'y arrive pas.

J'ai éssayé de faire un doc.setMargin(...) pour chaque courrier mais lorsque j'ouvre mon document word généré je m'apperçois qu'il a appliqué le dernier setMargin() à l'ensemble du document word et non à chaque page..

Voici mon code

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
Document doc = new Document(PageSize.A4, ConstantsRTF.MARGIN_LEFT_PAGE, ConstantsRTF.MARGIN_RIGHT_PAGE, ConstantsRTF.MARGIN_TOP,ConstantsRTF.MARGIN_BOTTOM);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
RtfWriter2 writer = RtfWriter2.getInstance(doc, buffer);
for (Iterator iterator = cf.getListAccord().iterator(); iterator.hasNext();) {
    AccordPaiement accord = (AccordPaiement) iterator.next();
    idAccord = accord.getIdAcc();
    for (Iterator iterator2 = accord.getListTypeCourrierSelected().iterator();   iterator2
		.hasNext();) {
	TypeCourrierBean tb = (TypeCourrierBean) iterator2.next();
	idCourrier = String.valueOf(tb.getValue());
	if(idCourrier.equals("10") || idCourrier.equals("11")){
		doc.setMargins(ConstantsRTF.MARGIN_LEFT_PAGE, ConstantsRTF.MARGIN_RIGHT_PAGE, ConstantsRTF.MARGIN_TOP, ConstantsRTF.MARGIN_BOTTOM);
		createDoc(idCourrier, idAccord, request, doc, writer, mapping);
	}
	else {
		doc.setMargins(ConstantsRTF.MARGIN_LEFT, ConstantsRTF.MARGIN_RIGHT, ConstantsRTF.MARGIN_TOP, ConstantsRTF.MARGIN_BOTTOM);
		createDoc(idCourrier, idAccord, request, doc, writer, mapping);
		
	}
	if(iterator.hasNext() || iterator2.hasNext()){
		doc.newPage();
	}
	
    }	
}
doc.close();

Merci