当前位置: 首页 > 编程语言 > C#

使用System.Drawing.Printing.PrintDocument在内存中生成PDF分享

时间:2023-04-10 19:19:10 C#

C#学习教程:使用System.Drawing.Printing.PrintDocument在内存中生成PDF自由的?我正在做一个我正在做的项目,它生成一个PrintDocument并显示一个打印对话框,这样用户就可以选择他们想要使用的打印机等。目前是一个Windows窗体应用程序,如果用户想打印成PDF,他们可以选择打印到CutePDF或类似的东西。但我现在在应用程序上放置了一个ASP.Netweb前端,并希望使用相同的代码生成PrintDocument,但希望将其动态打印为PDF并通过响应流将其作为PDF提供以供下载。所以我的问题是....如何使用当前的PrintDocument并从内存中生成PDF?谢谢PrintDocument的System.Drawing代码可以重复使用以使用ABCpdf.NET生成PDF文档。请参阅System.Drawing示例...您必须使用第3方组件来生成PDF。以下文章提供了一些此类组件的链接:从.Net生成PDF文件一个伤害世界。但是,您可能很幸运,因为看起来PDFsharp+MigraDoc可以为您完成此操作。我想您会发现没有任何工具可以将PrintDocument作为输入并呈现PDF作为输出。做你想做的唯一方法是将PrintDocument“打印”到将生成PDF的“PDF打印机驱动程序”。基本上是一个虚拟打印机,它将生成PDF而不是打印实际输出。市场上有很多产品。以下是便宜且广泛使用的一对:您真的应该看看iTextSharp(在前面推荐的iText.NET页面上提到了它)http://itextsharp.sourceforge.net/PrintDocumentisforWindowsFormsapplications,但是SilverLight即将推出,请观看此视频...http://silverlight.net/learn/videos/all/printing-api-basics/如果您想继续使用PrintDocument和Web应用程序,我认为SilverLight4(现在处于测试阶段)版本)是唯一的方法,否则您将不得不在本地为最终用户安装一个轻量级的Windows窗体应用程序,也许使用Web服务。iTextSharp是一个很棒的工具,可以在Internet上使用.NET生成PDF。我强烈推荐它;我已经将iText与Java一起使用……并且在过去几年中一直在使用iTextSharp。iTextfor.NET(一个非常流行的Java开源PDF库)有多个端口。http://www.ujihara.jp/iTextdotNET/en/以上是C#学习教程:使用System.Drawing.Printing.PrintDocument在内存中生成PDF分享的所有内容,如果对大家有用,需要的话想了解更多C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: