8

鉴于情况(将其视为事实):

1) Rotativa PDF ( https://github.com/webgio/Rotativa ) 使用 exe 来创建 PDF,所以它在 azure 网站上不起作用(没有执行该 exe 的权限)

2)ABCPdf有同样的问题

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

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

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




2014 年 11 月更新:
我今天正在使用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/
4

2 回答 2

1

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

于 2013-12-08T12:03:46.190 回答
0

该任务是否适合 WAWS?

Windows Azure 网站对于不消耗太多处理时间的应用程序来说是一个很好的平台。但 WAWS 可能不是处理器密集型工作(如将网页转换为 PDF)的最佳选择。下载和渲染网页可能需要几秒钟,生成 PDF 文档则需要更多时间。而且,如果您不幸遇到一两次超时(这种情况永远不会发生),您的 WAWS 帐户上的任何处理配额都可能在瞬间蒸发。超过上限时网站会发生什么情况?

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

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

于 2013-12-19T09:29:57.183 回答