2017-02-12 2 views
1

J'ai une table que je veux commencer à un moment donné sur cette première page et je comprends que si je mets un conteneur de blocs avec une position absolue avec des propriétés en haut et à gauche, je vais commencer le contenu de ce point j'ai besoin. Mais le contenu ne passera pas à la page suivante et il sera coupé à la fin de celui-ci.Comment démarrer une table à un certain point sur la première page de mon document et le passer à la suivante si nécessaire? XSL-fo

Je sais aussi que si je mets un bloc: position du conteneur comme relatif, il passera à la page suivante comme j'en ai besoin aussi. Mais son point de départ ne peut pas être défini comme il le peut avec la position: absolue. Donc je suis coincé! Quelqu'un sait-il comment faire ça?

Répondre

3

Il y a plusieurs alternatives:

  • Utilisez space-before sur la fo:table afin qu'il soit poussé vers le bas la page la distance requise.
  • Créez une fo:simple-page-master pour la première page qui a un fo:region-body (avec le region-name applicable) qui a une marge supérieure qui placera le haut du fo:region-body à la distance requise. Si votre processeur FO supporte XSL 1.1, vous pouvez avoir plusieurs fo:region-body dans un fo:simple-page-master, donc s'il y a d'autres choses à des positions fixes devant la table sur la première page, vous avez la possibilité de les placer dans des flux séparés.
+0

Tony a raison. Si vous dites que votre contenu sur "une page" (que ce soit le premier, le 8ème, le 100ème ou autre) pour commencer à un certain poste, alors sa deuxième puce est la bonne réponse et ce que vous souhaitez. Cette page * parce que vous savez déjà qu'elle est différente et n'est pas sélectionnée au hasard * devrait avoir un maître de page défini dans lequel le contenu que vous voulez mettre en correspondance répond à vos besoins. –