private void button3_Click(object sender, EventArgs e)
        {
            txtSearchWord.Text = txtSearchWord.Text + ",";

            string [] pagesToBEPrinted = txtSearchWord.Text.Split(',');
            this.Cursor = Cursors.WaitCursor;
            try
            {
                O2S.Components.PDF4NET.PDFDocument searchedPDF
                    = new O2S.Components.PDF4NET.PDFDocument(batchFilePath);

                searchedPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";            

                O2S.Components.PDF4NET.PDFDocument newPDF
                    = new O2S.Components.PDF4NET.PDFDocument();

                newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";            

                for (int i = 0; i < pagesToBEPrinted.Length - 1; i++)
                {
                 //   string s1 = pagesToBEPrinted[i];
                 //   O2S.Components.PDF4NET.PDFPage aPDFPage = int.Parse(pagesToBEPrinted[i]);
                 //   newPDF.Pages.Add(aPDFPage);
                }
                newPDF.Save(batchFilePathPrintPDF);

                Process p = new Process();
                p.StartInfo = new ProcessStartInfo()
                {
                    CreateNoWindow = true,
                    Verb = "print",
                    FileName = batchFilePathPrintPDF //put the correct path here
                };
                p.Start();


                //SendToPrinter(batchFilePathPrintPDF);

            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
            }

            this.Cursor = Cursors.Default;
      }
        public MemoryStream CreatePreviewFax(StringCollection _listOfPdfs)
        {
            O2S.Components.PDF4NET.PDFDocument _ToBeCopiedPDF
                = new O2S.Components.PDF4NET.PDFDocument();
            O2S.Components.PDF4NET.PDFDocument _newPDF
                = new O2S.Components.PDF4NET.PDFDocument();
            O2S.Components.PDF4NET.PDFPage _pdfPage;
            Stream _fileStream = null;

            _ToBeCopiedPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";
            _newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";

            for (int i = 0; i < _listOfPdfs.Count; i++)
            {
                // MakeDocumentReadable(_listOfPdfs[i]);
                _fileStream = new FileStream(ConfigurationValues.TemporaryFaxPath + Utility.GetUserName() + "\\" + _listOfPdfs[i], FileMode.Open);
                _ToBeCopiedPDF
                    = new O2S.Components.PDF4NET.PDFDocument(_fileStream);

                for (int j = 0; j < _ToBeCopiedPDF.Pages.Count; j++)
                {
                    _pdfPage = _ToBeCopiedPDF.Pages[j];
                    _newPDF.Pages.Add(_pdfPage);
                }
                _fileStream.Close();
            }

            MemoryStream _newPDFStream = new MemoryStream();
            _newPDF.Save(_newPDFStream);

            return _newPDFStream;
        }
        public static bool DeleteMultiplePDFPagesV2(string _reviewDoc, int iStartPageToDelete)
        {
            try
            {
                int _constant = 0;
                int _pageCount = 0;

                O2S.Components.PDF4NET.PDFDocument _newPDF
                    = new O2S.Components.PDF4NET.PDFDocument(_reviewDoc);
                _newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";
                iStartPageToDelete = iStartPageToDelete - 1;
                _constant = iStartPageToDelete;
                _pageCount = _newPDF.Pages.Count - 1;
                for (int i = iStartPageToDelete; i <= _pageCount; i++)
                {
                    _newPDF.Pages.RemoveAt(_constant);
                }
                _newPDF.Save(_reviewDoc);
                _newPDF = null;
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error message is " + ex.Message, "Error", MessageBoxButtons.OK);
                return false;
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            txtSearchWord.Text = txtSearchWord.Text + ",";

            string [] pagesToBEPrinted = txtSearchWord.Text.Split(',');
            this.Cursor = Cursors.WaitCursor;
            try
            {
                O2S.Components.PDF4NET.PDFDocument searchedPDF
                    = new O2S.Components.PDF4NET.PDFDocument(batchFilePath);

                searchedPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";            

                O2S.Components.PDF4NET.PDFDocument newPDF
                    = new O2S.Components.PDF4NET.PDFDocument();

                newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";            

                for (int i = 0; i < pagesToBEPrinted.Length - 1; i++)
                {
                    O2S.Components.PDF4NET.PDFPage aPDFPage = searchedPDF.Pages[i];
                    newPDF.Pages.Add(aPDFPage);
                }
                newPDF.Save(batchFilePathPrintPDF);
                SendToPrinter(batchFilePathPrintPDF);

            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
            }

            this.Cursor = Cursors.Default;
      }
        private bool DeletePDFPages(string _reviewDocument, int iPageToDelete)
        {
            try
            {
                O2S.Components.PDF4NET.PDFDocument _newPDF
                    = new O2S.Components.PDF4NET.PDFDocument(_reviewDocument);

                _newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";

                _newPDF.Pages.RemoveAt(iPageToDelete - 1);
                _newPDF.Save(_reviewDocument);
                return true;
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Error message is " + ex.Message, "Error", MessageBoxButtons.OK);
                return false;
            }
        }
        private bool DeletePDFPages(string _reviewDocument, int iPageToDelete)
        {
            try
            {
                O2S.Components.PDF4NET.PDFDocument _newPDF
                    = new O2S.Components.PDF4NET.PDFDocument(_reviewDocument);

                _newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";

                _newPDF.Pages.RemoveAt(iPageToDelete - 1);
                _newPDF.Save(_reviewDocument);
                return true;
            }
            catch (Exception ex)
            {
               EmployeeDesktop.API.Exceptions.ExceptionHandling.InsertErrorMessage(ex.ToString());
               EmployeeDesktop.API.Exceptions.ExceptionHandling.SendErrorEmail(ex.ToString(), ConfigurationValues.EmailFromFriendly, ConfigurationValues.EmailSendToFriendly, ConfigurationValues.EmailSubject);
                return false;
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (txtSearchWord.Text.Length < 1)
            {
                MessageBox.Show("Please select page to print", "Error");
                return;
            }
            
            
            this.Cursor = Cursors.WaitCursor;
            txtSearchWord.Text = txtSearchWord.Text + ",";

            string [] pagesToBEPrinted = txtSearchWord.Text.Split(',');

            try
            {
                O2S.Components.PDF4NET.PDFDocument searchedPDF
                    = new O2S.Components.PDF4NET.PDFDocument(batchFilePath);

                searchedPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";            

                O2S.Components.PDF4NET.PDFDocument newPDF
                    = new O2S.Components.PDF4NET.PDFDocument();

                newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";


                for (int i = 0; i < pagesToBEPrinted.Length - 1; i++)
                {
                    O2S.Components.PDF4NET.PDFPage aPDFPage = searchedPDF.Pages[ int.Parse(pagesToBEPrinted[i]) - 1];
                    newPDF.Pages.Add(aPDFPage);
                }
                //pd.
                //searchedPDF.
                newPDF.Save(batchFilePathPrintPDF);

                System.Diagnostics.Process.Start(batchFilePathPrintPDF);

                //Process p = new Process();
                //p.StartInfo = new ProcessStartInfo()
                //{
                //    CreateNoWindow = true,
                //    Verb = "print",
                //    FileName = batchFilePathPrintPDF //put the correct path here
                //};
                //p.Start();



                //SendToPrinter(batchFilePathPrintPDF);

                //_newPDF.Pages..RemoveAt(iPageToDelete - 1);
                //_newPDF.Save(_reviewDocument);
                //return true;
                this.Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                MessageBox.Show("Error message is " + ex.Message, "Error", MessageBoxButtons.OK);
                //return false;
            }




            //string pathToDocument = batchFilePath;

            //// create index from PDF file
            //using (Stream pdfDocumentStreamToSearch = new FileStream(pathToDocument, FileMode.Open, FileAccess.Read))
            //{
            //    SearchIndex searchIndex = new SearchIndex(pdfDocumentStreamToSearch);

            //    // create document used for rendering
            //    using (Stream pdfDocumentStreamToRasterize = new FileStream(pathToDocument, FileMode.Open, FileAccess.Read))
            //    {
            //        document = new Document(pdfDocumentStreamToRasterize);

            //        // search text in PDF document and render pages containg results
            //        searchIndex.Search(SearchHandler, txtSearchWord.Text);
            //    }
            //}



            //    //SearchIndex searchIndex;

            //    //// so we have created the index already
            //    //if (searchDictionary.TryGetValue(loadedFilePath, out searchIndex))
            //    //{
            //    //    //e.SearchIndex = searchIndex;
            //    //}
            //    //else
            //    //{
            //    //    searchIndex = new SearchIndex(File.OpenRead(loadedFilePath));
            //    //    searchDictionary.Add(loadedFilePath, searchIndex);
            //    //    int ee = searchDictionary.Count;

            //    //    //e.SearchIndex = searchIndex;
            //    //}



            ////pdfViewer1.s
      }
        private bool DeletePDFPages(string _reviewDocument, int iPageToDelete)
        {
            try
            {
                O2S.Components.PDF4NET.PDFDocument _newPDF
                    = new O2S.Components.PDF4NET.PDFDocument(_reviewDocument);

                _newPDF.SerialNumber = "PDF4NET-AYBAM-8ARRR-B4EX2-OXGCC-KN2Q5";

                _newPDF.Pages.RemoveAt(iPageToDelete - 1);
                _newPDF.Save(_reviewDocument);
                return true;
            }
            catch (Exception ex)
            {
                Walden.CompleteFax.Library.Database.Log(ex.Message);
                return false;
            }
        }