Images not working in dompdf
What is dompdf? Well basically its a HTML to PDF converter. It's rendering engine is built in PHP and is style-driven which means it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements.
I won't go into detail of how to use it (unless you want me to or would like to write about it), but recently I had an issue with images not rendering in the pdf. At first I thought it was a permissions problem, then I thought it was an image type problem. It turns out it was a file location issue.
instead of the file location being:
<img src="images/myimage.jpg" style="width:200px;height:200px">
It should be:
<img src="/var/www/images/myimage.jpg" style="width:200px;height:200px">
So as you can see it needs to reference the file from the server side file directory and not just from within the web directory.
Wish someone wrote this, when I needed it....

Plurk This Post
Buzz This Post
Delicious
Digg This Post
Ping This Post
Reddit
Stumble This Post

Thank you so much for this! I was cracking my head about this issue, thinking it had something to do with the framework I use – symfony. But then I’ve seen your article and – bing – got it!
The only addition though, in my case I have production and development enviroments on different servers, so I could’t hard-code absolute path. Insead I use php function getcwd() to get absolute path to current directory:
No problem.. I was smashing my head against the wall on this one too.
Glad it helped.
Thank you for sharing how you fixed your issue.
this is a good one, I had that problem, and now it’s solved, but the include image is way too tiny, even though I put the with and size, I have to zoom at 400% just to see that the image is there, that’s not normal
Thanks Guyz. Great help.
This was a great help to me as well. My web directory is set up differently, and it took a couple tries to get it work. Also, one thing that’s good to remember is DPI. PDF is a print file, and by default in the config file set to 150 DPI. Web DPI is 72. I had to increase all image dimensions by 48% in order to get them to the same dimensions.
Thanks! Had the same issue, in 0.5 you could put the http:// address in for an image but not the beta!
I solved the problem by defining the variable base_path:
$dompdf = new DOMPDF();
$dompdf->set_base_path(“../path/images/”);
…
with
…
with –img src=”image.png”–
the name of image only.
Nice work Emmanuel!
Thanks Guyz. Great help.
If I even attempt to put an img tag in the code, it will not generate the pdf. If I comment out the code with the img tag, it generates the pdf.
Does anyone know why?
Actually you can add the tag in html.. and it will work in the pdf generation too.. For this
1. Either the image should be in the local server and must be referenced like src=”/www/var/..”..
2. Or it can be an ordinary url like “http://google.com/sdf.jpg”… But for this one to work you should enable the DOMPDF_ENABLE_REMOTE to true.. which will be false by default….
Change define(“DOMPDF_ENABLE_REMOTE”, false); to define(“DOMPDF_ENABLE_REMOTE”, true);
thanks for this hint
Stephan