Boa noite galera.
Tenho uma integração com o Telerik que monta relatórios em PDF e os exibe em tela na aplicação. Porém estou recebendo o erro abaixo quando coloco o relatório pra gerar:
Alguém tem ideia do que pode ser? Já liberei geral a permissão de escrita pra todos os usuários da maquina (inclusive o IIS).
[ExternalException (0x80004005): Erro genérico de GDI+.]
System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) +489501
System.Drawing.Image.Save(Stream stream, ImageFormat format) +38
Telerik.Reporting.XmlSerialization.Current.ImageConverter.ConvertToString(Image image) +76
Telerik.Reporting.XmlSerialization.Current.PictureBoxSerializable.get_Value() +38
[SerializationException: An error occurred during the xml serialization. Please, check the InnerException for more details.]
Telerik.Reporting.Xml.ObjectXmlWriter.ThrowSerializationException(Exception exception) +74
Telerik.Reporting.Xml.ObjectXmlWriter.Serialize(Object obj, String defaultNamespace) +64
Telerik.Reporting.Xml.XmlSerializer.Serialize(Stream stream, Object value, String defaultNamespace) +87
Telerik.Reporting.XmlSerialization.ReportXmlSerializer.Serialize(Stream stream, Object value) +20
Segue o meu trecho de código:
//Converte o XML para classe Telerik.Reporting.Report
public Telerik.Reporting.Report ConvertXmlToReport(string xml)
{
Telerik.Reporting.Report report = new Telerik.Reporting.Report();
try
{
//Expressões regulares para remoção de quebras de linhas e parágrafos do xml.
xml = System.Text.RegularExpressions.Regex.Replace(xml, @"\r\n?|\n", " ");
xml = System.Text.RegularExpressions.Regex.Replace(xml, @"> *\t*<", "><");
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
using (XmlReader reader = XmlReader.Create(new StringReader(xml), settings))
{
ReportXmlSerializer xmlSerializer = new ReportXmlSerializer();
report = (Telerik.Reporting.Report)xmlSerializer.Deserialize(reader);
}
}
catch (Exception ex)
{
throw new ApplicationException(ex.Message, ex.InnerException);
}
return report;
}