【发布时间】:2012-05-04 02:06:01
【问题描述】:
我必须向用户发送电子机票。电子票是关于事件、日程、行、地点、条形码和其他信息的信息。
我有两种方法:
1. 创建 html 标记,填写所有字段,从 html 生成 pdf 文件并在邮件附件中发送用户。
2. 设计师创建pdf格式的模板文件。然后,我打开它,填写信息并发送用户。
我从未使用过 pdf,我需要你的建议。什么方式是简单且不那么浪费的(在服务器负载等方面)?
谢谢。
【问题讨论】:
-
我想这更像是一个用户流/用户体验问题。您是否希望您的页面触发 PDF 下载,但让用户留在页面上?您想在浏览器中向用户显示 PDF 吗?或者您想通过电子邮件将 PDF 发送给他们? (请注意,最后一个选项与前两个选项并不相互排斥,如果您愿意,无论如何都可以发生。)从服务器端代码的角度来看,它们都是相当平等的选项。
-
@David:好问题。现在,我只需要发送到电子邮件。将来,可能会显示在浏览器中,而不是其他任何东西。
-
如果您的选择是将呈现的 HTML 保存为 PDF 还是填写模板 PDF 文件,我推荐后者。渲染 HTML 服务器端笨拙且不直观,并且它引入了另一个潜在的故障点(渲染引擎的差异,HTML 不是“基于可打印页面的”,而 PDF 是等)。 PDF 模板通常更易于维护,并且可能更易于图形设计师维护。几乎任何现成的 .NET PDF 库都允许您与文件交互以向其写入内容。然后附加到电子邮件或作为流返回给用户。
-
考虑 JasperReports 和 iReport 这样的设计器。它非常灵活,创建/修改票证设计非常容易 - 但您需要愿意从 asp.net 调用 SOAP 服务,并且运行该服务器需要一些 Java 应用程序服务器技能。
标签: asp.net-mvc asp.net-mvc-3 pdf pdf-generation