C#将2个流合并为一个

4

我有两个数据流。

Stream stream1 
Stream stream2

如何将这两个流合并成一个流?

澄清:

  • 这两个流是Crystal Report的输出结果。我想要将2个或更多Crystal报告的输出组合在一起。请不要使用外部库。
  • Net 4.0
  • 内存流

完整代码:

// Create stream from crytal report run
        Stream stream = crystalReportUtilities.RunCrystalReport(...
        Stream stream2 = crystalReportUtilities.RunCrystalReport(...

        return File(stream, "application/pdf"); 

6
必须遵守的:“不要交叉使用流!” - Josh Darnell
4
除了“将它们合并成一个”之外,你还想用它们做什么?你只需要读取第一个并附加读取第二个的结果吗?如果是这样,我认为你需要澄清“合并”的含义。 - Yuck
你可能正在尝试将两个文件合并成一个吗? - MethodMan
3
在这个语境中,“merge”的定义是什么?可能有很多种不同的解释。 - Erik Funkenbusch
您的意思是将stream2附加到stream1的末尾会产生stream3吗?此外,使用什么类型的流和.NET版本?您可以以非特定的方式执行此操作,但某些流派生类实现了使此操作变得微不足道的方法。 - JamieSee
1个回答

6
假设您的流是代表PDF的二进制流,.Net API中没有现有的功能来合并两个PDF。因此,您必须编写自己的代码或使用外部库(我们使用PdfSharp,它运行得非常好)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接