private void splitPdfButton_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; splitResultPanel.Visible = false; Document pdfDocumentToSplit = null; Document splitResultDocument1 = null; Document splitResultDocument2 = null; try { // Load the PDF document to split // The document must remain opened until the PDF documents resulted after split are saved pdfDocumentToSplit = new Document(pdfFilePathTextBox.Text); // Get the page count of the document to split int pageCount = pdfDocumentToSplit.Pages.Count; // Check if the document has the minimum required number of page if (pageCount < 2) { MessageBox.Show("The document to split must have at least 2 pages"); return; } // Create the first PDF document resulted after split splitResultDocument1 = new Document(); // Set license key received after purchase splitResultDocument1.LicenseKey = "fvDh8eDx4fHg4P/h8eLg/+Dj/+jo6Og="; // Copy pages from loaded document into split result document splitResultDocument1.AppendDocument(pdfDocumentToSplit, 0, pageCount / 2); // Save the first PDF document document resulted after split in a memory buffer byte[] outPdfBuffer1 = splitResultDocument1.Save(); // Write the memory buffer in a PDF file System.IO.File.WriteAllBytes(splitResultPdfFile1, outPdfBuffer1); // Create the second PDF document resulted after split splitResultDocument2 = new Document(); // Set license key received after purchase splitResultDocument2.LicenseKey = "fvDh8eDx4fHg4P/h8eLg/+Dj/+jo6Og="; // Copy pages from loaded document into split result document splitResultDocument2.AppendDocument(pdfDocumentToSplit, pageCount / 2, pageCount - pageCount / 2); // Save the second PDF document document resulted after split in a memory buffer byte[] outPdfBuffer2 = splitResultDocument2.Save(); // Write the memory buffer in a PDF file System.IO.File.WriteAllBytes(splitResultPdfFile2, outPdfBuffer2); splitResultPanel.Visible = true; } catch (Exception ex) { // The PDF split failed MessageBox.Show(String.Format("Split PDF Error. {0}", ex.Message)); return; } finally { // Close all the PDF documents after the PDF documents resulted after split were already saved // Close the first split result document if (splitResultDocument1 != null) splitResultDocument1.Close(); // Close the second split result document if (splitResultDocument2 != null) splitResultDocument2.Close(); // Close the document to split if (pdfDocumentToSplit != null) pdfDocumentToSplit.Close(); Cursor = Cursors.Arrow; } }