我正在使用Crystal Reports和VS2010构建一个报告:ASP.NET / C#相当大(使用OLE对象的6页),所以我不确定这是否是这个问题的原因或解决方案,但我需要知道如何解决这个或替代方案。我以相同的方式使用OLE对象构建的所有其他报告仍然可以正常导出。
我使用的代码是:
protected void exportPDF_btn_Click(object sender, EventArgs e)
{
ReportDocument repDoc = getReportDocument(); //regathers the report
Response.Buffer = false;
Response.ClearContent();
Response.ClearHeaders();
try
{
repDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, "filename");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
ex = null;
}
finally
{
Response.End();
}
}
问题是我不断收到错误消息:
内存已满,无法导出报告,内存不足 操作
我尝试过的其他解决方案:
将第3个参数从true更改为false,从而产生以下代码行:
repDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat,Response,false,“filename”);
使用ExportToDisk而不是ExportToHttpResponse,导致 这段代码:
repDoc.ExportToDisk(ExportFormatType.PortableDocFormat,@“Z:\ KFauver \ test \ file.pdf”);
此报告是我需要完成的最后一项,以便最终能够进行beta测试。但是,我现在正式失去了如何将其导出为PDF(或其他任何内容)。任何帮助表示赞赏!无论是修复还是替代,都要试试吧。提前谢谢。
答案 0 :(得分:0)
显然,在报表上有6个单词doc OLE对象的实例会导致它需要太多内存。我没有意识到这一点。我的修复是截取每个页面的屏幕截图并将图像粘贴到报告中。似乎工作得很好。
答案 1 :(得分:0)
两周前我遇到了这个问题,由于这个错误导致我的项目待定。尝试下面的任何动作后。 安装几台PDF打印机 更新我的Crystal报表版本 更改默认打印机和...
最后,通过检查水晶报告中的无打印机(优化屏幕显示)并保存报告,解决了我的问题。 现在它运作良好 谢谢