【问题标题】:How to run external executables from an Appharbor application (HTML to PDF generation)?如何从 Appharbor 应用程序运行外部可执行文件(HTML 到 PDF 生成)?
【发布时间】:2012-01-31 17:59:36
【问题描述】:

我需要为我目前托管在 Appharbor 上的一个 .Net Web 应用程序生成 PDF。

传统上,我会简单地在机器上安装 Latex,然后使用 pdflatex 即时创建 PDF。这个要求是以 HTML 格式向最终用户显示部分,但也有一个可下载的 PDF - 所以它略有不同。

我发现了几个(免费)外部 HTML 到 PDF 转换器,它们可能适用于这种情况。但是,我还没有找到任何允许我纯粹以编程方式执行此操作的库。

如果我打算继续使用 Appharbor,您会给我什么建议?

我应该设置一个单独的 EC2(或类似)实例来运行这样的应用程序吗?还是有更好的选择?

【问题讨论】:

    标签: c# process pdflatex wkhtmltopdf appharbor


    【解决方案1】:

    我建议使用DocRaptor 之类的东西。请注意,如果您将相关的 pdflatex 可执行文件(并且它不需要整个 Latex 运行时)与您推送到 AppHarbor 的代码一起放置,您可能可以继续使用当前方案。 AppHarbor 还将引入background workers,它可能非常适合此类工作。

    【讨论】:

    • 我没有意识到我可以从 AppHarbor 托管的解决方案中调用可执行文件。我只是认为这将是一个安全问题并被锁定。因此,我现在正在使用与此类似的系统来完成工作:stackoverflow.com/a/3683756/892397 感谢您的提醒,您在架构方面为我省去了一个巨大的麻烦!
    【解决方案2】:

    请注意,如果您尝试使用 Rotativa 或将 wkhtmltopdf 与从 HttpContext 获取的路由一起使用,则需要使用此解决方法:

    http://support.appharbor.com/kb/getting-started/workaround-for-generating-absolute-urls-without-port-number

    或从 Nuget 安装 premotion 修复:

    https://github.com/trilobyte/Premotion-AspNet-AppHarbor-Integration

    【讨论】:

      猜你喜欢
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多