是什么原因导致Crystal Reports中的"页眉加页面页脚对于页面而言太大"错误?

anu*_*g19 10 .net c# windows

我使用以下代码作为打印按钮:

Data.str = null;
//Data.str = textBox24.Text.ToString();
string s = "select * from temp_bond";
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Real.mdb";
cn.Open();

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter(s, cn);
ds.Clear();
da.Fill(ds);
Bond rpt = new Bond();
rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "BOND_" + Data.str + ".pdf");
System.Diagnostics.Process.Start("BOND_" + Data.str + ".pdf");
//r.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "E:\\rep.pdf");
//crystalReportViewer1.ReportSource = r;
OleDbCommand cm1 = new OleDbCommand("delete * from temp_bond", cn);
cm1.ExecuteNonQuery();
cn.Close();
Run Code Online (Sandbox Code Playgroud)

我在这段代码中收到错误:

rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "BOND_" + Data.str + ".pdf");
Run Code Online (Sandbox Code Playgroud)

错误是:

页眉加页面页脚对于页面而言太大.文件C中的错误:\ DOCUME~1\ADMINI~1\LOCALS~1\Temp\temp_3f674868-8e5d-46ce-80eb-dce78bb2ba89 {17674136-B71E-4C6F-9E36-1CEB514B13BF} .rpt:页眉或页脚长于a页.

是什么导致这种情况以及如何解决?

RLH*_*RLH 13

我有一个已发布多年的应用程序,并使用Crystal Reports作为嵌入式文档生成工具.我的应用程序中包含的报告已经工作了多年,当我收到收到此确切错误消息的用户的支持电话时,我感到困惑了一段时间.

经过一番头脑和研究后,我发现主要罪魁祸首是最终用户计算机上的默认打印机. 如果默认打印机当前配置为在不同尺寸的纸张上打印,该尺寸小于您生成的报告,Crystal Reports将为您提供此错误消息. 此外,如果打印机设置为以不同于CR报告方向的方向打印,您将收到此消息.

这个错误的真正奇怪/设计不佳的问题是,即使您向运行时声明只是创建PDF,您也会收到它.我假设CR正在使用一些默认的打印机设置来初始化运行时.

你有几个选择来解决这个问题.首先,您可以将默认打印机更改为其他设备.如果您的默认打印机具有不同的非典型外形(例如标签打印机),则可能必须执行此操作.如果标签小于您的文档,Crystal Reports将不喜欢标签打印机.

当然,选项二是重新配置打印机驱动程序,以指定足够大的纸张类型以适合您的文档.此外,如上所述,请确保纸张打印首选项也设置为以Crystal Report文档所需的正确方向(横向或纵向)进行打印.

最后,您可以将默认打印机更改为其他打印​​机或从PC中删除打印机.这不是最有利的答案,但这可能是让消息消失的最后一个必要步骤.