Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class PdfSablona
- {
- private $kodovani;
- private $stitky = array();
- public function __construct($kodovani = "UTF-8")
- {
- $this->kodovani = $kodovani;
- }
- public function pridejStitek($kod, $pocetSloupcu, $opakovani)
- {
- $this->stitky[] = new Stitek($kod, $pocetSloupcu, $opakovani);
- }
- public function vratStitky()
- {
- return $this->stitky;
- }
- public function vygenerujHtml()
- {
- $html = "";
- $html .= "<html>
- <head>
- <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />
- <style type=\"text/css\">
- .column-left{ font-size: 22px; text-align:center; float: left; width: 51%; border-bottom: 1px dotted black; padding-left:0px; padding-top: 7px; padding-bottom: 6px;}
- .column-right{ font-size: 22px; text-align:center; float: right; width: 48%; border-bottom: 1px dotted black; padding-left:0px; padding-top: 7px; padding-bottom: 6px;border-left: 1px dotted black;}
- .column{ font-size: 22px; text-align:center; width: 100%; border-bottom: 1px dotted black; padding-left:0px; padding-top: 7px; padding-bottom: 6px;}
- </style>
- </head>
- <body>
- <div class=\"wrap\">
- ";
- foreach ($this->stitky as $stitek) {
- $kod = $stitek->vratKod();
- for ($i = 0;$i < $stitek->vratOpakovani(); $i++) {
- if($stitek->vratPocetSloupcu() == 1){
- $html .= "<div class=\"column\">" . $kod . "</div>";
- } else{
- $html .= "<div class=\"column-left\">" . $kod . "</div>";
- $html .= "<div class=\"column-right\">". $kod . "</div>";
- }
- }
- }
- $html .= "
- </div>
- </body>
- </html>
- ";
- return mb_convert_encoding($html, $this->kodovani);
- }
- public function __toString()
- {
- $html = $this->vygenerujHtml();
- return $html;
- }
- }
- class Stitek
- {
- private $kod;
- private $opakovani;
- private $pocetSloupcu;
- public function __construct($kod, $opakovani, $pocetSloupcu)
- {
- $this->kod = $kod;
- $this->opakovani = $opakovani;
- $this->pocetSloupcu = $pocetSloupcu;
- }
- public function vratKod()
- {
- return $this->kod;
- }
- public function vratOpakovani()
- {
- return $this->opakovani;
- }
- public function vratPocetSloupcu()
- {
- return $this->pocetSloupcu;
- }
- }
- // use case
- $sablona = new PdfSablona("UTF-8");
- $pole = [];
- $pole[] = '16561-1-5';
- $pole[] = 'asda5s5464-2-2';
- $pole[] = 'asvsdvd4-2-8';
- foreach ($pole as $klic => $hodnota)
- {
- $hodnoty = explode('-', $hodnota);
- $sablona->pridejStitek($hodnoty[0], $hodnoty[1], $hodnoty[2]);
- }
- $pdf = new mPDF('utf-8', array(100,128), '','',0,0,2,0,0,0);
- $pdf->WriteHTML($sablona); // díky metodě __toString() to může být přímo takhle, případně by se dalo i $sablona->vygenerujHtml()
- $content = $pdf->Output('');
- file_put_contents("temp/a.pdf",$content);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement