11

印刷ボタンに次のコードを使用しました。

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();

そして、私はこのコードでエラーが発生しています:

rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "BOND_" + Data.str + ".pdf");

エラーは次のとおりです。

ページ ヘッダーとページ フッターがページに対して大きすぎます。ファイル C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\temp_3f674868-8e5d-46ce-80eb-dce78bb2ba89 {17674136-B71E-4C6F-9E36-1CEB514B13BF}.rpt のエラー: ページ ヘッダーまたはフッターが a より長いページ。

何が原因で、どうすれば修正できますか?

4

10 に答える 10

19

Crystal Reports を埋め込みドキュメント生成ツールとして使用する、何年も前から公開されているアプリケーションがあります。私のアプリケーションに含まれているレポートは何年も機能しており、この正確なエラー メッセージを受け取ったユーザーからサポートの電話を受けたとき、しばらく困惑しました。

少し頭を悩ませて調査した結果、主な原因はエンド ユーザーのコンピューターの既定のプリンターであることがわかりました。 デフォルト プリンタが現在、生成しているレポートより小さいサイズの用紙に印刷するように設定されている場合、Crystal Reports はこのエラー メッセージを表示します。 また、プリンターが CR レポートの向きとは異なる向きで印刷するように設定されている場合にも、このメッセージが表示されます。

このバグの非常に奇妙で設計が不十分な問題は、単に PDF を作成するようにランタイムに宣言したとしても、このバグを受け取ることです。CR はランタイムを初期化するためにデフォルトのプリンター設定の一部を使用していると思います。

これを修正するには、いくつかのオプションがあります。まず、デフォルトのプリンターを別のデバイスに変更できます。デフォルト プリンタが通常とは異なるフォーム ファクタ (ラベル プリンタなど) である場合は、これを行う必要があります。ラベルがドキュメントよりも小さい場合、Crystal Reports はラベル プリンタを好みません。

もちろん、オプション 2 は、プリンタ ドライバを再構成して、ドキュメントに十分収まる大きさの用紙の種類を指定することです。また、前述のように、Crystal Report ドキュメントが期待する正しい向き (横向きまたは縦向き) で印刷するように用紙の印刷設定も設定されていることを確認してください。

最後に、デフォルトのプリンターを別のプリンターに変更したり、PC からプリンターを削除したりできます。これは最も好ましい答えではありませんが、メッセージを消すために必要な最後のケースかもしれません。

于 2012-11-02T14:41:23.733 に答える
0

レポートのデザインを右クリックして、Crystal レポートのページ サイズを変更してみてください。

于 2014-05-27T11:55:09.130 に答える
0

MS Dynamics 環境で何年も問題なく実行されている Crystal Report でこのエラーが発生しました。少し頭をひっかいてグーグルで調べた後、私のユーザーの1人が「ああ、注文のすべてのメモを削除してほしいと思うね」と言った。

私の Crystal レポート テンプレートには、レポートのヘッダーに「メモ」ボックスがあります。デザイン的にはメモが1行に収まるように収まり、フォームはA4ページに収まります。

【お見積りフォーム】

ユーザーはそのボックスに 40 行以上のメモを入力しました....そのため、ページの境界の外に押し出されました。

于 2019-05-09T06:31:28.873 に答える