split enorme PDF de 40000 páginas en páginas individuales, itextsharp, outofmemoryexception

Estoy obteniendo enormes archivos PDF con muchos datos. El PDF actual es de 350 MB y tiene aproximadamente 40000 páginas. Por supuesto, hubiera sido bueno obtener archivos PDF más pequeños, pero esto es con lo que tengo que trabajar ahora: -

Puedo abrirlo en Acrobat Reader con algún retraso al cargar, pero después de eso Acrobat Reader es rápido.

Ahora necesito dividir el archivo enorme en páginas individuales, luego intentar leer algunos datos del destinatario de las páginas pdf y luego enviar las una o dos páginas que cada destinatario debe llegar a cada destinatario en particular.

Aquí está mi código muy pequeño hasta ahora usando itextsharp:

var inFileName = @"huge350MB40000pages.pdf";
PdfReader reader = new PdfReader(inFileName);
var nbrPages = reader.NumberOfPages;
reader.Close();

Lo que sucede es que se trata de la segunda línea "nuevo PdfReader", luego permanece allí durante unos 10 minutos, el proceso alcanza un tamaño de aproximadamente 1,7 GB y luego recibo una OutOfMemoryException.

Creo que el "nuevo PdfReader" intenta leer todo el PDF en la memoria.

¿Hay alguna otra / mejor manera de hacer esto? Por ejemplo, ¿puedo leer de alguna manera solo una parte de un archivo PDF en la memoria en lugar de todo a la vez? ¿Podría funcionar mejor usando alguna otra biblioteca que itextsharp?

Respuestas a la pregunta(5)

Su respuesta a la pregunta