macOS アプリで印刷機能を実装しようとすると、NSPrintInfo を扱うことになります。そのなかの PaperSize について説明します。
Sponsor Link
環境&対象
以下の環境で動作確認を行なっています。
- macOS Big Sur 11.1
- Xcode 12.3
NSPrintInfo
印刷やプリンタダイアログ表示前に設定するクラスです。
Apple のドキュメントは、こちら。
paperSize
NSPrintInfo のプロパティの1つに、paperSize があります。
Apple のドキュメントは、こちら。
paperSize
var paperSize: NSSize { get set }
説明として、「The size is measured in points in the user coordinate space.」と書かれています。
単位は、mm 系でも inch 系でもなく、ポイントでした。(ある意味、inch 系ですが。)
ポイントの定義は、複数あるようなのですが、わかりやすいところでは、 1ポイント = 1/72 インチ というものがあるようです。
ちなみに、この定義で計算すると 1 mm は 2.83 ポイント になります。
paperSize だけにとどまらず、topMargin 等も ポイントで指定するようになっています。
まとめ:NSPrintInfo での単位は、ポイント
NSPrintInfo での単位は、ポイント
- paperSize, topMargin, bottomMargin, leftMargin, rightMargin は、ポイントで指定する必要がある
- 1mm は、2.83 ポイント
説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。
Sponsor Link