【问题标题】:Rendering PDF documents in bulk in Django在 Django 中批量渲染 PDF 文档
【发布时间】:2016-11-14 00:45:25
【问题描述】:

我需要通过 Django 生成一整堆(约 200 个)PDF 文档,并且正在寻找建议(或库)来执行此操作。每个单独的文档都需要一个视图,但需要定期从特定过滤器下载此视图生成的所有 pdf。我可以看到这些可能的方法:

  • 生成单个文档 - 这很简单,但我更喜欢单个文档
  • 使用“下载”内容配置生成一个文档,然后重定向到下一个(不确定这是否适用于 200 个文档?)
  • 在后台任务中生成/缓存服务器上的所有文档,然后提供 zip 文件链接,或保存到外部存储,如 Google Drive。

对于第三种选择,哪些 PDF 库既适合在后台任务中提供程序化渲染,又可以轻松地按需查看单个文档?

还有其他想法吗?

【问题讨论】:

    标签: python django pdf


    【解决方案1】:

    我在一个 django 应用程序中使用了reportlab(尽管是几年前),它在将模板化的 HTML 转换为 PDF 以供下载方面做得很好。

    单个文档

    如果这需要不到几秒钟的时间,作为请求/响应周期的一部分可能没问题。

    批量压缩文档

    为避免让您的网络工作者忙于长时间运行的任务,您通常会将此类繁重的工作推送到异步任务队列中,然后在用户下载准备好并在存储中等待时为用户提供链接。也就是说,这取决于您的用例。如果您确定只有少数并发用户,您可能会证明跳过队列的额外复杂性是合理的。如果您不确定,可能值得硬着头皮设置队列。

    好消息是,如果您使用队列路线,您可能会很快找到其他用例。 :) 对于 django,celeryredis 是一个可靠的组合。

    【讨论】:

      猜你喜欢
      • 2018-02-20
      • 2021-01-04
      • 2023-03-06
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多