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

本文关键字:失败 azure 工作 localhost PDF Debenu | 更新日期: 2023-09-27 17:58:33

我正在使用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应用程序后,page会得到一些无用的字节串。

有人能向我解释一下为什么会这样吗?

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

您遇到了Azure应用服务沙箱运行时执行限制。

发件人https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-框架:

不支持的框架

以下是由于上述一个或多个限制而被发现不可用的框架和场景的列表。可以想象,随着沙盒的发展,一些将在未来得到支持。

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

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

其他场景:
PhantomJS/Senium:尝试连接到本地地址,并且还使用GDI+。

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

然而,有人提到,一些GDI调用可能适用于应用程序服务中的基本/标准定价层。如果你目前使用的是免费/共享,那么尝试一下是值得的。

应用程序服务的替代品,用于运行使用GDI/GDI+的东西:

  • Web/Worker角色(云服务)
  • 服务结构
  • IaaS虚拟机

类似的问题如下:是什么导致EvoPDF";无法呈现html";部署到Azure网站时出现异常