TinyButStrong - the PHP Template Engine
Categories > OpenTBS with ODS >

saut de page dans Ooo

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs

By: Michel
Date: 2006-11-21
Time: 09:20

saut de page dans Ooo

bien que le sujet semble avoir déjà été traité dans le forum, je n'ai pas de solution à mes problèmes de sauts de page dans un document odt. en mode paysage dans lequel je merge un bloc "commune" et un sous-bloc "dossier par commune" sous forme de tableau dont le nombre de lignes est aléatoire (la sortie des données est correcte)

dans le document :
[mb;block=begin]
[mb.commune]

en-tête de tableau (données fixes)

N° dossier
Raison sociale
Exploitant
Adresse
type
catég.
Dernier
Avis général
Dernière visite périodique
avis visite
Périodicité
Prochaine visite périodique

colonnes de tableau

[sb.numdossier;block=table:table-row;p1=[mb.$]]
[sb.raisonsociale] et [sb.exploitant] dans la même cellule
[sb.adresse]
[sb.type] et [sb.cat] dans la même cellule
[sb.avisgeneral]
[sb.derniere] et [sb.avis] dans la même cellule
[sb.periodicite] et [sb.echeance] dans la même cellule


début de page suivante :
[mb;block=end]

Dans le résultat, à part la première page qui est correcte, le nom de la commune suivante (mb) n'est pas à une position régulière et décale de facon aléatoire : le tableau reste bien positionné sous le mb. j'ai vu qu'on évoquait PAGE-BREAK ?
Qu'est ce que j'ai (encore) fait de mal ? merci

By: Olivier Loynet
Date: 2006-11-21
Time: 12:16

Re: saut de page dans Ooo

Bonjour,

Par rapport à ta problématique de fusion des données (hors saut de page) il y a deux méthodes pour ton type de mise en page :
- la 1ere : les block et sous-block (tel que tu l'utilises)
- la 2eme : les headers groups et footer groups voir headergrp et footergrp dans le manuel de TBS.

Personnellement je préfère la 2eme méthode car :
- elle est beaucoup plus performante (IHMO, à mon humble avis) surtout pour des gros documents.
- elle permet de passer directement le resultat d'une requete SQL sans avoir à décomposer le résultat dans des tableaux
- plus facile à maintenir et à relire

La partie en tete du tableau (headergrp), doit être aussi dans une ligne du tableau, mais rien n'empeche de changer la mise en page de la ligne ou de fusionner les cellules pour y placer les informations ou un autre tableau dedans.

Pour repeter les noms des colonnes, tu peux placer aussi un 2eme headergrp dans une deuxieme ligne

Dans le pied du tableau (footergrp) je place le saut de page

Je peux t'envoyer un exemple si tu veux que j'avais fait

Olivier

By: Michel
Date: 2006-11-21
Time: 12:50

Re: saut de page dans Ooo

merci Olivier pour cette réponse rapide : je sors actuellement effectivement  le document avec headergroup (pour chaque commune) et c'est très présentable.

[blk_res.bled;block=table:table-row;headergrp=bled]
N° dossier
...
Prochaine visite périodique [blk_res;block=table:table-row;headergrp=bled]
[blk_res.numdossier;block=table:table-row]
[...
[blk_res.echeance ;block=table:table-row]

C'est la gestion du saut de page que je ne maitrise pas et que je pensais régler plus facilement ... avec les sous-blocs.

Je suis preneur de ton exemple ou de la méthode à appliquer.
cordialement
By: Olivier Loynet
Date: 2006-11-21
Time: 13:06

Re: saut de page dans Ooo

bonjour,

J'ai rencontré le probleme des sauts de page avec les documents ".odt - traitement de texte" tout en utilisant les fonctions de groupage

Teste l'exemple dans un document ".ods - feuille de calcul" pour que cela fonctionne.

N'ayant pas eu le temps, je ne suis pas rentré dans le code XML d'OpenOffice pour comprendre pourquoi cela fonctionne dans un cas et pas dans l'autre.

Si cela ne fonctionne pas, je t'envoie l'exemple...

Olivier

Olivier


By: Michel
Date: 2006-11-21
Time: 16:44

Re: saut de page dans Ooo

F1 : je suis mauvais... le regroupement et la présentation sont corrects dans le document ods comme dans le document odt mais je ne parviens pas à effectuer le saut de page (footergrp ? ou autre) et surtout je ne sais pas où le placer dans mon cas ? Ton exemple serait le bienvenu
Michel