10
votes

Question de pause de la page FPDF

J'utilise PHP et FPDF pour générer un PDF avec une liste d'éléments. Mon problème est que si la liste d'éléments passe sur une deuxième ou une troisième page, je souhaite conserver le nom d'article, la quantité et la description ensemble. En ce moment, cela ira à une deuxième page, mais cela peut séparer tous les détails d'un article particulier. S'il vous plaît aider! XXX


0 commentaires

3 Réponses :


4
votes

On dirait que vous avez quelques options.

Vous pouvez garder une trace de l'endroit où vous êtes sur la page lorsque vous passez par votre boucle et émettez votre propre pause de page lorsque vous manquez d'espace. Cela nécessite que vous utilisiez SETUutopageBreak () pour désactiver les pauses de la page d'automobile.

Une autre méthode consiste à remplacer la méthode acceptepageBreak (). Cette méthode est appelée automatiquement lorsqu'une pause de page sera ajoutée. Vous voudrez retourner false si vous souhaitez serrer une autre ligne sur la page en cours, vous devriez donc garder une trace de laquelle vous imprimez actuellement des détails.


0 commentaires

11
votes

BMB est sur la bonne voie. Voici une solution peu plus détaillée.

Il y a un certain nombre de façons de faire cela, mais vous devrez prendre des décisions en fonction de ce que vous voulez. Si vous avez des lignes pouvant prendre la moitié de la page, cela ne fonctionnera probablement pas le meilleur pour vous, mais si vos lignes sont typiquement d'environ 2 à 5 lignes, c'est une bonne méthode.

Parce que ma première cellule de la ligne est une cellule à plusieurs lignes (multiceller dans FPDF parle) dans ma table, les lignes sont de hauteur dynamique basée sur cette première cellule. Donc, je trouve à quelle hauteur la ligne va être basée sur la largeur de la chaîne et la largeur de la cellule, puis comparez celle de la pièce à gauche de la page, en fonction de la position Y actuelle, de la hauteur de la page et de la marge inférieure: xxx


0 commentaires

-2
votes

Qu'en est-il de la propriété "Page-Pause-Inside"? Je l'ai essayé à l'intérieur d'une table et cela aide.

Je suis codé "Page-Pause-Inside" in-Line CSS Propriété à ma ligne et cette ligne n'a plus cassé lors de son envoi aux pages d'impression, se propageant sur deux pages. Il a été poussé complètement à la nouvelle page ou à gauche sur la précédente. Peut-être que ce n'est pas une solution dynamique (du côté FPDF des choses), mais cela résout toujours le problème.


2 commentaires

Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements d'un auteur, laissez un commentaire sous leur poste - vous pouvez toujours commenter vos propres messages, et une fois que vous avez une réputation suffisante, vous pourrez commenter n'importe quel message.


En fait, cela a fourni la solution dans mon cas. Ajout de la propriété CSS "de la page-intérieure" dans la ligne ou la table, conserve cette ligne / table de rupture lorsqu'elle est envoyée aux pages de l'imprimante et se propage sur les deux pages. Il s'agit d'au moins un correctif codé, sinon dynamique du côté FPDF.