Rotativa,ABCPdf和EO.Pdf在Azure WEBSITES中不起作用,我不想升级到Azure“Cloudapp”

时间:2013-12-06 18:46:15

标签: azure pdf-generation wkhtmltopdf abcpdf rotativa

鉴于环境问题(将其视为事实):

1)Rotativa PDF(https://github.com/webgio/Rotativa)使用exe来创建PDF,因此它不适用于azure网站(无权执行该exe)

2)ABCPdf有同样的问题

3)EO.Pdf有类似的问题(“使用Windows GDI但Windows Azure WebSite不支持Windows GDI”http://www.essentialobjects.com/doc/4/install/deploy.aspx

4)我不想拥有Azure Cloudapp(允许我使用Rotativa或ABCPdf)。 我的Azure网站很好(除了以前的问题)。

有替代解决方案吗?
是否还有其他用于从HTML创建可以在Azure网站(不是CloudService或VM)上运行的PDF的库?




更新nov-2014:
我现在正在使用 MvcRazorToPdf ,这很棒。

控制器代码:

return new PdfActionResult(palletReception, (writer, document) =>
{
    document.SetPageSize(new Rectangle(792f, 612f));
    document.NewPage();
})
{
    FileDownloadName = "foo.pdf"
};

查看代码:

A normal view with normal css.
Must be accepted by iText XMLWorker

Check this: http://demo.itextsupport.com/xmlworker/itextdoc/flatsite.html
and this: http://demo.itextsupport.com/xmlworker/

2 个答案:

答案 0 :(得分:1)

您可以利用iTextSharp(http://sourceforge.net/projects/itextsharp/)。过去使用它非常成功。它现在甚至可以作为nuget包使用 - https://www.nuget.org/packages/itextsharp/

答案 1 :(得分:0)

这项任务是否适合WAWS?

Windows Azure网站是不占用大量处理时间的应用程序的绝佳平台。但是WAWS可能不是处理器密集型工作的最佳选择,例如将网页转换为PDF。下载和呈现网页可能需要几秒钟,生成PDF文档会消耗更多。如果你不幸遇到一两次超时(就像这样会发生),你的WAWS帐户上的任何处理配额都会瞬间消失。当超过上限时,网站会发生什么?

据我了解,免费和共享的WAWS等级受制于处理上限。我不确定这是否也会影响标准层。任何人吗?

如果您的WAWS网站必须使用网页转换为PDF,我建议您将其与工作者角色结合使用,或者仅使用Web角色(云服务)。另一个优点是您可以将多个WAWS站点连接到单个辅助角色,这可能有助于降低许可成本并节省部署和维护站点的时间。