[MacOS] 印刷時に使用する NSPrintInfo の単位は、ポイントです

macOS アプリで印刷機能を実装しようとすると、NSPrintInfo を扱うことになります。そのなかの PaperSize について説明します。

環境&対象

以下の環境で動作確認を行なっています。

  • macOS Big Sur 11.1
  • Xcode 12.3

NSPrintInfo

印刷やプリンタダイアログ表示前に設定するクラスです。

Apple のドキュメントは、こちら

paperSize

NSPrintInfo のプロパティの1つに、paperSize があります。

Apple のドキュメントは、こちら

paperSize

説明として、「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 ポイント

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です