可以在前端将数据导出为pdf格式吗? [关闭]

Posted

技术标签:

【中文标题】可以在前端将数据导出为pdf格式吗? [关闭]【英文标题】:Is it ok to export data as pdf format in frontend? [closed] 【发布时间】:2020-02-03 06:40:15 【问题描述】:

在我的应用程序中有搜索表单。搜索结果在后端分页,有时搜索可能有数千个结果。有一个功能请求以启用以 PDF 格式导出搜索结果。可以在前端转换搜索结果还是应该在后端转换搜索结果。请注意,我以后可能需要多次更改 PDF 模板,并且模板不一定是永久的。

【问题讨论】:

在我看来应该是后端 扩展@KarthikeyanVaithilingam 的评论:如果在前端执行导出功能,用户可以通过在导出前添加或删除数据来伪造搜索结果 PDF。 这里也一样,你应该在后端做这种事情 【参考方案1】:

在我看来,它应该发生在后端。原因是:

假设您的数据库中有 1M 条记录,并且您想要搜索特定列的数据。在这种情况下,在前端提取所有结果并对其应用搜索是一个糟糕的选择,因为您正在通过网络传输大量数据。

将其保留在后端还可以让您灵活地使用 iText、Jasper、PD4ML 等多个引擎进行 PDF 渲染和导出。这些引擎非常受欢迎,并拥有良好的社区支持。

使用 Jasper 还可以为多个模板创建多个 JRXML 文件,这些模板可以在运行时更改,您只需使用单个 PDFExportManager 即可导出它。

除此之外,如果您想拥有受密码保护的 pdf,您可能不想将密钥保留在前端。将其保留在后端,DB 始终是一个不错的选择。

【讨论】:

感谢您的回复,如果我决定在前端导出 pdf 并仅将搜索结果发送到前端,我当然不会在前端执行搜索操作。但是你有一些很好的理由不在前端导出我认为在前端创建 pdf 不是一个好主意。 是的。我只是提到它以供参考。 我还建议您将生成的 PDF 保存到 S3/CDN 并将公共 URL 作为后端的响应传递。再次在前端,您可以从 URL 呈现 PDF。您还可以检查将启用/禁用 PDF 下载/查看功能的文件的内容处置。

以上是关于可以在前端将数据导出为pdf格式吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 将报告导出为 pdf

如何使用 PHP 将 mysql 数据库导出/转换为 mdb 格式 [关闭]

通过前端js将页面表格导出为PDF

将引用的文档作品转换为 bibtex 或尾注格式 [关闭]

如何将Word中的图片批量导出为jpg格式

前端html页面转成pdf格式并下载