C# 从ASP.NET批量打印PDF

C# 从ASP.NET批量打印PDF,c#,asp.net,pdf,printing,C#,Asp.net,Pdf,Printing,在web应用程序中,用户可能需要打印PDF的可变列表。也就是说,给定一个大的PDF列表,用户可以选择该列表的任意子集进行打印。这些PDF存储在文件系统中。我需要一种方法,允许用户相对容易地打印这些PDF批次(因此,要求用户单击每个PDF并打印不是一个选项),并且不会对性能造成太大影响 我考虑过几个选择: 1) 我有一位同事,他使用一个PDF库,我可以用它来获取PDF文件,并动态地将它们合并,然后将PDF发送给用户进行打印。我不知道这种方法是否会弄乱任何一种页码。这可能是一个“ok”方法,但我担心

在web应用程序中,用户可能需要打印PDF的可变列表。也就是说,给定一个大的PDF列表,用户可以选择该列表的任意子集进行打印。这些PDF存储在文件系统中。我需要一种方法,允许用户相对容易地打印这些PDF批次(因此,要求用户单击每个PDF并打印不是一个选项),并且不会对性能造成太大影响

我考虑过几个选择:

1) 我有一位同事,他使用一个PDF库,我可以用它来获取PDF文件,并动态地将它们合并,然后将PDF发送给用户进行打印。我不知道这种方法是否会弄乱任何一种页码。这可能是一个“ok”方法,但我担心这会影响性能

2) 我曾考虑过创建一个ActiveX,将PDF传递给它,并让它调用打印功能。我担心的是,这是不必要的复杂,可能会出现一些奇怪的用户交互


因此,我正在寻找在这个场景中使用的最佳选项,这可能不是我经历过的选项之一

我为您提供的最佳解决方案是1号。有很多库可以合并文档。从我使用的那一页来看,编号不应该是一个问题,因为所有的页面都已准备好呈现


如果你使用ActiveX,你将把自己限制在IE上,这可能是可以接受的。唯一的另一个想法是使用智能客户端,这样你可以有更多的控制权……然后你可以通过网络服务提供PDF

我同意#1。您可以做一些测试,看看性能的影响会是什么样子

我认为将文档连接在一起是一种方法。 对于工具,我推荐iText。免费的

你可以在这里下载

iText#(iTextSharp)是iText开源java库的一个端口,用于PDF生成,完全用C#为.NET平台编写。使用iText邮件列表获得支持


谢谢,我有权访问一个商业PDF库,但如果这比我喜欢的更复杂,我会看一下iTextSharp。在Mac/Ubuntu中是否有使用该程序的方法?也许可以从服务器打印?