2016-04-05 54 views
-1

我有一個使用PDFsharp創建的PDF文檔。這個pdf文件有1000頁。我正試圖將這1000頁的PDF文檔保存到內存流中。它在將文檔存儲在流中時會發生內存異常。誰能幫忙?下面是代碼:PDFsharp文件outofmemory異常

 var pdf = createPDFSharpDocument(); // some logic that makes the pdfsharp document. 
     var stream = new MemoryStream(); 
     pdf.Save(stream, false); 
     //some logic to use the stream that is generated 
+2

沒有足夠的信息。沒有足夠的代碼來複制問題。另請參閱:http://stackoverflow.com/help/mcve –

+0

它只是文本在網頁中,或者是否有嵌入的圖像等?如果它不僅僅是基於文本的,你可以很容易地用一個1000頁的文檔來存儲內存。您可以先將它分成幾個文檔,將單獨的文檔加載到內存中,稍後再進行處理和重新編譯。我想我很好奇,爲什麼你一次需要整個文檔在內存中。應該有各種各樣的方法來同時要求所有內存。 – ManoDestra

+0

我正在創建這個pdf,在這裏我將各種文檔合併爲一個並將其存儲到共享點 – genericuser

回答

2

這個問題是一個重複:https://stackoverflow.com/a/33609157/162529

簡短的回答:PDFsharp保存在內存中的一切。不要在一輪中添加太多的PDF文件。

確保您的程序以64位模式運行以利用所有內存。

要減少內存佔用量,請添加一些PDF文件,保存流,關閉它,重新打開它,添加一些PDF文件等等。
並且不要忘記關閉您從中導入的PDF文件。