Skip to content

Instantly share code, notes, and snippets.

@LJFloor
Created September 27, 2023 06:56
Show Gist options
  • Save LJFloor/cb11ce3ffba70305b3eb7b1af7e6640b to your computer and use it in GitHub Desktop.
Save LJFloor/cb11ce3ffba70305b3eb7b1af7e6640b to your computer and use it in GitHub Desktop.
Split one multipage PDF file into multiple one page pdfs using PdfSharp
private List<byte[]> SplitPDFIntoByteArrays(byte[] pdfByteArray)
{
var pageByteArrays = new List<byte[]>();
using (var pdfStream = new System.IO.MemoryStream(pdfByteArray))
{
var pdfDocument = PdfReader.Open(pdfStream, PdfDocumentOpenMode.Import);
for (var pageNum = 0; pageNum < pdfDocument.PageCount; pageNum++)
{
using (var pageStream = new System.IO.MemoryStream())
{
var outputDocument = new PdfDocument();
outputDocument.AddPage(pdfDocument.Pages[pageNum]);
outputDocument.Save(pageStream);
pageByteArrays.Add(pageStream.ToArray());
}
}
}
return pageByteArrays;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment