ivida o pdf enorme de 40000 páginas em páginas únicas, itextsharp, outofmemoryexception

Estou recebendo enormes arquivos PDF com muitos dados. O PDF atual é de 350 MB e possui cerca de 40000 páginas. Obviamente, seria bom obter PDFs menores, mas é com isso que tenho que trabalhar agora: -

Eu posso abri-lo no Acrobat Reader com algum atraso ao carregar, mas depois que o Acrobat Reader é rápid

Agora preciso dividir o arquivo enorme em páginas únicas, depois tentar ler alguns dados do destinatário das páginas em pdf e enviar as uma ou duas páginas que cada destinatário deve obter para cada destinatário específic

Aqui está meu código muito pequeno até agora usando itextsharp:

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

O que acontece é que se trata da segunda linha "new PdfReader" e fica lá por talvez 10 minutos, o processo atinge cerca de 1,7 GB de tamanho e, em seguida, recebo uma OutOfMemoryExceptio

Acho que o "novo PDFReader" tenta ler o PDF inteiro na memóri

Existe alguma outra / melhor maneira de fazer isso? Por exemplo, posso de alguma forma ler apenas uma parte de um arquivo PDF na memória em vez de todo de uma vez? Poderia funcionar melhor usando alguma outra biblioteca que itextsharp?

questionAnswers(5)

yourAnswerToTheQuestion