Combinar flujos de memoria en un documento iText

Tengo cuatro MemoryStreams de datos que quiero fusionar y luego abro el PDFDocument, sin crear un solo archivo.

Es posible escribirlos en archivos y luego fusionarlos, pero eso sería una mala práctica y eso también puede causar algunos problemas, así que quiero evitar eso.

Sin embargo, no puedo encontrar una manera de fusionar los MemoryStreams con iText5 para .NET.

Ahora mismo, así es como lo hago con los archivos:

    private static void ConcatenateDocuments()
    {
        var stream = new MemoryStream();

        var readerFrontPage = new PdfReader(Folder + FrontPageName);
        var readerDocA = new PdfReader(Folder + docA);
        var readerDocB = new PdfReader(Folder + DocB);
        var readerAppendix = new PdfReader(Folder + Appendix);
        var pdfCopyFields = new PdfCopyFields(stream);

        pdfCopyFields.AddDocument(readerFrontPage);
        pdfCopyFields.AddDocument(readerDocA );
        pdfCopyFields.AddDocument(readerDocB);
        pdfCopyFields.AddDocument(readerAppendix);
        pdfCopyFields.Close();

        SavePdf(stream, FilenameReport);
    }

Dado que necesito eliminar el uso de archivos, conservo los MemoryStream ya que las diferentes partes se crean a partir de diferentes recursos. Entonces tengo referencias a estos flujos de memoria.

¿Cómo se puede hacer esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta