Je crée un PDF dynamique dans ColdFusion et avoir un problème avec "Pagebreak". La page en question pourrait avoir 1 enregistrement, ou jusqu'à 60 enregistrements. Chaque enregistrement est affiché dans 2 rangées d'une table. Certains des enregistrements retournés sont en cours de scission entre les pages (première ligne est à la fin de la première page, la deuxième ligne est la rangée supérieure de la suivante).
Un enregistrement d'échantillon dans HTML affiché: p> par demande client, J'essaie d'afficher = <9 enregistrements par page strong>. P> Voici un échantillon d 'éteint de quelque chose que j'ai essayé: p> Cela ne fonctionne pas, (il ne cache que le 9ème enregistrement) em>. J'ai essayé plusieurs idées différentes et je suis actuellement excitée. Suis-je en regardant quelque chose? P> Merci d'avance. P> Coldfusion MX 7.
(J'ai également exécuté la solution chaude pour le numéro de coupe de texte. http: //kb2.adobe .com / cps / 402 / kb402093.html ) em> p> p>
4 Réponses :
Essayez d'ajouter un Par exemple, P > style = "page-intérieure: évitez;" code> à n'importe quel élément que vous ne voulez pas être divisé entre 2 pages.
<tr style="page-break-inside: avoid;">
<td>#Title#</td><td>#Price#</td>
<td colspan="2">#Description#</td>
</tr>
La propriété page-intérieure Code> CSS fonctionne uniquement pour Opera w3schools.com /cssref/pr_print_pagebi.asp
@Jonathanwilson La question ne concerne pas le rendu à un navigateur, mais à un fichier PDF à l'aide de cf. J'ai été témoin (il y a plus de 2 ans), cela fonctionne correctement en utilisant cf.
Oh. J'en ai mal compris ça.
Vous cachez le 9ème enregistrement parce que vous choisissez entre l'affichage et le montrant:
<cfoutput query = "sqllookup"> <!--- this is the 9th row, because 9 mod 9 is 0 ---> <cfif not sqllookup.currentrow mod 9> <cfdocumentitem type="pagebreak" /> </cfif> <tr> <td>#Title#</td><td>#Price#</td> <td colspan="2">#Description#</td> </tr> </cfoutput>
Après la lutte avec ce problème sur et éteint depuis plusieurs mois, j'ai découvert que j'allume le contenu d'un Note sur les lignes avec plusieurs cellules: une seule division TD-nichée est suffisante pour provoquer le comportement ci-dessus pour toute la ligne. p>
Dans mes tests avec CF10 (bien que je pense que le moteur CFDocument n'a pas changé depuis CF8), le rendu semble maintenir des lignes ensemble s'ils sont trois ou quatre lignes de hauteur et les divisent à un moment donné. Cette solution div a fonctionné pour des lignes légèrement plus hautes - peut-être que l'algorithme pondère des éléments de niveau des blocs et essaie de les maintenir ensemble, de sorte que les tables de nidification à l'intérieur de vos tables puissent décourager les pauses de la page (Aïe!) Pour moi, après avoir essayé toutes les astuces et les allow de forum, etc. - la seule chose qui fonctionnait dans CF8 pour des blocs de code plus importants (y compris les images, les tables, le bloc div, etc.) est la suivante: P>
envelopper la pièce de rupture de non page avec p>
mais un qui a fonctionné, l'enfer sait pourquoi ... p> TD code> avec un
div code> (c.-à-d. code> < TR>
votes
super simple code> après avoir dans une nouvelle ligne (en code)
E.g. P>
CODE> P> LI>
ul>
Pas vraiment une réponse, mais une supposition. Avez-vous essayé de fermer la balise de table après 9 enregistrements et créez la nouvelle table pour une nouvelle page? Le seul problème est que pour le long texte, vous aurez besoin de moins de lignes, cela peut nécessiter une certaine len () - Dressery.