Hi,
I get an System.OutOfMemoryException when saving a Word document.
I do something like that:
[…]
_documentBuilder = new DocumentBuilder(_document);
foreach(Image myImage in Images)
{
_documentBuilder.InsertImage(myImage);
_documentBuilder.Writeln();
}
[…]
_document.Save(fileName, AWord.SaveFormat.Doc);
I have 200 images (it might be more) that have a maximum width and height of 540 pixels each. If I resize my images to 120 x 120, it works fine, even with more images.
Most of the times, it crashes in the Save method:
mscorlib.dll!System.IO.MemoryStream.Capacity.set(int value = 45939584)mscorlib.dll!System.IO.MemoryStream.EnsureCapacity(int value) mscorlib.dll!System.IO.MemoryStream.Write(byte[] buffer = {byte[424239]}, int offset = 0, int count = 424239)mscorlib.dll!System.IO.BinaryWriter.Write(byte[] buffer)Aspose.Words.dll!ᮆ.Ễ.DoWrite(System.IO.BinaryWriter writer = {System.IO.BinaryWriter})Aspose.Words.dll!ᮆ.ᴯ.ි(System.IO.BinaryWriter ී = {System.IO.BinaryWriter})Aspose.Words.dll!ᮆ.ᵯ.DoWrite(System.IO.BinaryWriter writer = {System.IO.BinaryWriter})Aspose.Words.dll!ᮆ.ᴯ.ි(System.IO.BinaryWriter ී = {System.IO.BinaryWriter})Aspose.Words.dll!ᮆ.ὲ.ᾁ(Aspose.Words.Drawing.ShapeBase Ⴏ = {Aspose.Words.Drawing.Shape}, System.IO.BinaryWriter ී = {System.IO.BinaryWriter})Aspose.Words.dll!ᮆ.ὲ.ᾀ(Aspose.Words.Drawing.ShapeBase Ⴏ = {Aspose.Words.Drawing.Shape}, System.IO.BinaryWriter ී = {System.IO.BinaryWriter})Aspose.Words.dll!⥣.⦰.⦾(Aspose.Words.Drawing.ShapeBase Ⴏ = {Aspose.Words.Drawing.Shape})Aspose.Words.dll!⥣.⦰.⦺(Aspose.Words.Drawing.Shape Ⴏ = {Aspose.Words.Drawing.Shape})Aspose.Words.dll!⥣.⦰.ᾀ(Aspose.Words.Drawing.ShapeBase Ⴏ = {Aspose.Words.Drawing.Shape})Aspose.Words.dll!⥣.⦰.᾿(Aspose.Words.Drawing.ShapeBase Ⴏ = {Aspose.Words.Drawing.Shape})Aspose.Words.dll!⥣.⦰.⦶(Aspose.Words.Drawing.Shape Ⴏ = {Aspose.Words.Drawing.Shape})Aspose.Words.dll!⥣.⥢.VisitShapeStart(Aspose.Words.Drawing.Shape shape = {Aspose.Words.Drawing.Shape})Aspose.Words.dll!Aspose.Words.Drawing.Shape.Accept(Aspose.Words.DocumentVisitor visitor = {⥣.⥢})Aspose.Words.dll!Aspose.Words.CompositeNode.(Aspose.Words.DocumentVisitor ࡀ = {⥣.⥢})Aspose.Words.dll!Aspose.Words.Paragraph.Accept(Aspose.Words.DocumentVisitor visitor = {⥣.⥢})Aspose.Words.dll!Aspose.Words.CompositeNode.(Aspose.Words.DocumentVisitor ࡀ = {⥣.⥢})Aspose.Words.dll!Aspose.Words.Body.Accept(Aspose.Words.DocumentVisitor visitor = {⥣.⥢})Aspose.Words.dll!⥣.⥢.ᒔ(Aspose.Words.Section ᇞ = {Aspose.Words.Section})Aspose.Words.dll!⥣.⥢.⥺()Aspose.Words.dll!⥣.⥢.ᒍ(՞.ᖄ ᒎ = {՞.ᖄ})Aspose.Words.dll!Aspose.Words.Document.ࠤ(System.IO.Stream ف = {System.IO.FileStream}, string ظ = "C:\Exports\Word\bah.doc", Aspose.Words.SaveFormat ࠥ = Doc)Aspose.Words.dll!Aspose.Words.Document.Save(string fileName = "C:\Exports\Word\bah.doc", Aspose.Words.SaveFormat fileFormat = Doc)
Sometimes, the crash can be when Insert images in the document builder:
Aspose.Words.dll!ص.ش.ٙ(System.IO.Stream ٗ = {System.IO.MemoryStream})Aspose.Words.dll!Aspose.Words.DocumentBuilder.InsertImage(System.IO.Stream stream = {System.IO.MemoryStream}, Aspose.Words.Drawing.RelativeHorizontalPosition horzPos = Column, double left = 0.0, Aspose.Words.Drawing.RelativeVerticalPosition vertPos = Paragraph, double top = 0.0, double width = -1.0, double height = -1.0, Aspose.Words.Drawing.WrapType wrapType = Inline)Aspose.Words.dll!Aspose.Words.DocumentBuilder.InsertImage(System.Drawing.Image image = {System.Drawing.Bitmap}, Aspose.Words.Drawing.RelativeHorizontalPosition horzPos = Column, double left = 0.0, Aspose.Words.Drawing.RelativeVerticalPosition vertPos = Paragraph, double top = 0.0, double width = -1.0, double height = -1.0, Aspose.Words.Drawing.WrapType wrapType = Inline)Aspose.Words.dll!Aspose.Words.DocumentBuilder.InsertImage(System.Drawing.Image image = {System.Drawing.Bitmap}, double width = -1.0, double height = -1.0)
Aspose.Words.dll!Aspose.Words.DocumentBuilder.InsertImage(System.Drawing.Image image = {
System.Drawing.Bitmap
})
Do you have suggestions in order to avoid these exceptions?
Thank you,
Marie