【问题标题】:Server-side printing in C#/ASP.NETC#/ASP.NET 中的服务器端打印
【发布时间】:2011-07-15 20:02:57
【问题描述】:

在运行我的应用程序的服务器上,正在安装一个虚拟 PDF 打印机(对此还不太了解,除了它来自 Adob​​e),我的应用程序需要使用这个“打印机”来创建 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 但是您可能对这台 Adob​​e PDF 打印机有一些问题,您需要以某种方式强制它以正确的方式保存您的文件(自动命名)
  • @Brian:好的,我会咬一口的。我也有 devexpress 许可证。 ;) 你能指出我是哪一个吗?顺便说一句,我不是混蛋,我真的很想知道这一点。我绝对愿意删除我们使用 iTextSharp 所做的一些事情。

标签: c# asp.net pdf printing


【解决方案1】:

有一些免费/便宜的库可用于即时创建 pdf。我以前用过itextsharp,效果很好。需要一些时间来了解它的工作原理,但我建议您检查一下。

还有像 Neevia DocConverter 这样的打印服务,它会监控文件夹并自动将您放入文件夹中的任何内容转换为 pdf、jpg 等。您可以对其进行设置,以便在文件夹中放置一个 url 快捷方式将该网址处的网页呈现为pdf。如果您想进行实时渲染,那就有点麻烦了,但它非常适合批量生成您想稍后发布到网站或电子邮件的大量报告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 2016-10-05
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多