Debenu PDF在localhost上的工作在azure上失败

时间:2016-07-25 08:55:51

标签: c# asp.net azure pdf azure-web-sites

我正在使用Debenu PDF Library从pdf文件中提取页面。我就是这样做的,

var pdflib = new PDFLibrary(LoadDll());
int result = pdflib.UnlockKey("UNLOCKKEYISHERE");

AzureStorageWrapper sasWrapper = new AzureStorageWrapper(ConfigurationManager.AppSettings["AzureStorageConnection"], "cont1");
byte[] blob = sasWrapper.GetBlob("file.pdf");

pdflib.LoadFromString(blob, "");
byte[] page = pdflib.RenderPageToString(50, 1, 1);

当我在本地计算机上运行它时,它可以正常工作(PDF文件的第一页到达page字节数组。)

但是在将此作为Azure Web App page发布后,会得到一些无用的字节串。

任何人都可以向我解释为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

您已达到Azure App Service沙盒运行时exectution限制。

来自https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-frameworks

  

不支持的框架

     

以下列出了由于上述一项或多项限制而无法使用的框架和方案。可以想象,随着沙箱的发展,将来会支持一些人。

     

PDF生成器由于上述限制而失败:

     

EVOPDF
  Rotativa
  wkhtmltopdf
  Syncfusion
  Siberix
  NReco(使用wkhtmltopdf)
  Spire.PDF

     

其他情况:
  PhantomJS / Selenium:尝试连接到本地地址,也使用GDI +。

可以肯定地说,您可以将 Debenu PDF 添加到该列表中。

然而,有人提到一些GDI呼叫可能在App Service中的基本/标准定价层上工作。如果您目前使用免费/共享,那么值得一试。

App Service的替代方案,用于运行使用GDI / GDI +的东西:

  • Web /工作者角色(云服务)
  • Service Fabric
  • IaaS虚拟机

这里有类似的问题: What could cause EvoPDF "unable to render html" exception when deployed to Azure Website