I am trying to integrate evoPDF on my asp.net app. I am sending part of html from my html file onclick through ajax. Everything works fie till this part. Now, when I invoke these methods from EvoPdf API.
1. GetPdfBytesFromHtmlStream(Stream, Encoding,urlbase)
2. SavePdfFromHtmlStringToFile(String html,string filename,urlbase)
My html chunk I am sending is something like
<ol class = "lol">
<li> HEY </li>
<li> Now </li>
</ol>
The Css which is in the external file is something like
.lol {
background-color: red;
}
According to the documentation the third argument must be the full url of the originial Html where you extracted the chunk of the html. I uploaded my app in the web since trying localhost/3232 didn't work. But, I can't see any CSS being applied in the generated Html. In the documentation they also recommended to append
<HEAD> <BASE HREF="full url to your html file"> </HEAD>
And, use this method.
pdfConverter.GetPdfBytesFromHtmlString(String html);
Nothing I tried above applies CSS. Any thoughts....
While it's possible to have the html in an external file with evoPDF, I don't recommend it. Instead just inline the styles in the head of the document. When we were setting up the PDF generator for Careers 2.0, I remember that the urls had to be live urls, behind a web server, not just relative link in the same directory structure. There is also a timeout in evo pdf that can cause loss of images if loading takes too long, which also plays nicer with inline everything.
I also recommend passing it fully valid html, not just the snippets you need to generate the view. Behind the scenes (in our version of evoPDF at least), it's just hoisting a browser instance and taking a screenshot. They render a little differently depending on the doctype.