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.
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.