有没有人知道以下是否可行,如果是,那么最好的方法是免费的?
我正在我正在处理的项目中生成PrintDocument并显示一个打印对话框,以便用户可以选择他们想要使用的打印机等。目前是一个Windows窗体应用程序,如果用户想要打印到他们可以选择打印到CutePDF或类似的PDF。
但是我现在在应用程序上放置一个ASP.Net Web前端,并希望使用相同的代码生成PrintDocument但是想要动态地将其打印到PDF并通过响应流以格式提供它PDF下载。
所以我的问题是......如何使用当前的PrintDocument并在内存中生成PDF?
由于
答案 0 :(得分:2)
可以重复使用PrintDocument的System.Drawing代码来生成带有ABCpdf .NET的PDF文档。请参阅System.Drawing example...
答案 1 :(得分:0)
您必须使用第三方组件才能生成PDF。以下文章提供了一些此类组件的链接:Generating PDF Files from .Net
答案 2 :(得分:0)
如果您认为自己要运行与表单应用程序和ASP.NET应用程序中的打印机相同的“相同代码”,那么您将处于一个充满伤害的世界。
然而,您可能会很幸运,因为看起来PDFsharp + MigraDoc可能会为您做到这一点。
答案 3 :(得分:0)
我认为您会发现没有任何工具可以将PrintDocument作为输入并将PDF呈现为输出。执行所需操作的唯一方法是将PrintDocument“打印”到将生成PDF的“PDF打印机驱动程序”。基本上是一个虚拟打印机,它将生成PDF而不是打印实际输出。市场上有很多产品。一对便宜且广泛使用的夫妇如下:
答案 4 :(得分:0)
你真的应该关注iTextSharp(它在前面推荐的iText.NET页面上提到过)
http://itextsharp.sourceforge.net/
PrintDocument适用于Windows窗体应用程序,但已升级并进入SilverLight,请参阅此视频... http://silverlight.net/learn/videos/all/printing-api-basics/
如果您希望继续使用PrintDocument和Web应用程序,我认为SilverLight 4(现在是测试版)是唯一的方法,或者您必须在本地安装轻量级Windows窗体应用程序可能使用Web服务的最终用户。
iTextSharp是一个很棒的工具,可以在Internet上使用.NET生成PDF。我强烈推荐它;我已经将iText与Java一起使用了......过去几年一直在使用iTextSharp。
答案 5 :(得分:-1)
iText for .NET有几个端口(一个非常流行的Java开源PDF库)。