skysan's programming notebook

コーディングして思ったことなどを気ままに

両面印刷の向きの設定

目的

WinFormsにて両面印刷した際に、印刷向きと裏面の印刷方向の関係がわかりにくかったので、備忘録として残します。

印刷の向きと裏面の印刷方向の関係

  • 印刷の向きはPageSettings.LandScapeプロパティ(true:横向き/false:縦向き)
  • 両面印刷設定はPrinterSettings.Duplexプロパティ
  • 印刷用紙のサイズ設定は縦方向で設定すること
// A4縦で用紙を設定(単位は1/100インチ)
var paperSize = new PaperSize("A4縦", 826, 1169);

図解

画力はお察し。

  • 縦向き:短辺綴じ
    • PageSettings.LandScape = false
    • PrinterSettings.Duplex = Duplex.Horizontal f:id:skysan:20170819004825p:plain
  • 縦向き:長辺綴じ
    • PageSettings.LandScape = false
    • PrinterSettings.Duplex = Duplex.Vertical f:id:skysan:20170819004841p:plain
  • 横向き:短辺綴じ
    • PageSettings.LandScape = true
    • PrinterSettings.Duplex = Duplex.Horizontal f:id:skysan:20170819004855p:plain
  • 横向き:長辺綴じ
    • PageSettings.LandScape = true
    • PrinterSettings.Duplex = Duplex.Vertical f:id:skysan:20170819004918p:plain

補足

上記のものは実際に紙に印刷して確認しています。

選択したプリンタが両面印刷対応かどうかはPrinterSettings.CanDuplexプロパティで確認。

XPSをプリンタとして選択した場合、横向きの印刷物に対して、
印刷用紙のサイズ設定を横方向設定してもうまく表示される場合がありますが、
実際に印刷するとうまくいかないことがあるので、注意が必要です。