2016-01-20 2 views
2

У меня этот вопрос, добавив изображение в формате PDF с использованием itextsharp:System.IndexOutOfRangeException добавления изображения в itextsharp

System.IndexOutOfRangeException: Index was outside the bounds of the array. 
at System.util.zlib.Tree.d_code(Int32 dist) 
at System.util.zlib.Deflate.compress_block(Int16[] ltree, Int16[] dtree) 

Код:

cb.BeginLayer(pdfLayer); 
iTextSharp.text.Image img = TextSharp.text.Image.GetInstance(memoryStream); 
img.SetAbsolutePosition(
     (float)(((resBounds.X - rectPage.X)/pageInfo.Dpi * 72.0f) * pageInfo.PrintOptions.Scale), 
     (float)((pageHeight * pageInfo.PrintOptions.Scale) - ((resBounds.Y + resBounds.Height)/pageInfo.Dpi * 72.0f) * pageInfo.PrintOptions.Scale)); 
img.ScaleAbsolute((float)((resBounds.Width/pageInfo.Dpi * 72.0f) * pageInfo.PrintOptions.Scale), 
     (float)((resBounds.Height/pageInfo.Dpi * 72.0f) * pageInfo.PrintOptions.Scale)); 
cb.AddImage(img); 
cb.EndLayer(); 

Ошибка происходит в строке: сЬ .AddImage (IMG);

+0

Просьба предоставить соответствующий код. Посмотрите на [Как задавать вопросы по SO] (http://stackoverflow.com/help/how-to-ask). – croxy

+0

, пожалуйста, предоставьте блок кода, в котором произошло исключение. –

+0

Пожалуйста, обновите свой вопрос, а не разместите его в комментарии. Также было бы очень полезно, если бы вы могли предоставить минимальную и полную примерную программу, показывающую ошибку. – Sam

ответ

1

Попробуйте сбросить поток до начала - у меня была эта проблема и удалось решить ее, выполнив это.

Что-то делать с некоторой формой положения курсора - глупо, но эй!

memoryStream.Seek (0, SeekOrigin.Begin); // вернуться к началу

 Смежные вопросы

  • Нет связанных вопросов^_^