reklama

HTML do PDF pomocí mPDP

ZAJDAN

  • *****
  • 1 950
    • Zobrazit profil
    • E-mail
HTML do PDF pomocí mPDP
« kdy: 12. 07. 2013, 12:05:13 »
Ahojte,
prosím Vás nemátě někdo zkušenosti s PHP knihovnou mPDF, která exportuje HTML,PHP stránky do PDF?....
nedaří se mi to rozhodit
« Poslední změna: 12. 07. 2013, 13:30:06 od Petr Krčmář »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

reklama


ZAJDAN

  • *****
  • 1 950
    • Zobrazit profil
    • E-mail
Re:mPDP - PHP knihovna pro vytvoření PDF z HTML
« Odpověď #1 kdy: 12. 07. 2013, 12:38:57 »
abych to upresnil:
Debian 6 + LAMP
step 1) nakopiroval jsem slozku knihoven mPDF do /usr/share/php5/MPDF65
step 2) v souboru php.ini jsem zavedl cestu ke knihovne: include_path = ".:/usr/share/php5/MPDF56/"
step 3) v html strance jsem si vytvoril submit tlacitko:
Kód: [Vybrat]
<form action="/create-pdf.php" method="post" class="pdf" id="form-pdf">
<p><input type="submit" name="pdf" value="create PDF" /></p>
</form>
step 4) a nakonec vytvoril samotnou php stranku na kterou odkazuji v submitu(action), ktera obsahuje:
Kód: [Vybrat]
<?php
include('../mpdf.php');

$mpdf=new mPDF();
$mpdf->WriteHTML('<p>Hallo World</p>');
$mpdf->Output();
 
exit;

?>

step 5) restartoval LAMP server
step 6) vyzkoušel funkčnost, ale vygeneruje se mi blank (bílá) stránka
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

David

Re:HTML do PDF pomocí mPDP
« Odpověď #2 kdy: 12. 07. 2013, 23:15:07 »
Pouzivame to v projektu postavenem na Nette, takze vlastni html stranky ziskame pomoci Latte sablony
Funguje mi tento postup:
Kód: [Vybrat]
$latte = Latte sablona

Naplneni sablony

$html = '<html><body>';
$html .= $latte->getHTML(); - tady si dej napr. to svoje '<p>Hallo World</p>' nebo jakykoliv jiny uzitecny obsah
$html .= '</body></html>';

$mpdf = ziskani instance mPDF (coz ti funguje, kdyz ziskas pdf ;-) )

$mpdf->resetMPDFInstance();
$mpdf->setCSS(file_get_contents(main.css'));
$mpdf->setHTML($html);
return $mpdf->getPDF();
Postup vymyslel kolega, ja to od nej pouze zkopiroval...

A nasledne ve volajici metode
Kód: [Vybrat]
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename=ha-loo_dobijeci_kupony_'.$this->customerCli->getCislo().'.pdf');
header("Content-Transfer-Encoding: binary");
header('Content-Type: '.$pdf->getContentType()); // $pdf obsahuje navratovou hodnotu z mpdf (tedy to $mpdf->getPDF(); )
echo $pdf->getData(); - tim poslu klientovi pdf dokument

Myslim si, ze ti tam proste chybi <html> a <body> :-)

Kolesova plavkyně

Re:HTML do PDF pomocí mPDP
« Odpověď #3 kdy: 13. 07. 2013, 10:03:11 »
Myslim si, ze ti tam proste chybi <html> a <body> :-)
To jsou odjakživa nepovinné HTML tagy a pokud mPDF není bazmek, tak by se měl s jejich nepřítomností vypořádat.

Re:HTML do PDF pomocí mPDP
« Odpověď #4 kdy: 13. 07. 2013, 18:19:22 »
mpdf vypada jednoduseji ze sezere html, ale ja od nej dycky utekl ke "slozitejsimu" tcpdf. nebo druha varianta je wkhtmltopdf.
Děkuji za možnost editace příspěvku.

reklama


ZAJDAN

  • *****
  • 1 950
    • Zobrazit profil
    • E-mail
Re:HTML do PDF pomocí mPDP
« Odpověď #5 kdy: 15. 07. 2013, 11:05:59 »
díky hoši...
já nesjem vůbec zkušený programátor naopak amatér, ale tipuji, že jsem to dělal špatně už z toho důvodu, že zápis volající mPDF jsem měl uplně oddělen od souboru kde se nachází html obsah který by se měl dostat do PDF.
V mém případě mám formulář který se odešlě sem:
Kód: [Vybrat]
<!doctype html><html itemscope="itemscope" itemtype="http://schema.org/WebPage">
<link href="images/ERKA-favIcon-64.png" rel="icon" type="image/png" />
<head>
<title>ERKA form</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>


<body>

<?php
 
?>

<style type="text/css">

.outputForm {
float:left;
margin-right:15px;
margin-left:15px;
margin-top:5px;
margin-bottom:5px;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
}
.outputFormText {
float:left;
margin-left:5px;
margin-right:5px;
margin-top:5px;
margin-bottom:1px;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 16px;
}

.outputFormImage-type-1 {
float:left;
margin-left:50px;
margin-right:10px;
margin-bottom:5px;
}
</style>


<div style="max-width: 595px; height: 1600px; margin-left: auto; margin-right: auto; background-color:white; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">

<?php
  $kunde 
=  $_POST['kunde'];
  
$adresse =  $_POST['adresse'];
  
$I =  $_POST['I'];
  
$type =  $_POST['cabinetType'];
  
$abteilen =  $_POST['abteilen'];
  
$breite =  $_POST['breite'];
  
$tiefe =  $_POST['tiefe'];
  
$hoehe =  $_POST['hoehe'];
  
$shelf =  $_POST['facheinlage'];
  
$sockel =  $_POST['sockel'];
  
$deckel =  $_POST['deckel'];
  
$door =  $_POST['turen'];
  
$doorDirection =  $_POST['door-direction'];
  
$locking =  $_POST['ArtVerriegelung'];
  
$lockwasher =  $_POST['lockwasher'];
  
$lock =  $_POST['lockType'];
  
$mainKey =  $_POST['Haupt-Schlussel-Anlage'];
  
$centralLock =  $_POST['ZentralschlossAnlage'];
  
$backside $_POST['backSide'];
  
$colorKorpus $_POST['colors-korpus'];
  
$colorDoor $_POST['colors-door'];
  
$numeration $_POST['numeration'];
  
$tob $_POST['tob'];
  
$sheetKorpus $_POST['sheet-korpus'];
  
$sheetDoor $_POST['sheet-door'];

  
  {
//  *********************************************************************** CUSTOMER ************************************************************** \\
echo '<div id="output-customer" style=" background-color:red; width:auto; height:auto; padding-left: 10px; padding-top:10px; padding-bottom:10px; margin-bottom:10px;  border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; ">
<div style="background-color:#E8E8E8 ; width:200px; height:auto; padding-left: 10px; border-width:thin; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; ">
<p style="font-size:20px; margin-left:1px; margin-top:0px; margin-bottom:0px; ">Customer:</p> </br>
<p style="font-size:20px; margin-left:1px; margin-top:0px; margin-bottom:0px; ">' 
$kunde ' </p> 
<p style="font-size:20px; margin-left:1px; margin-top:0px; margin-bottom:1px; ">' 
$adresse ' </p>
     </div>
     <img src="../images/logo/ERKA-logo.svg" style="float:right; margin-top: -100px; margin-right:10px; "></img>
</div>'


//  ******************************************************************** TYPE of CABINET *********************************************************   \\
if ($type == "Z1E_I30_100" && $abteilen == "1") { 
echo 
'
<div style="font-size: 10px;  margin-left: 15px; margin-right: 15px; padding-left: 3px; padding-right: 3px; border-width: 2px; border-style: solid; ">
 ' 
$type',' $I ',' $doorDirection ',' $abteilen ',' $breite ',' $tiefe ',' $hoehe ',' $door ',' $locking ',' $lockwasher ',' $lock ',' $mainKey ',' $centralLock ',' $sockel',' $deckel ' , ' $colorKorpus ' , ' $colorDoor' , ' $numeration' , ' $tob', ' $sheetKorpus', ' $sheetDoor'</div>
<div class="outputForm" style="width:560px; height:300px;  border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
                <div class="outputFormText">SCHRANKE TYPE: </br>
<p style="font-size: 13px;  margin-left: 1px; ">Garderobe Z1E I30 geschweiste</p>
     <p style="font-size: 13px;  margin-left: 1px; ">Türen einschlagend</p>
     <p style="font-size: 13px; margin-left: 1px; ">Inneneirichtung: ' 
$I '</p>
     <p style="font-size: 13px; margin-left: 1px; ">ABTEILEN: ' 
$abteilen '</p>
     <p style="font-size: 13px; margin-left: 1px; ">Breite: ' 
$breite '</p>
     <p style="font-size: 13px; margin-left: 1px; ">Tiefe: ' 
$tiefe '</p>
     <p style="font-size: 13px; margin-left: 1px; ">Hoehe: ' 
$hoehe '</p></div>
     <div class="outputFormImage-type-1"> 
     <img src="/images/cabinets-de/parts/outputForm/Z1E_I30/Z1E_I30_100_1.svg" >
</div>
</div>
'
}

else if (
$type == "Z1E_I30_100" && $abteilen == "2") { 
echo 
'
<div style="font-size: 10px;  margin-left: 15px; margin-right: 15px; padding-left: 3px; padding-right: 3px; border-width: 2px; border-style: solid; ">
 ' 
$type',' $I ',' $doorDirection ',' $abteilen ',' $breite ',' $tiefe ',' $hoehe ',' $door ',' $locking ',' $lockwasher ',' $lock ',' $mainKey ',' $centralLock ',' $sockel',' $deckel ' , ' $colorKorpus ' , ' $colorDoor' , ' $numeration' , ' $tob', ' $sheetKorpus', ' $sheetDoor'</div>
<div class="outputForm" style="width:560px; height:300px;  border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
                <div class="outputFormText">SCHRANKE TYPE: </br>
<p style="font-size: 13px;  margin-left: 1px; ">Garderobe Z1E I30 geschweiste</p>
     <p style="font-size: 13px;  margin-left: 1px; ">Türen einschlagend</p>
     <p style="font-size: 13px; margin-left: 1px; ">Inneneirichtung: ' 
$I '</p>
     <p style="font-size: 13px; margin-left: 1px; ">ABTEILEN: ' 
$abteilen '</p>
     <p style="font-size: 13px; margin-left: 1px; ">Breite: ' 
$breite '</p>
     <p style="font-size: 13px; margin-left: 1px; ">Tiefe: ' 
$tiefe '</p>
     <p style="font-size: 13px; margin-left: 1px; ">Hoehe: ' 
$hoehe '</p>
     </div>
     <div class="outputFormImage-type-2" style=""> 
     <img src="/images/cabinets-de/parts/outputForm/Z1E_I30/Z1E_I30_100_2.svg" >
</div>
</div>
'
}



//**************************************************************************************************************** \\
//*****************************************************SOCKEL conditions****************************************** \\
//**************************************************************************************************************** \\

//*****************************************************SOCKEL 1 partition **************************************** \\

if  ($sockel == "STD" && $abteilen == "1") {          
    echo 

    <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; ">
     <div class="outputFormText">SOCKEL: ' 
$sockel '</div>
     <div class="outputFormImage"> 
     <img src="/images/cabinets-de/parts/outputForm/sockel/100/SO-STD-100-1.svg" >
</div>
</div>
    
             '
;       
}

else if (
$sockel == "GIRO" && $abteilen == "1") {          
    echo 

    <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">SOCKEL:  ' 
$sockel '</div>
     <div class="outputFormImage"> 
     <img src="/images/cabinets-de/parts/outputForm/sockel/100/SO-GIRO-100-1.svg" >
</div>
</div>
             '
;       
}

//**************************************************************************************************************** \\
//*****************************************************DECKEL conditions****************************************** \\
//**************************************************************************************************************** \\

//*****************************************************DECKEL 1 partition **************************************** \\
if  ($deckel == "STD" && $abteilen == "1") {
    
  echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; ">
     <div class="outputFormText">DECKEL:  ' 
$deckel '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/deckel/deckel-STD-1.svg"></div>
</div>
             '
;       
}          
   
else if (
$deckel == "DEDL" && $abteilen == "1") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DECKEL: ' 
$deckel '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/deckel/deckel-DEDL-1.svg" ></div>
</div>
             '
;    
}              
          
    
//**************************************************************************************************************** \\
//*****************************************************DOOR conditions****************************************** \\
//**************************************************************************************************************** \\
if ($door == "T2") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"><img src="/images/cabinets-de/parts/outputForm/door/door-T2.svg" ></div>
</div>
             '
;      
}
else if (
$door == "T3") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/door/door-T3.svg" ></div>
</div>
             '
;      
}
else if (
$door == "T4") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"><img src="/images/cabinets-de/parts/outputForm/door/door-T4.svg" ></div>
</div>
             '
;      
}
else if (
$door == "T5") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"><img src="/images/cabinets-de/parts/outputForm/door/door-T5.svg" ></div>
</div>
             '
;      
}
else if (
$door == "T6") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"><img src="/images/cabinets-de/parts/outputForm/door/door-T6.png" ></div>
</div>
             '
;      
}
else if (
$door == "T7") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"><img src="/images/cabinets-de/parts/outputForm/door/door-T7.svg" ></div>
</div>
             '
;      
}
else if (
$door == "T8") {          
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">DOOR: ' 
$door '</div>
     <div class="outputFormImage"><img src="/images/cabinets-de/parts/outputForm/door/door-T8.svg" ></div>
</div>
             '
;      
}

//**************************************************************************************************************** \\
//*****************************************************SHELF conditions****************************************** \\
//**************************************************************************************************************** \\

if ($shelf == "F1") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">FACHEINLAGE: ' 
$shelf '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/shelf/shelf-F1.svg" ></div>
</div>
             '
;      
}

else if (
$shelf == "F1-KSTH") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">FACHEINLAGE: ' 
$shelf '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/shelf/shelf-F1-KSTH.svg" ></div>
</div>
             '
;      
}

else if (
$shelf == "F2") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">FACHEINLAGE: ' 
$shelf '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/shelf/shelf-F2.svg" ></div>
</div>
             '
;      
}

else if (
$shelf == "F2-KSTH") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">FACHEINLAGE: ' 
$shelf '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/shelf/shelf-F2-KSTH.svg" ></div>
</div>
             '
;      
}

else if (
$shelf == "F3") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">FACHEINLAGE: ' 
$shelf '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/shelf/shelf-F3.svg" ></div>
</div>
             '
;      
}

else if (
$shelf == "F3-KSTH") {
echo 
     <div class="outputForm" style="width:260px; height:180px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">FACHEINLAGE: ' 
$shelf '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/shelf/shelf-F3-KSTH.svg" ></div>
</div>
             '
;      
}

//**************************************************************************************************************** \\
//*****************************************************BACKSIDE conditions****************************************** \\
//**************************************************************************************************************** \\

if  ($backside == "DL" && $abteilen == "1") {
echo 
     <div class="outputForm" style="width:260px; height:200px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">RÜCKWAND: ' 
$backside '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/backside/backSide-G_DL-1.svg" ></div>
</div>
             '
;      
}

else if (
$backside == "DL" && $abteilen == "2") {
echo 
     <div class="outputForm" style="width:260px; height:200px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">RÜCKWAND: ' 
$backside '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/backside/backSide-G_DL-2.svg" ></div>
</div>
             '
;      
}

else if (
$backside == "DL" && $abteilen == "3") {
echo 
     <div class="outputForm" style="width:260px; height:200px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">RÜCKWAND: ' 
$backside '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/backside/backSide-G_DL-3.svg" ></div>
</div>
             '
;      
}

else if (
$backside == "DL" && $abteilen == "4") {
echo 
     <div class="outputForm" style="width:260px; height:200px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">RÜCKWAND: ' 
$backside '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/backside/backSide-G_DL-4.svg" ></div>
</div>
             '
;      
}

if 
($backside == "LE" && $abteilen == "1") {
echo 
     <div class="outputForm" style="width:260px; height:200px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">RÜCKWAND: ' 
$backside '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/backside/backSide-G_LE-1.svg" ></div>
</div>
             '
;      
}

else if (
$backside == "LE" && $abteilen == "2") {
echo 
     <div class="outputForm" style="width:260px; height:200px; border-width: 1px; border-style: solid; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;">
     <div class="outputFormText">RÜCKWAND: ' 
$backside '</div>
     <div class="outputFormImage"> <img src="/images/cabinets-de/parts/outputForm/backside/backSide-G_LE-2.svg" ></div>
</div>
             '
;      
}



}

?>


</div>
</body>
</html>
ale kam přesně mám zapasovat bloky pro mPDF mi uplně jasné není
děkuji
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

bydga

Re:HTML do PDF pomocí mPDP
« Odpověď #6 kdy: 16. 07. 2013, 16:40:53 »
Hele nakonec jsme přešli z mpdf na phantomjs. Časem narazíš na spoustu věcí (float, pozicování, marginy), co mpdf zobrazí jinak/špatně.

Phantom funguje tak, že si na serveru webkitem vyrenderuje page (nepotřebuješ X), vyfotí ji a uloží do pdf/png. Máš u toho jistotu, že víš jak se to renderuje (jako chrome), takže se nemusí dělat mpdf-related hacky..


ZAJDAN

  • *****
  • 1 950
    • Zobrazit profil
    • E-mail
Re:HTML do PDF pomocí mPDP
« Odpověď #7 kdy: 01. 08. 2013, 20:40:39 »
dival jsem se na ten PhantomJs a pustil si také toto video:
http://www.youtube.com/watch?v=omUoFGMxRPI

původně jsem myslel, že to bude tak jak píšeš "že si ofotí celou html page a exportne do pdf", ale to asi nebude uplně pravda
existuje tedy metoda, která by tu stránku skutečně vzala tak jak je a udělal PDF?
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 1 950
    • Zobrazit profil
    • E-mail
Re:HTML do PDF pomocí mPDP
« Odpověď #8 kdy: 06. 09. 2013, 11:20:51 »
vyřešeno...nyní mPDF šlape jak má...celej problem byl v cestách k mpdf

namísto include('../mpdf.php'); jsem zapsal include('MPDF56/mpdf.php');
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 1 950
    • Zobrazit profil
    • E-mail
mPDF - export HTML do PDF
« Odpověď #9 kdy: 12. 09. 2013, 19:29:19 »
čau hoši...
nyní už se mi daří generovat PDFka, ale mám podivnej problém ohledně css floatingu viz následující link:
http://193.165.148.74/mpdf_floating.jpg
nemáte někdo zkušenost s používáním mPDF a komplikovanějších css?
díky za každou radu
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

 

reklama