我正在使用Telerik在C#中将一些简单的文本呈现为PDF:
using Telerik.Reporting;
using Telerik.Reporting.Processing
...
ReportProcessor reportProcessor = new ReportProcessor();
InstanceReportSource instanceReportSource = new InstanceReportSource();
instanceReportSource.ReportDocument = new MyReport();
RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, null);
这在本地效果很好。
我已经设置了Azure应用服务,并且在运行reportProcessor.RenderReport()时出现以下错误:
An error has occurred while rendering the report: System.ArgumentException: Parameter is not valid.
at System.Drawing.Graphics.GetHdc()
at Telerik.Reporting.Pdf.PdfContext..ctor()
at Telerik.Reporting.Pdf.PdfDocument..ctor()
at Telerik.Reporting.ImageRendering.DocumentPdf.FindOrCreateDocument()
at Telerik.Reporting.ImageRendering.DocumentPdf..ctor(PdfRenderingContext context, IMeasureContext measureContext)
at Telerik.Reporting.ImageRendering.PdfReport.CreateDocument(IDictionary renderingInfo, IDictionary deviceInfo, CreateStream createStreamCallback, PageSettings pageSettings)
at Telerik.Reporting.BaseRendering.DocumentRenderingExtensionBase.CreateWriter(IDictionary renderingContext, IDictionary deviceInfo, CreateStream createStreamCallback, PageSettings pageSettings)
at Telerik.Reporting.ImageRendering.PdfReport.CreateWriter(IDictionary renderingContext, IDictionary deviceInfo, CreateStream createStreamCallback, PageSettings pageSettings)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
我觉得这可能是我配置Azure应用程序服务的方式的问题。这是我的配置:-位置:美国西部(我们位于犹他州)-“ F1免费”定价层(也位于美国西部),具有1 GB的存储空间,并由2个App Services使用
我的Azure应用服务配置丢失了什么吗?
Azure的免费定价层当前不支持GDI +,Telerik Reporting使用该GDI +呈现为PDF。您的Azure应用服务必须使用基本或标准模式,而不是免费或共享模式。Microsoft在2014年在Telerik论坛中提到的此功能上于2014年部署了此功能:
http://www.telerik.com/forums/out-of-memory-in-azure-websites#yDA-ydAnBEOF0qKbHljCvw
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句