岡田光介
unread,Aug 30, 2024, 8:08:01 AM8/30/24Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to RapidReportサポート QAフォーラム
Windowsフォーム環境にて、GdiRendererを使用してPDFファイルを出力しましたが、
その際にrrptファイルの用紙設定→用紙タイプ:A4、横方向にチェックを入れておりました。
この状態で、プレビューを表示、印刷ボタンを押下して、プリンター設定を開き、用紙の方向を確認したところ、
縦方向になっておりました。
ただ、環境とプリンターで横方向が適用される場合と適用されない場合があったため、
常に横方向となるように設定することは可能でしょうか。
開発内で、横向きになる、ならないのパターンを検証しましたところ、
以下のようになりました。
■縦方向となるパターン
Windows11 + CanonTS3500 series(windows11標準の印刷設定ダイアログが開く)
■横方向が引き継がれるパターン
Windows10 + CanonTS3500 series(プリンターのメーカーの印刷設定ダイアログが開く)
Windows11 + Microsoft Print to PDF
Windows11 + EP-811A Series(プリンターのメーカーの印刷設定ダイアログが開く)
Windows11 + RICOH MP C3004(プリンターのメーカーの印刷設定ダイアログが開く)
//実際に記載しているコード
private void PrintReport(DataTable targetDataTable, DataTable total, DataTable info) {
try {
//Rapid Report の印刷ダイアログを立ち上げる。
Report report = new Report(Json.Read(@"対象レポート.rrpt"));
//GroupDataProvider dataProvider = new GroupDataProvider();
// 帳票にデータを渡します
//report.Fill(new ReportDataSource(targetDataTable));
GroupDataProvider dataProvider = new GroupDataProvider();
// 第2引数にdataProviderを渡します
report.Fill(new ReportDataSource(targetDataTable), dataProvider);
ReportPages pages = report.GetPages();
GdiRendererSetting setting = new GdiRendererSetting();
//フォント設定
setting.FontMap.Add("MS UI Gothic", "MS Pゴシック");
FmPrintPreview preview = new FmPrintPreview(new Printer(pages, setting));
//画面サイズにプレビューをフィットさせるか
preview.StartUpZoomFit = true;
//プレビュー用のダイアログボックスを立ち上げる
preview.ShowDialog();
} catch (Exception ex) {
throw ex;
}
}