【发布时间】:2011-07-15 20:02:57
【问题描述】:
在运行我的应用程序的服务器上,正在安装一个虚拟 PDF 打印机(对此还不太了解,除了它来自 Adobe),我的应用程序需要使用这个“打印机”来创建 PDF从 HTML 页面(主要是 GridView),然后将用户重定向到存储 PDF 的 URL。
我一直在查看 System.Drawing.Printing 中的 PrintDocument 对象,但是我了解到您不能简单地为此提供一个 HTML 页面。我的选择是什么?最简单的选择是能够“打印”给定的 HTML 页面(使用 CSS 选择要打印的内容和不打印的内容),但从我所读到的内容来看,这相当困难,所以我正在考虑以某种方式构建任何对象如果有意义的话,PrintDocument 需要以编程方式进行。
关于我应该如何做到这一点的任何想法?
【问题讨论】:
-
我不确定它是否适合您,但您可以购买一些商业服务器控件,它们会为您生成 PDF 文件。 Telerik 的 RadControls 库就是这样一个例子。
-
@Brian:Telerik 的哪个控件可以做到这一点?我已经看过但没有找到它;当然,我看起来并不难......
-
@chris:对不起,我的错,我应该说 DevExpress。我有一个使用这两个库的客户,但我建议了错误的。
-
使用 CSS 更改页面布局以进行打印非常简单,即您可以拥有 2 组 CSS 只需查看媒体标签:theblog.ca/variable-textarea 但是您可能对这台 Adobe PDF 打印机有一些问题,您需要以某种方式强制它以正确的方式保存您的文件(自动命名)
-
@Brian:好的,我会咬一口的。我也有 devexpress 许可证。 ;) 你能指出我是哪一个吗?顺便说一句,我不是混蛋,我真的很想知道这一点。我绝对愿意删除我们使用 iTextSharp 所做的一些事情。