【问题标题】:how about pdf with ASP.NET MVC使用 ASP.NET MVC 的 pdf 怎么样
【发布时间】: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


【解决方案1】:

根据我的经验,两种解决方案各有利弊:

解决方案 1:

优点:一旦你找到了一个很好的用于进行 HTML->PDF 转换的库,你就有一个非常灵活的解决方案,因为你只需要更改你的 HTML 标记(非常简单的操作)来获得一个新的 PDF 布局。

缺点:转换 HTML 2 PDF 的操作可能会消耗 CPU(取决于 HTML 标记的大小和复杂性),并且您要将解决方案绑定到第 3 方组件

提示:您可以使用http://www.html-to-pdf.net/

解决方案 2:

优点:它将需要非常少的资源来将布局和您需要放在上面的数据耦合在一起;此外,您只需要一个免费库 (iText.Net),它被认为是操作 PDF 文档的标准库。

缺点:它不会那么灵活,因为您需要修改 pdf 布局和填充它的代码,才能获得新的电子机票。

结论

所以,如果您打算经常挂电子票的布局,请选择第一个,否则,我会选择第二个选项。

【讨论】:

  • 感谢您的详细回复。
猜你喜欢
  • 1970-01-01
  • 2021-11-27
  • 2011-06-20
  • 2013-08-30
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
相关资源
最近更新 更多