EvoPDF
HTML到PDF转换库(http://www.evopdf.com/)声称它支持
Windows Azure云平台,但是我无法让它工作.我得到了例外:
[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,Boolean fromUrl) +61 EvoPdf.HtmlToPdf.PdfConverter.SavePdfFromUrlToStream(String url,Stream outPdfStream) +20
这看起来像是在图书馆通过网络请求获取HTML内容时失败了. Azure中是否存在阻止传出Web请求的内容?
该库被部署为两个DLL,一个本机DLL和一个托管程序集 – 是否需要任何特殊的Azure配置才能加载本机DLL? (该库确实支持xcopy部署,我在其他托管环境中以这种方式工作).
从我可以看到您需要使用和Azure Web角色而不是Azure网站.这些网站不支持以完全信任方式运行.
http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to-use-which.aspx
EvoPdf有一个Azure示例项目,您可以下载该项目,演示如何使用可以运行EvoPdf dll的站点设置Web角色.