我正在獲取大量數據的PDF文件。目前的PDF爲350 MB,大約有40000頁。這當然會是很高興得到較小的PDF文件,但這是我有現在:-(將巨大的40000頁PDF分割爲單頁,itextsharp,outofmemoryexception
我可以在Acrobat Reader一些延遲加載時,但在那之後的Acrobat Reader快速打開它的工作。
現在我需要拆分大文件到單頁,然後嘗試從PDF頁面看了一些收件人數據,然後發送給每個收件人應該得到每個特定收件人一兩頁。
這裏我是非常小的代碼到目前爲止使用iTextSharp的:
var inFileName = @"huge350MB40000pages.pdf";
PdfReader reader = new PdfReader(inFileName);
var nbrPages = reader.NumberOfPages;
reader.Close();
接下來發生的第二行「新PdfReader」然後停留在那裏大概10分鐘,進程大小約1.7 GB,然後出現OutOfMemoryException異常。
我認爲「新PdfReader」嘗試讀取整個PDF到內存中。
有沒有其他的/更好的方法來做到這一點? 例如,我可以以某種方式只讀取PDF文件的一部分到內存中,而不是一次性讀取所有內容? 使用itextsharp以外的其他庫可以更好地工作嗎?
Wolfram Alpha表示,雙面打印的40,000頁文檔將是80英寸高 - 超過2米。 – Cheeso
只是好奇心,這是什麼PDF? –
http://stackoverflow.com/questions/656351/can-anyone-recommend-a-good-pdf-reading-library-for-net可能會有助於嘗試另一個或兩個庫,以查看是否有更好的讀取屬性。 –