使用Image.fromPath读取PDF文件的内存不足异常

时间:2016-01-10 17:23:22

标签: c# pdf drawing

我试图从本地路径读取System.Drawing.Image结构的PDF文件。

我使用了Image.fromPath(string fileName) - 它给我一个例外:

  

内存不足。

我阅读了文档,我明白在两种情况之一中可以抛出此异常 -

  

该文件没有有效的图片格式。

-OR -

  

GDI +不支持文件的像素格式。

我的问题是 - 它是哪一个,尽管如此我怎么能阅读图像?

注意:最终,图片变为System.IO.Stream - 如果您可以将PDF转换为此结构,它将对我有所帮助。

1 个答案:

答案 0 :(得分:1)

之前已回答过这个问题,here.

我想要做的是从本地路径获取流,为此我甚至不必使用System.Drawing - 它甚至不包括图像中的PDF,而是System.IO -

内存流可以由文件中的所有字节构成。我所要做的就是给出本地路径,从文件中读取数据,并将其作为内存流返回,如下所示:

var pdfContent = new MemoryStream(System.IO.File.ReadAllBytes(imageLocation));
pdfContent.Position = 0; // ensuring the stream is reading from the start.
return pdfContent;