public byte[] MergePdf(byte[] docto1, byte[] docto2)
        {
            Stream ms1 = new MemoryStream(docto1);
            Stream ms2 = new MemoryStream(docto2);

            PdfDocument final = new PdfDocument();
            final.SerialNumber = HIQPDF_SERIAL;

            PdfDocument archivoAuxiliar1 = PdfDocument.FromStream(ms1);
            PdfDocument archivoAuxiliar2 = PdfDocument.FromStream(ms2);
            try
            {

                final.AddDocument(archivoAuxiliar1);
                final.AddDocument(archivoAuxiliar2);

                byte[] archivo = final.WriteToMemory();
                return archivo;

            }
            finally
            {
                final.Close();
                archivoAuxiliar1.Close();
                archivoAuxiliar2.Close();

            }
        }
        internal void DownloadViewsToSinglePDFFile(List <ViewItem> viewList, string fileName)
        {
            String baseUrl = HttpContext.Current.Request.Url.AbsoluteUri.Substring(0, HttpContext.Current.Request.Url.AbsoluteUri.LastIndexOf("/") + 1);

            // create an empty PDF document
            PdfDocument document = new PdfDocument();

            document.SerialNumber = Utility.GetAPPSettingKey("HiQPDFSerialNumber");

            PdfDocument documentCover = new PdfDocument();

            documentCover.SerialNumber = Utility.GetAPPSettingKey("HiQPDFSerialNumber");

            PdfDocument documentList = new PdfDocument();

            documentList.SerialNumber = Utility.GetAPPSettingKey("HiQPDFSerialNumber");

            foreach (ViewItem viewItem in viewList)
            {
                if (viewItem.display)
                {
                    PdfPage page;
                    // add a page to document
                    if (viewItem.viewName == "CoverPage" || viewItem.viewName == "ContentPage")
                    {
                        page = documentCover.AddPage(PdfPageSize.A4, new PdfDocumentMargins(0), PdfPageOrientation.Portrait);
                        //page.DisplayHeader = false;
                        //page.DisplayFooter = false;
                    }

                    else
                    {
                        page = documentList.AddPage(PdfPageSize.A4, new PdfDocumentMargins(20), PdfPageOrientation.Portrait);
                        if (viewItem.viewName != "OrderingInformation")
                        {
                            page.DisplayHeader = true;
                            page.DisplayFooter = true;

                            SetHeader(documentList, fileName);
                            SetFooter(documentList, fileName);
                        }
                        else
                        {
                            page.DisplayHeader = false;
                            page.DisplayFooter = false;
                        }
                    }

                    // layout the HTML from URL
                    PdfHtml html = new PdfHtml(baseUrl + viewItem.viewName);
                    page.Layout(html);
                }
            }

            if (documentCover.Pages.Count > 0)
            {
                document.AddDocument(documentCover);
            }

            document.AddDocument(documentList);

            DownloadPDFFile(document.WriteToMemory(), fileName + DateTime.Now.ToShortDateString().Replace("/", "_"));
        }