DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プリンタ機能の印刷設定を反映させるには?

環境/言語:[Windows Xp , Microsoft Visual Basic 2008 Express Edition SP1]
分類:[.NET]

A4サイズの帳票をプリンタの設定でA3に拡大して印刷をしようとしています。

印刷ダイアログを表示し、そのダイアログの詳細設定(又はプロパティ)よりプリンタの印刷設定ダイアログを表示し、そこでプリンタの機能である用紙指定変倍の項目においてA4をA3に設定します。
そして印刷をしてみると設定内容が反映されずA4のまま印刷されてしまいます。
用紙サイズや給紙トレイなどの基本項目の変更は問題なく反映されるのですが、プリンタ固有の(専用の)設定を反映させる為には何かコマンドが必要なのでしょうか?

※エクセルやメモ帳など、VB.NETで作成したプログラム以外の既設アプリケーションでは問題なく設定通りに拡大されA3で印刷されます。

※「プリンタとFAX」において、あらかじめ用紙指定変倍の項目をA4からA3に設定をしたプリンタならば、A3で印刷出来ます。

Printer : RICOH imagio neo w400(複合機)
MS12-025 の既知の問題かも

以下引用
マイクロソフトでは、Windows フォーム アプリケーションからの印刷に問題あることを認識しています。これらのセキュリティ更新プログラムをインストールした後で、特定の Windows フォーム アプリケーションで印刷できないか印刷時に指定したプリンターの設定が優先されないことがあります。
http://support.microsoft.com/kb/2671605/ja
2012/04/20(Fri) 17:56:21 編集(投稿者)

■No30357に返信(とーむさんの記事)
> プリンタ固有の(専用の)設定を反映させる為には何かコマンドが必要なのでしょうか?

セキュリティ更新 MS12-025 によって、.NET の WinForm アプリケーションで
帳票の拡大縮小ができなくなるという話を聞いています。
http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=32272

自己責任とはなりますが、該当パッチ KB2656369 / KB2656373 を
削除する事で回復するそうです。ただし、この方法はできるだけ避けてください。


(1) XPのコントロールパネル「プログラムの追加と削除」を起動
※Vista/7 では、「プログラムのアンインストール」を起動

(2) 画面上部の『更新プログラムの表示(D)』をチェック
※Vista/7 では、「インストールされた更新プログラムを表示」を選択

(3) 一覧から「Microsoft .NET Framework 2.0 Service Pack 2」の「KB2656369」を削除する。
※Vista/7 では「Microsoft Windows(KB2656373)のセキュリティ更新プログラム」

(4) このままだと、Microsoft Update によって自動再インストールされるので、必要に応じて、(3)の更新を除外対象として設定しておく。


> エクセルやメモ帳など、VB.NETで作成したプログラム以外の既設アプリケーションでは問題なく設定通りに拡大されA3で印刷されます。
この問題は、Windows フォーム アプリケーションからの印刷時に発生するそうです。
なので、VB から直接印刷するのではなく、元データから PDF、XPS、XLS 等を作成し、
それを対応アプリにて印刷させるようなケースでは問題が発生しないと聞いています。

ただし海外では、Adobe Readerで同様の現象が起きた事例があるそうです。(当方再現せず)


> 「プリンタとFAX」において、あらかじめ用紙指定変倍の項目をA4からA3に設定をしたプリンタならば、A3で印刷出来ます。
Microsoft のサポートでは、パッチを削除するよりも、A3拡大設定したプリンターを
新たに追加するという方法での回避を推奨しているようです。
jijiさん、魔界の仮面弁士さん、ありがとうございます。
セキュリティ更新プログラムの問題である事、了解しました。
問題のある更新プログラム及びその削除の方法も記載して頂きましたので、早速問題のある更新プログラムを削除し、プリンタの設定が反映される事確認出来ました。

この件で2日間ほどネットをさまよって解決策を探しても見つからずにいましたので、理由が解りスッキリしました。又質問をさせて頂きますので、その時は宜しくお願いします。
解決済み!
■No30363に返信(とーむさんの記事)
> この件で2日間ほどネットをさまよって解決策を探しても見つからずにいましたので、理由が解りスッキリしました。又質問をさせて頂きますので、その時は宜しくお願いします。

4/11 公開のセキュリティ更新プログラムであるため、現象が起きるようになってからまだ 1 週間ぐらいしか経っていません。
そういったタイムリーな話題は、見つけるのが難しくなります。

なお、将来的にこの問題は修正されることが予想されるので、ずっと「削除すればよい」と思わないようにご注意ください。
解決済み!
■No30364に返信(Azuleanさんの記事)
> なお、将来的にこの問題は修正されることが予想されるので、ずっと「削除すればよい」と思わないようにご注意ください。
了解です。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板