2017-10-01 3 views
1

Je css essayer de générer des pdf de HTML avec des styles css,Php dompdf ne marche pas travailler avec

J'utilise dompdf pour cela. En CSS, il y a aussi des flotteurs.

Ceci est mon code html et css:

$dompdf = new DOMPDF(); //create object 
//load html with css 
$dompdf->loadHtml('<html> 
<head> 
<style> 
#first_head,#second_head,#content_invoice{width: 100%;} 
.has-65 { 
    width: 65%; 
    float:left; 
} 
#product_invoice_table tr th:last-child, #product_invoice_table tr td:last-child { 
    text-align: right; 
} 
.has-35 { 
    width: 35%; 
    float:right; 
} 
.has-55 { 
    width: 55%; 
} 
.has-45 { 
    width: 45%; 
} 
.clearFix{ 
    float:none; 
    clear:both; 
} 
#second_head{ 
    margin-top: 100px; 
} 

#template_invoice{ 
    padding: 50px 80px 50px 80px; 
    margin: 0 auto; 
    margin-top: 30px; 
    margin-bottom: 30px; 
    font-size: 20px; 
    color: #000!important; 
    font-family: Arial,serif!important; 
} 
#content_invoice{ 
    width: 100%; 
    float: left; 
    margin-top: 150px; 
} 

#product_total_info{ 
    float: right; 
    margin-top: 100px; 
}... 
</style> 
</head> 
<body> 
<div id="template_invoice"> 
    <div id="first_head"> 
     <div id="logo_invoice" class="has-65"> 
      <img src="logo.PNG" width="280px"> 
     </div> 
     <div id="main_header_info" class="has-35"> 
     mandelaugengroup gmbh 
Schaffhauserstrasse 611 
CH - 8052 Zürich 
Tel.: +41 79 205 05 05 
[email protected] 
www.babboe.ch 
MWST/UID-Nr. CHE-254.427.754 
     </div> 
    </div> 
    <div class="clearFix"></div> 
    <div id="second_head"> 
     <div id="lead_address" class="has-65"> 
      <span id="lead_name">ghmgmgm</span><br> 
      <span id="lead_street">mhgmhm</span><br> 
      <span id="lead_postcode_city">mbmbmjggjg</span><br> 
     </div> 
     <div id="lead_invoice_info" class="has-35"> 
      <div class="span_padding_invoice"> 
      <span class="invoice_main_span">Rechnungs-Nr.</span> 
      <span id="lead_rechnungs_nr" class="right-clmn-span">jghghjgh</span> 
      <br> 
      </div> 
      <div class="span_padding_invoice"> 
      <span class="invoice_main_span">Kunden-Nr.</span> 
      <span id="lead_kunder_nr" class="right-clmn-span">ghjgvj</span> 
      <br> 
       </div> 
      <div class="span_padding_invoice"> 
      <span class="invoice_main_span">Datum</span> 
      <span id="invoice_datum" class="right-clmn-span">hhhhhhh</span> 
      <br> 
       </div> 
      <div class="span_padding_invoice"> 
      <span class="invoice_main_span">Fallig am</span> 
      <span id="invoice_falling_am" class="right-clmn-span">bjbbb</span> 
      <br> 
       </div> 
      <div class="span_padding_invoice lead_total_container"> 
       <span class="invoice_main_span total_bold">Total</span> 
       <span id="lead_total" class="right-clmn-span">iljkkj</span> 
       <br> 
      </div> 
     </div> 
    </div> 
    <div id="content_invoice"> 
    ... 
     <table id="product_invoice_table" width="100%"> 
     .... 
     </table> 
    </div> 
    <div class="has-65"></div> 
    <div id="product_total_info" class="has-35"> 
     <div class="span_padding_invoice lead_total_container"> 
     <span class="invoice_main_span">Total exkl.MWST</span> 
     <span class="right-clmn-span">CHF <span id="total_sum"></span></span> 
     </div> 
     <div class="span_padding_invoice"> 
     <span class="invoice_main_span" id="mwst_num"></span> 
     <span class="right-clmn-span">CHF <span id="total_percant"></span></span> 
     <br> 
      </div> 
     <div class="span_padding_invoice lead_total_container_bold"> 
     <span class="invoice_main_span">Total</span> 
     <span class="right-clmn-span">CHF <span id="total_end"></span></span> 
      <br> 
      </div> 
    </div> 
    <div id="footer_invoice"> 
    ... 
    </div> 
</div> 
</body> 
</html>'); 
$dompdf->render(); 
$dompdf->stream("hello.pdf"); 

Mais mon travail ne marche pas bien css. J'ajoute css comme. Je obtenir ce résultat:

result

Alors, comment puis-je résoudre ce problème? Peut-être que je dois définir quelques paramètres pour mes css ou settinhs pour la page? Merci pour toute aide.

+0

Avez-vous trouvé une solution? Était-ce l'attribut float? –

Répondre

0

Je suis assez sûr que float est la cause du problème

Selon la version dompdf vous pouvez utiliser def("DOMPDF_ENABLE_CSS_FLOAT", true); dans dompdf_config.inc.php mais ce n'est pas une bonne pratique

Je suggère à utilisez display:inline-block ou même position:absolute qui sont entièrement compatibles.