De nouveau nous avons un code qui marchait en Libre Office 7 et qui ne marche plus en 24.
J'ai un document writer de 2 pages avec une entete et un pied de page (style defaut) on va l'appeler A.odt.
Et j'ai un document d'une page avec une entete avec comme style qui se nomme master1 on va appeler ce fichier B.odt.
Etape 1: J'ouvre une copie de document A.odt (je suis à 2 pages)
Etape 2: Je rajoute un breakpage (je suis à 3 pages)
Etape 3: Je rajoute un B.odt (je suis à 3 pages)
Etape 4: Je rajoute un breakpage (je suis à 4 pages)
Etape 1.2: Je rajoute un A.odt (je suis à 5 pages)
Etape 2.2: Je rajoute un breakpage (je suis à 6 pages)
etc...
Sur le libre office 7 j'ai bien l'entête et le pieds de page defaut sur les 2 premières pages puis sur la page 3 l'entête Master1 puis sur la page 4 et 5 l'entête defaut etc.
En libre office 24 j'ai l'entête et le pieds de page defaut seulement sur les 2 premieres pages après j'ai seulement l'entête Master1.
Pour le breakpage je fais .uno:GoToEndOfDoc puis .uno:InsertPagebreak (dans mon code la méthode s'appelle addPageBreak()
Voici le code ci dessous d'une itération (Etape 2 et 3) et en PJ le fichier avec entete Master1 qui empêche d'avoir les entêtes defaults sur les pages suivantes et qui garde l'entête Master1 jusqu'à la fin du document
En vous remerciant par avance
Code : Tout sélectionner
if (pageBreak) {
AppliToolkit.afficher( "addPagebreak" );
addPagebreak();
}
_xText = _xtextdocument.getText();
XTextRange xEnd = _xText.getEnd();
XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface( XPropertySet.class, xEnd );
OooToolkit.setPropertyStyle( xCursorProps, null ); // On set les styles
XTextCursor textCursor = _xText.createTextCursor();
synchronized (getConnector()) {
textCursor.gotoEnd( false );
}
XDocumentInsertable xdi = (XDocumentInsertable) UnoRuntime.queryInterface( XDocumentInsertable.class, textCursor );
synchronized (getConnector()) {
xdi.insertDocumentFromURL( url, null );
}