2016-04-05 102 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文件。