- - PR -
プリンタの用紙サイズ取得について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-07-27 15:18
お世話になります。初投稿です。
C#にて、従来Windows API(?)にある、DeviceCapabilities()のDC_PAPERSで取得できる、プリンタで使用できる用紙サイズを取得する方法は無いのでしょうか? System.Drawing.Printing.PrinterSettings.PaperSizeCollectionのKindで取得できるようなのですが、任意登録したユーザ用紙はすべて、Custumになってしまいます。 なんとか、.NET Frameworkのクラスライブラリで取得したいのですが。 ご存知の方がおられましたら、ご教授よろしくお願いします。 |
|
投稿日時: 2004-07-27 16:49
PaperSizeCollectionはPaperSizeインスタンスのコレクションなので
PaperSizeクラスのメンバを調べてみると ・Height ・Width ・PaperName のパブリックプロパティがありますのでこれを参照してみては どうでしょうか? くわしい内容はMSDNを参照してください googleで「PaperSize メンバ」で検索をかけると見つかります。 |
|
投稿日時: 2004-07-27 17:13
ゆうじゅんさん、ご回答ありがとうございます。
が、私が取得したいのはあくまで、DeviceCapabilities()のDC_PAPERSで取得できる用紙サイズ(コード)なのです。 詳しい話をしますと、 あるパッケージのカスタマイズを行なっています。 そのパッケージ内では、帳票に対し、事前にプリンタと用紙を設定できます。 プリンタは、プリンタ名を文字列で持っているのですが、用紙はDeviceCapabilities()のDC_PAPERSで取得できるコードで持っています。 そのため、そのコードから用紙名を取得したいのです。 が、PaperSizeのKind値では、プリンタの独自用紙やユーザが登録した用紙はすべてCustomとして返ってきてしまいます。 |
|
投稿日時: 2004-07-28 11:05
調べてみましたが、コードからとなるとAPIを使用するしかないですね
DeviceCapabilitiesのDC_PAPERNAMESで対応する用紙名が取得できます ので、もしコードからPaperSizeと紐付けするのであれば取得してきた 用紙名とPaperSizeクラスのPaperNameとマッチングするといいかも しれません。 |
1