Question

Je suis en train de générer un fichier PDF dynamique, qui contient des données d'environ 10 000 utilisateurs, en général l'application est développée en utilisant MySQL et PHP. Le contenu dynamique est tellement lourd que je l'ai trouvé difficile de traiter avec classe fpdf(). Donc, je me suis converti ma sortie page PHP en tant que fichier HTML en utilisant ob_get_clean(). Maintenant, le fichier HTML est généré et également le fichier pdf. Mais je veux laisser un saut de page après les données de chaque utilisateur, qui est les données de chaque utilisateur doit commencer dans une nouvelle page. Je ne pouvais pas utiliser des balises HTML parce que, dans le fichier HTML généré dynamiquement, tout est hors des balises <html> et </html>. S'il vous plaît aidez-moi pour que certains comment je fais un saut de page dans le fichier pdf après les données de chaque utilisateur ... Merci à l'avance:)

Était-ce utile?

La solution

Je viens de comprendre ceci après avoir le même problème. l'analyseur qu'ils utilisent la balise pris en charge par la page-break-after, mais le html2pdf ne fonctionne pas.

Je pense que je l'ai travail en faisant les modifications suivantes à html2pdf.class:

autour de la ligne 4174, la première chose à l'intérieur:

protected function _tag_close_P($param){

devrait être:

   if($this->parsingCss->value['page-break-after'] == "always")
        $this->_setNewPage();

autour de la ligne 2961, la première chose à l'intérieur:

protected function _tag_close_DIV($param, $other='div'){

devrait être:

 if($this->parsingCss->value['page-break-after'] == "always")
        $this->_setNewPage();

Autres conseils

HTML2PDF supports tag:

protected function _tag_open_PAGE($param) {} 

à la ligne 2229. Vous pouvez y voir quels attributs sont pris en charge. Par exemple suivant crée une page dans le paysage et un en mode portrait:

<page orientation="l">
... some content ...
</page>
<page orientation="p">
... some content ...
</page>

Baser sur le travail de macdabby (qui ne fonctionne pas). Mais grâce à lui, l'idée est correcte.

HTML2PDF 4.03

Par exemple, nous voulons analyser une balise DIV:

ligne html2pdf.class.php 2948:

protected function _tag_close_DIV($param, $other='div')
{
    if ($this->parsingCss->value['page-break-after'] == "always")
      $this->_setNewPage(null, '', null, $this->_defaultTop);
      $this->parsingCss->setPosition();
    ...
}

parsingCss.class.php Ligne 114:

//add a new style declaration
public function initStyle()
{
    ...
    $this->value['page-break-after'] = null;
}

Ligne 1024 ajouter un nouveau gestionnaire pour le cas du commutateur:

case 'page-break-after':
    $this->value[$nom] = $val;
    break;

Et puis pour que cela fonctionne, votre contenu HTML doit contenir l'élément de rupture

 <div style="page-break-after:always; clear:both"></div>

Méfiez-vous des cas de style sensible, pas sûr que le plugin manipuler

Vous voulez peut-être utiliser certains css, par exemple:

h1 {page-break-before:always}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top