I am using Symfony2 Bundle KnpSnappyBundle to convert an html twig template to a pdf.
KnpSnappyBundle is base on Snappy wrapper, that use wkhtmltopdf.
My template use twitter bootstrap 2.3.2 css like this :
<div class="container">
<div class="row">
<div class="span12">
<h4>TITLE</h4>
</div>
</div>
<div class="row">
<div class="span6" id="customers">
<h5>TITLE</h5>
<p>TEXT</p>
<ul class="unstyled">
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
</ul>
</div>
<div class="span6" id="estimate">
<h5>TITLE</h5>
<ul class="unstyled">
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
</ul>
</div>
</div>
</div>
Problem : the customers and estimate spans are not on the same line as they should be. I don't know what is going on.
With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.
At Twitter, Bootstrap has quickly become one of our many go-to front-end tools when starting new applications and sites.
Twitter Bootstrap is a front end framework to develop web apps and sites fast. In modern web development, there are several components which are required in almost all web projects. Bootstrap provides you with all those basic modules - Grid, Typography, Tables, Forms, Buttons, and Responsiveness.
Here is solution for Bootstrap3: Use .col-xs-n always.
The reason is wkhtmltopdf didnt support css in @media block. In bootstrap3, only col-xs-n rule outside @media block.
I've checked the bootstrap2.3.2 css, seems spanN rules always be inside @media block.
So an ugly solution would be copied out all spanN rules into top level to another css file and included it into html.
I know that this question is old but this problem still occurs. In a recent Laravel 5.8 and Twitter Bootstrap 4.0.0 project. I managed to use .col-md .col
and getting perfect results by doing the following:
In adding --viewport-size 1024x768
argument on config/snappy.php
'pdf' => array(
'enabled' => true,
'binary' => "C:\wkhtmltopdf\bin\wkhtmltopdf --viewport-size 1024x768",
'timeout' => false,
'options' => array(),
'env' => array(),
)
Then on your view use .col-md
or .col
without any problems.
Note, include Bootstrap 4
to your HTML using public path.
//Laravel
<link rel="stylesheet" href="{{public_path('css/bootstrap4/bootstrap.min.css')}}">
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With