- PR -

プリンタがサポートしないサイズのPaperSizeの取得方法

1
投稿者投稿内容
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-10-25 16:12
ドキュメントのサイズを決定するために
PrintDocumentのPrinterSettings.PaperSizesからPaperKindが等しいPaperSizeを見つけだし、
WidthとHeightを取得するということをやっております。

ところがたとえばプリンターがA3サイズをサポートしていないといった場合に
A3サイズのドキュメントのサイズを知ることができません。

とりあえずはA4のサイズから計算すればよいのですが、なにか他によい方法がありそうに思えて
質問してみようと思いました。

極端な話、プリンターがインストールされていない状況では、ドキュメントの編集もできない
ということでは困るわけで、べたで値を持たせようかなと思い始めています。

ご意見を伺えれば幸いです。よろしくお願いいたします。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-25 16:57
引用:

ジブさんの書き込み (2005-10-25 16:12) より:

とりあえずはA4のサイズから計算すればよいのですが、
なにか他によい方法がありそうに思えて質問してみようと思いました。


ないと思います...
PrinterSettings のインスタンスは有効なプリンタを指定する必要があります。
ないものから PaperSizes は取得できません。

引用:

極端な話、プリンターがインストールされていない状況では、ドキュメントの編集もできない
ということでは困るわけで、べたで値を持たせようかなと思い始めています。


ベタなのはまずいかもしれませんが、外部ファイルに持たせておくのはアリかもしれません。

# System.Drawing.Printing.PaperKind からムリヤリ取得することも可能でしょうが、
# 結局、標準の用紙サイズなので、同じことでしょうね。

[ シグネチャを削除 ]

[ メッセージ編集済み 編集者: じゃんぬねっと 編集日時 2006-10-12 11:49 ]
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-10-25 20:52
じゃんぬさん、ありがとうございました。

固定値を持たせてプリンタが当該用紙で有効でない場合に限り使うことにしようと思います。
べたと言っても、ページ情報専用のクラスで持つ分には問題なかろうと判断しました。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)