- PR -

印刷方法

1
投稿者投稿内容
Dark Angel
会議室デビュー日: 2002/08/16
投稿数: 13
投稿日時: 2002-09-25 19:55
こんばんわ!!今、困っていることがありまして、ASP.NETで
印刷を行うためにJavaScriptを使用して、印刷をかけようとしているのですが、
印刷の際、プリンタ設定のダイアログ画面が出てしまいます。
表示せず、直接印刷する方法を知りたいのですが、よかったら教えてください!!
biac
大ベテラン
会議室デビュー日: 2001/10/22
投稿数: 106
投稿日時: 2002-09-26 21:36
引用:

こんばんわ!!今、困っていることがありまして、ASP.NETで
印刷を行うためにJavaScriptを使用して、印刷をかけようとしているのですが、
印刷の際、プリンタ設定のダイアログ画面が出てしまいます。



JavaScript から印刷するときに必ずプリンタ設定ダイアログが出るのは、ブラウザの仕様です。
それを出さないようにすることは、(セキュリティホールを突くことができれば別ですが) 不可能です。
※ Web サーフィンしてるあいだに、いつのまにか何枚もの広告を勝手に印刷されてしまうことを望みますか?

以下は IE に限定した話ですが…

ASP.NET から離れるなら、.NET Framework で作った DLL を Web ページに置いて、それに印刷させることが考えられます。
この場合は、デフォルトプリンタでよければ LocalIntranet 以上のパーミッション、コードから自由にプリンタを選択したければ Everything 以上のパーミッションが必要になります。
インサイド .NET Framework / 第9回 コード・アクセス・セキュリティ

また、.NET Framework からも離れるなら、ActiveX コントロールに印刷させる方法があります。
→ ActiveX コントロールから IE5.5 の印刷機能を制御する方法の参考 : Internet Explorer 5.5 の印刷機能のカスタマイズ
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-09-27 08:16
引用:

Dark Angelさんの書き込み (2002-09-25 19:55) より:
こんばんわ!!今、困っていることがありまして、ASP.NETで
印刷を行うためにJavaScriptを使用して、印刷をかけようとしているのですが、
印刷の際、プリンタ設定のダイアログ画面が出てしまいます。
表示せず、直接印刷する方法を知りたいのですが、よかったら教えてください!!


 「スタート→プログラム→管理ツール→.NET Framework Configration」で、URLに対して「すべての印刷を許可する」の設定をすれば、OK・・・になると思います。
こべっこ
常連さん
会議室デビュー日: 2002/06/22
投稿数: 20
投稿日時: 2002-09-27 10:39
この手の質問の解決策として、「セキュリティを緩くすればよい」という
ものが挙げられますが、質問者のマシンの設定だけを変えればいいという
ものではなく、質問者が作成したWebアプリケーションのユーザ全てが
セキュリティを緩くする必要があるということに気を配るべきだと思います。

少なくとも、質問者はその質問内容から、ブラウザのセキュリティ制限に
ついては知らないはずですから、ユーザマニュアルに「ブラウザのセキュリティ
設定を緩くしてActiveXを使用できるようにしてください」と書きかねません。

●まずは出来ないと思ったほうがいい
●出来ないこともないが
-ブラウザに穴をあけることになる
-ブラウザの種類に制限が出来る(WinのIEしばりとか)
という点で、ブラウザのよさが失われるためやめたほうがいい

ローカルファイルへの自動ダウンロード/アップロードもよくある質問ですが、
同じような解答になると思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-10-01 14:21
引用:

こべっこさんの書き込み (2002-09-27 10:39) より:
この手の質問の解決策として、「セキュリティを緩くすればよい」という
ものが挙げられますが、質問者のマシンの設定だけを変えればいいという
ものではなく、質問者が作成したWebアプリケーションのユーザ全てが
セキュリティを緩くする必要があるということに気を配るべきだと思います。



 その通りですね。その通りなんですが、イントラネット利用のアプリケーションを作っている場合、そういったセキュリティーに穴をあけたい場合もあるのではないでしょうか。
 たとえば、私が携わっている機能がそうです。メインの情報の付帯情報としてファイルを添付したいのですが、.NETのセキュリティーではファイルそのものにアクセスできても、ファイル名にはアクセスできません。すると、作りとしてこんなことが考えられます。
・ユーザはファイルダイアログを使わずにフルパスで指定する
・ファイルそのものをデータベースに登録し、参照時にファイルをダウンロードさせる
こんな、ユーザにとって使い勝手が悪く、作る側にとっても面倒で、ディスクスペースという資源を大量消費するモノを、イントラネット利用のアプリケーションに望むでしょうか。ローカルなコンピュータから実行されるモノについてはオープンファイルダイアログで、ビジュアルに指定できるのですから、当然「何でこんな風に作らないんだ」といわれるでしょう。

 確かに言葉足らずではありましたが、biacさんの示されている箇所を読めばその辺ことはわかることです。というか、それが示されているから、「原則はそうなんだけれど、こうやって逃げる方法もある」ということを示してみました。また、セキュリティーのゆるめ方についてもURLを特定して、と書いています。もちろん、このツールを調べればすべてのアセンブリをフルトラストにすることもできるわけですが…。


 しかし、ASP.NETはサーバ側で実行されるので、.NETのセキュリティーポリシーは関係ないですね。
Dark Angel
会議室デビュー日: 2002/08/16
投稿数: 13
投稿日時: 2002-10-07 09:47
ありがとうございました。

参考にさせていただきます。
またよろしくお願いいたします。
Dark Angel
会議室デビュー日: 2002/08/16
投稿数: 13
投稿日時: 2002-10-07 09:47
ありがとうございました。

参考にさせていただきます。
またよろしくお願いいたします。
1

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