Jan*_*zny 12 python google-app-engine reportlab
我需要生成100多页的PDF文档.这个过程需要处理大量数据,而且一次性生成需要更多的时间和内存.
我尝试了几种不同的方法来破解我的方式:
随着不同的结果,我得到它的工作,但它很慢,需要更多的内存(有时达到实例软内存限制).目前,我在不同的任务中生成一些部分,将每个部分存储在blobstore中,并将这些部分与pyPdf合并,但它会在较大的文档上窒息.
我正在生成的文档并不复杂,主要是表格和文本,没有内部引用,没有TOC,没有任何应该知道文档其余部分的内容.我可以使用platypus进行布局,我不需要花哨的文档外观或HTML2PDF转换.
目标是以数据存储允许的速度生成文档.并行页面生成会很好,但不是必需的.
我正在考虑使用blobstore文件api逐页生成,其中每个任务将生成一个页面,最后一个任务将最终确定blobstore文件,使其可读.但我似乎无法找到如何,暂停生成,将部分PDF存储到流中,并使用该流恢复生成以在不同的任务中生成下一页.
所以我的问题是:
如何在GAE上生成大于几页的PDF文档,在任务请求之间拆分生成,然后将生成的文档存储在blobstore中?
如果使用reportlab无法进行生成拆分,那么如何最小化合并不同PDF文档的占用空间,以使其符合GAE任务请求设置的限制?
更新: 转换API的替代品非常感谢.
第二个更新 转换API正在退役,因此现在不是一个选项.
第3次更新 可以在这里获得Pileline或MapReduce API的帮助吗?
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |