0

我被指出了 ITextSharp 的方向,当我从 NuGet 下载包时,我注意到一个名为 RazorToPDF 的东西,只是因为不再支持该项目而发现无法解决的格式问题。

经过更多研究,我惊讶地发现在 SO 上没有类似措辞的问题。

那么伙计们,将 MVC 项目中的 HTML 页面/表格转换为 PDF 文件的最佳方法是什么?

4

1 回答 1

0

将 MVC 项目中的 HTML 页面/表格转换为 PDF 文件的最佳方法是什么?

通常,从客户端的 Web 浏览器将其打印为 PDF。

问题是,在这种情况下,通过依赖视图的最终用户视角,您还依赖于该视图的最终用户呈现。这是一个应该完全从这个特定等式中删除的步骤。

请记住,HTML 页面的呈现方式和 PDF 的呈现方式之间存在根本差异。两者不是 100% 可互换的。PDF 具有静态页面大小并且元素被绝对放置,而 HTML 具有动态大小并且元素被放置在流布局中。还有其他考虑因素,例如可能在该视图中发生的客户端 DOM 操作。“渲染”它很快就变成了一个基于浏览器的活动,这是你不应该真正需要在服务器端做的事情。

与其将 PDF 视为视图呈现之后的额外步骤,不如将其视为与其他视图平行的视图。一个请求的操作导致 HTML 视图,另一个请求的操作导致 PDF“视图”。因此,在将文件内容返回给客户端之前,您可以设计 PDF 模板您希望它的外观并用数据填充它(使用 iTextSharp 之类的东西)。

于 2013-07-17T15:19:32.687 回答