Personnalisation génération PDF Opale

Bonjour,
Je me permets de vous contacter car je travaille actuellement sur la personnalisation de la génération PDF pour un module Opale et j’aurais plusieurs questions:

  • Est-il possible d’inspecter la CSS d’un document PDF généré et comment ?
  • Est-il possible d’ajouter une « page vide » si nécessaire, comme dans la génération ODT, de sorte à ce que les parties (div, grain, etc.) de « niveau 1 » se trouvent systématiquement sur la page de droite ?
  • J’ai un souci avec les quiz : lorsque les propositions passent sur la page suivante (et uniquement dans ce cas de figure), le texte n’est plus aligné avec la case / le bouton à cocher (cf. capture d’écran).

Vous remerciant
Cordialement
Camille

Bonjour,

  • Il y a bien un moyen d’inspecter la structure HTML et le CSS associé d’un document PDF. Pour cela, depuis la publication du contenu en PDF, cliquez sur le bouton « Révéler » qui va vous ouvrir votre explorateur de fichier. Vous verrez alors apparaître votre pdf ainsi qu’un fichier index.html, c’est ce fichier qui nous intéresse. Vous pourrez alors l’ouvrir avec votre navigateur préféré et l’inspecter avec l’outil de votre choix.

  • Il est également possible d’ajouter des sauts de page grâce à la règle page-break-before ou page-break-after.
    Plus de précision sur la règle page-break-after ici : https://developer.mozilla.org/fr/docs/Web/CSS/page-break-after
    Plus de précision sur la règle page-break-before ici : https://developer.mozilla.org/fr/docs/Web/CSS/page-break-before
    Ainsi, par exemple, en ajoutant une règle page-break-before:right sur votre partie de niveau 1, celle-ci se trouvera alors toujours sur une page de droite en ajoutant un saut de page avant si nécessaire.

  • Pour ce soucis sur les quiz, difficile de se rendre compte d’où vient le problème comme ça. Si en inspectant la page index.html vous n’arrivez pas à déceler le problème, une solution serait de « lier » les réponses QCM entre elles grâce à la propriété page-break-inside:avoid qui empêche un saut de page à l’intérieur d’un élément. Plus d’infos sur cette règle ici : https://developer.mozilla.org/fr/docs/Web/CSS/page-break-inside

En espérant avoir pu vous aider.

Mickaël

Merci beaucoup pour ces réponses qui m’ont bien débloquée. J’ai utilisé le page-break-inside:avoid; pour les quiz car il n’y avait pas de problème en inspectant le code.

Camille

1 « J'aime »

Bonjour,
Je reviens sur ce forum, toujours concernant la personnalisation de la génération PDF pour Opale, car je souhaiterais afficher jusqu’à 6 niveaux de titre dans la table des matières (besoin spécifique pour des enseignements de droit). Est-il possible de le faire via Styler ?
Vous remerciant
Camille

Bonjour,

Malheureusement, il n’est pas possible d’ajouter un niveau de titre depuis Styler… Cela ne relève pas du stylage.

Mickaël

Bonjour,
Comme indiqué dans le post du 25 avril 2016, la propriété page-break-before:right (page-break-before:left en fait pour être exacte) appliquée aux div.part du document permet de contraindre le positionnement des parties de niveau 1 sur une page de droite en ajoutant un saut de page avant si nécessaire … sauf pour les Références (div qui possède pourtant bien la classe .part) sans que je ne trouve de règle contradictoire chez les enfants de la div.part. Auriez-vous une piste à ce sujet?
Actuellement j’ai contrecarré le problème en ajoutant sur le titre des références (h2.refBk_ti) la propriété page-break-before: right. Mes références se trouvent, du coup, bien sur la page de gauche mais en générant des pages blanches superflues (en plus de la page ressources annexes qui se génèrent automatiquement même lorsque l’on en a pas).
Vous remerciant

Camille

Bonjour,

Je ne vois pas bien le problème, avez-vous bien vérifié qu’il ne reste pas dans le css d’autre règle du type page-break-before:always qui pourraient générer ces pages blanches superflues ?

Il y a également une règle page-break-after :avoid; sur les titres h3,h4,h5,h6 qui lie les titres à leur contenu afin d’éviter d’avoir uniquement un titre en bas de page. Quand le contenu est trop grand et qu’aucun saut de page n’est permis, il arrive que le titre saute plusieurs page afin de rester proche de son contenu.

Il faut donc éviter d’ajouter une règle sur le h2.refBk_ti…

Par contre, ce n’est pas normal que la page ressources annexes se génèrent quand il y en a pas. Avez-vous bien vérifié les paramètres du support dans l’éditeur ?

Mickaël

Bonjour,
En fait, les pages blanches superflues apparaissent uniquement car, pour les références, j’ai dû ajouter la propriété page-break-before: right au h2.refBk_ti. Mais je préférerais ne pas avoir à le faire. C’est donc moi qui suis contrainte de les créer si je veux cette nouvelle partie sur une page de droite.
En effet, si je ne le fais pas, les références tombent sur la page de gauche malgré la propriété page-break-before:left appliquée aux div.part (dont fait partie la rubrique « Références ») qui force l’affichage des nouvelles parties sur une page de droite (et qui fonctionne très bien pour toute les autres partie sauf les références).

Les « Ressources annexes » font également partie de ces pages blanches superflues. Cependant, il n’est pas possible d’en forcer ou empêcher la publication car ce n’est pas proposé dans le formulaire de publication papier d’Opale 3.5 ou Opale 3.6 (pas présent dans odRootM.model et en sm:WSimpleBlock dans odRoot@annexes.transf).

Vous remerciant pour vos réponses,
Cordialement

Camille