PDF - Image qui déborde dans le pied de page

Bonjour,

Je rencontre un souci lorsque je génère un PDF : une image déborde dans le pied de page.
Voici une capture d’écran de mon PDF :

Dans les options du styler, j’ai interdit le saut de page après une ligne se terminant par deux points, je pense que cela vient de là.

Néanmoins, n’y a-t-il pas un moyen qu’il détecte quand même que l’image déborde dans le pied de page, et ainsi faire un saut de page avant la ligne qui comporte les deux points ?

Merci d’avance !

Corentin

Bonjour,

Quelle version de Dokiel utilisez-vous ?

Oui pardon j’ai oublié de préciser, je suis toujours en Dokiel 5, j’attends que nous passions en 6 sur notre serveur avant de convertir mon atelier local (le problème est rencontré en local).

et en local vous utilisez l’application Dokiel ou SCENARIchaib-desktop + Wsppack Dokiel ?

Bonjour @sam,

J’utilise la suite Scenarichain-desktop 6.2.0 + Wsppack Dokiel 5.0.11 + ScenariStyler 6.2.0.

Peut-être une incompatibilité entre les 3 ?

non, je pense pas.
pouvez-vous me passer un scar de votre contenu montrant le pb ?

Je vous mets en pièce jointe le scar qui contient la publication en question.
Celle qui pose problème se trouve dans « GPS Candidat\Publication\GPS-Gérer ses inscriptions ABE_JSP.pub » et le problème survient en page 5.

Je vous transmets aussi le Styler du coup.

Voici le lien Wetransfer (car trop volumineux sinon) :

Merci pour votre aide, n’hésitez pas s’il vous faut autre chose.

Ce problème a normalement été bien corrigé, mais à partir de la version Dokiel 5.0.12 (non disponible encore sur scenari.software) et Dokiel 6.

Effectivement, je viens d’essayer en dupliquant mon atelier et en le convertissant sur Dokiel 6, j’ai bien ça maintenant :

Du coup, quand il y a la règle du « pas de saut de page après deux points » qui se produit en même temps qu’une image qui déborde, on envoie quand même l’image sur la page suivante si je comprends bien.

Je ne connais pas tout sur la génération des pdf, mais y’aurait-il des astuces pour optimiser cela, du genre des règles pour dire :

  • si fin de ligne égal deux points mais que l’image déborde, envoyer la ligne précédente sur la page suivante
    ou
  • ajuster une image (max dézoom de X%) pour remplir la page et ne pas avoir parfois des sauts de pages trop importants

Pour illustrer cette 2e idée, voici un exemple où on aurait pu imaginer l’image se redimensionner un peu pour rester sur la page précédente :

Merci d’avance (désolé, j’avoue j’extrapole un peu le problème d’origine).

Bonjour,

Votre problème sur Dokiel 5 est lié à l’usage des fragments. Notre correction, disponible sur Dokiel 6, était incomplète et entrainait ce problème de solidarité avec les paragraphes terminant par deux points.
Cela est résolu et sera disponible dans les prochaines versions. En attendant, pour vous dépanner, vous pouvez ajouter cette règle sur votre skin Dokiel 6 :

a:not([href]) {
  display: none;
}

Pour information, il existe déjà une règle qui réduit ou agrandit les images pour optimiser l’espace occupé. Les facteurs de redimensionnement sont définis par les propriétés -psp-sc-stf-max-shrink et -psp-sc-stf-max-expand, respectivement à 0.8 et 1.2. Ces règles sont présentes en fin du fichier main.css.

Cordialement,

1 « J'aime »

Bonjour,

Merci pour ces informations, j’ai rajouté cela à mon styler et effectivement, c’est mieux !

Pour le redimensionnement, il faut que je modifie le main directement du coup ? Ou une surcharge du skin.css peut fonctionner ? Je viens d’essayer d’ajouter ça :

div.binCap_co > img {
	-psp-sc-stf-max-shrink: 0.4;
	-psp-sc-stf-max-expand: 1.8;
}

C’est volontairement exagéré pour voir mais ça n’a pas l’air de faire qqch. Je dois mal m’y prendre…

Cordialement

Désolé, je viens de remarquer que nous avons également un problème sur l’application de cette règle de redimensionnement. Nous allons le corriger.
Vous pouvez ajouter cela dans votre skin pour qu’elle s’applique :

div.binCap_co > img {
  display: block;
  margin-inline: auto;
}
1 « J'aime »

Oui, une surcharge dans le skin.css fonctionnera.

C’est top ! Un grand merci pour toutes tes réponses !

Une dernière chose (promis j’arrête d’abuser après :slight_smile: ) :
Est-il possible d’avoir une « règle » qui dirait que, si après un titre, j’ai moins de 2 lignes, j’envoie ce titre en page suivante ?

Pour éviter ce genre de choses :

J’ai bien vu les page-break-before, mais je ne sais pas comment traduire le reste de ma demande avec ça.

Peut-être que ce n’est pas faisable, je pense qu’il doit être difficile d’avoir pile poil ce qu’on veut en mélangeant toutes ces règles.

Merci encore ! :slight_smile:

Il est possible d’arriver à une règle équivalente, mais basée sur la hauteur avant le point de coupe plutôt que sur le nombre de lignes.
Par exemple, en ajoutant cela (que nous allons sûrement mettre en standard) :

.bloc {
	break-inside: -ps-avoid-if-below(3cm, 2cm);
}

Le premier paramètre (3cm) défini la hauteur complète du bloc en dessous de laquelle les coupes sont interdites. Le second paramètre (2cm), qui nous intéresse, concerne quant à elle la hauteur avant le point de coupe.

Sur votre cas, la hauteur de la première ligne de votre bloc ne dépassera pas les 2cm et le saut de page à l’intérieur du bloc Information sera alors interdit. Avec la règle de solidarité titre/contenu, le titre de la partie le suivra sur la page suivante.

1 « J'aime »

C’est parfait :star_struck: !

Un grand merci une nouvelle fois pour tous ces détails !

Bonne journée.

Cordialement,
Corentin

PS : dommage qu’on ne puisse pas citer plusieurs messages comme résolvant le sujet, car j’ai débordé un peu sur la demande initiale :yum: