The EvoPDF HTML to PDF conversion library (http://www.evopdf.com/) claims it supports the Windows Azure Cloud platform, however I can't get it to work. I get the exception:
[Exception: Could not get conversion result header. Data receive error. Could not receive data. Error code: 109]
EvoPdf.HtmlToPdf.ImgConverter.GetLayoutFromUrl(String url, ps& htmlParseInfo) +622
EvoPdf.HtmlToPdf.PdfConverter.ConvertAndGetPdfDocument(String url, String htmlString, String baseUrl, String internalLinksDocUrl, Boolean fromUrl) +9748
EvoPdf.HtmlToPdf.PdfConverter.ConvertAndSaveToStream(Stream outStream, String url, String htmlString, String baseUrl, String internalLinksDocUrl, Boolean fromUrl) +61
EvoPdf.HtmlToPdf.PdfConverter.SavePdfFromUrlToStream(String url, Stream outPdfStream) +20
This looks like its failing at the point where the library fetches the HTML content via a web request. Is there anything in Azure which prevents outgoing web requests?
The library is deployed as two DLLs, a native DLL and a managed assembly - is there any special Azure configuration required to allow native DLLs to be loaded? (The library does support xcopy deployment, I have it working this way in other hosting environments).
From what I can see you need to use and Azure Web Role and not an Azure Web Site. The sites doesn't support running with Full trust.
http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to-use-which.aspx
EvoPdf have an example project for Azure that you can download that shows how to setup up a Web Role with a site that can run the EvoPdf dll.
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