貴重な情報を取得いただき誠にありがとうございます。
.NET アプリケーションの PrintToPrinter 関数からご利用いただいているプリンタ (NEC Multi Impact 700JAN) に対して定型用紙サイズ (A4、B4 等) でも正常に印刷することができないとご報告いただきました。
PrintToPrinter 関数は、以下のコード記述をご利用いただいておりますが、
crReportDocument.PrintToPrinter(Single.Parse(TextBox1.Text), False, 1, 9999)
以下の引数に置き換えてお試しください。
(記述例)
Dim printerSettings As New System.Drawing.Printing.PrinterSettings
Dim pageSettings As New System.Drawing.Printing.PageSettings
Dim layoutSettings As New CrystalDecisions.Shared.PrintLayoutSettings
(省略)
printerSettings.PrinterName = "プリンタ名"
crReportDocument.PrintToPrinter(printerSetting, pageSettings, false, layoutSettings)
また、以下の SAP Knowledge Base Article(KBA) に添付されたサンプルプログラムを利用して今回のレポートをプリンタへの印刷をお試しください。
2163438 - How do I make Crystal Reports for Visual Studio print my reports? (https://service.sap.com/sap/support/notes/2163438)
手順は、以下のとおりです。
1. 開発環境で添付されたプロジェクト (C#) を開き、再ビルドしてから実行します。
【プレビュー表示後のビューアからプリンタへの印刷】
2. [open rpt] をクリックして、該当レポートファイルを選択してから [Open] をクリックします。
3. [View Report] をクリックすることでビューアにレポートが表示されます。
4. [Viewer Print Mode] は、"PrintToPrinter" が選択されておりますが、ここでビューアの [Print Report] アイコンをクリックします。
5. [Viewer Print Mode] は、"PrintOutputController" を選択して、ビューアの [Print Report] アイコンをクリックします。
6. この印刷設定画面でプリンタ、用紙サイズ、給紙方法を選択してからプリンタへ印刷します。
以下の⑪⑫の事象発生有無と連続印刷が可能であるかご確認ください。
⑪プレビュー表示後の印刷では、印字サイズが小さくなる。
⑫プレビュー表示後の印刷では、印刷方向が逆になる。
【コードから直接プリンタへの印刷】
7. [Close rpt] をクリックして、開いているレポートを閉じます。
8. 再度、[open rpt] をクリックして、該当レポートファイルを選択してから [Open] をクリックします。
9. [Printer] からプリンタを選択し、[paper] の [size] と [source] からそれぞれ用紙サイズと給紙方法を選択します。
10. [Set Printer] をクリックします。
11. [POController] をクリックします。 PrintToPrinter 関数ではなく、PrintOutputController を利用してプリンタへ印刷することになります。
なお、[P 2 P] は、PrintToPrinter 関数を利用したコード記述になります。
それぞれの関数でプリンタへの印刷をお試しいただき、本件の事象発生有無をご確認ください。
Yoshi