Sitestrikes Shailesh
Sitestrikes Shailesh

Reputation: 67

how to add multiple css file in mpdf

I am trying to convert my html page into pdf format using mpdf. problem is that i am unable to apply more than one css to pdf file.. here is my code of php

<?php
           $html =file_get_contents('mpdf/test.html');
            include("../mpdf.php");
            $mpdf=new mPDF(); 
           $mpdf->SetDisplayMode('fullpage','two');
            // LOAD a stylesheet 1
            $stylesheet = file_get_contents('assets/css/main.css');
            $mpdf->WriteHTML($stylesheet,1);    // The parameter 1 tells that this is css/style only and no body/html/text
          // LOAD a stylesheet 2
            $stylesheetextra = file_get_contents('assets/css/test.css');
            $mpdf->WriteHTML($stylesheetextra ,1);  // The parameter 1 tells that this is css/style only and no body/html/text
            $mpdf->WriteHTML($html,2);
          $mpdf->Output();

            exit;
            ?>

Output it gives doesn't come with test.css . main.css is applying properly to pdf file but test.css doesn't applying.please help me? thanking you in advance

Upvotes: 7

Views: 10199

Answers (3)

Trần Hữu Hiền
Trần Hữu Hiền

Reputation: 1044

(mPDF ≥ 1.0)

use \Mpdf\HTMLParserMode::HEADER_CSS as 2th parameter.

$stylesheet = file_get_contents('assets/css/main.css');
$mpdf->WriteHTML($stylesheet, \Mpdf\HTMLParserMode::HEADER_CSS);

$stylesheetextra = file_get_contents('assets/css/test.css');
$mpdf->WriteHTML($stylesheetextra, \Mpdf\HTMLParserMode::HEADER_CSS);

Link origin

Upvotes: 0

Gustavo Tarchiani
Gustavo Tarchiani

Reputation: 203

You can do it just storing the CSS content in one variable, like this:

$stylesheet  = '';
$stylesheet .= file_get_contents('css/bootstrap.min.css');
$stylesheet .= file_get_contents('css/style.css');
$stylesheet .= file_get_contents('css/impressao_ctr.css');

Upvotes: 8

somdow
somdow

Reputation: 6318

It may be an ugly solution but i ran into a similar problem before. What i did was, since it wasn't a huge problem, i took all the css from the 2nd one i couldn't add, and added it to the "main.css".

Upvotes: 1

Related Questions