- PR -

Servletから検索した結果をワンクッションで印刷

1
投稿者投稿内容
aki
常連さん
会議室デビュー日: 2004/09/17
投稿数: 23
お住まい・勤務地: 東京・神奈川
投稿日時: 2004-10-05 14:57
お疲れ様です。中村です。

Servletからワンクッションで印刷する為の技法について
質問です。

■環境■
CosminexusV5
JDK1.4.0
Oracle9i

今回、クライアントからの要望が、どうしてもDBから検索した結果を
直接印刷したいとの考えのようです。

イメージは下記のような感じだと考えられます。
@ボタン押下(ブラウザ)
A検索(Servlet)
B結果プリンタ出力(もしくはブラウザの印刷設定パネル表示)

イメージのようにServletから直接クライアントの印刷を開始(又は印刷パネル表示)
することは可能でしょうか。

CosminexusV5のコンテナを使用してはいますが、通常のServletとして
考えて頂いて構いません。
すなめり
常連さん
会議室デビュー日: 2003/01/29
投稿数: 37
お住まい・勤務地: 横浜
投稿日時: 2004-10-05 15:32
とりあえず、
・サーバ側でプリントアウトする。
・検索結果をブラウザ側に出力し、JavaScriptのonLoadで印刷ボタンを自動的に押下するようにする。

と2案考えてみましたが、いかがでしょうか?

私なら、プレビュー代わりになりますということで、素直にWeb画面に印刷ボタン貼り付けるだけにするよう説得してみますけどね。
とんでもない量の印刷になっても困りますし。
BBC
常連さん
会議室デビュー日: 2002/03/15
投稿数: 37
お住まい・勤務地: 東京
投稿日時: 2004-10-05 15:46
こんにちは。

コード:
<body onload="javascript:print();">



これですよね。
でも、私もすなめりさんの意見に同意しますけど。
結局、画面出力は出ているわけですし、結果をユーザが確認する必要はあると思います。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-10-05 16:16
私はダウンロードした画像を
ボタン押下で印刷する機能を作ったことがあります。

ブラウザで確認後、画面の印刷ボタンを押してもらう仕様でしたが、
ブラウザによって挙動が違い、ネスケ・IEでの制御のために
やたら複雑なJavaScriptを書いた覚えがあります。

レイアウトをこだわらないのであれば、
ブラウザの機能で印刷というのが一番無難じゃないでしょうか。
単なる紙出力なのか帳票としての出力なのかの切り分けがあると思いますが。
aki
常連さん
会議室デビュー日: 2004/09/17
投稿数: 23
お住まい・勤務地: 東京・神奈川
投稿日時: 2004-10-05 16:44
すなめりさん、BBCさん、かつのりさん、お返事有難うございます。

私もプレビュー画面がほしいのが現状です。
(ないと印刷元がないので印刷自体が出来ないような気もします)

現状も「検索→Excel出力(POI)→印刷設定→印刷」という処理は
あるのですが、繰り返し行うと実務が追いつかないとのことで、
『ワンクッションで印刷』とのことのようです。

引用:

とんでもない量の印刷になっても困りますし。


たしかに、全件だと数万件の印刷も可能な状態ですので(検索で絞るとは思いますが)
とんでもない量の印刷になる可能性も大ではあります。

やはり、サーバサイドのjavaなので、クライアントの操作(印刷)を操ることは
Script系、javaアプレット以外では、セキュリティ上出来ないのでしょうか…
c9katayama
常連さん
会議室デビュー日: 2003/02/04
投稿数: 38
投稿日時: 2004-10-05 20:16
こんにちは。
ScriptXというActiveXコンポーネントを利用すると、
印刷設定なしで直接印刷できます。
なので、
1、検索
2、結果出力(onLoadでScriptXの印刷設定なし印刷を呼ぶコードを書く)
4、勝手に印刷開始
という感じにできます。
印刷後のイベントもとれるので、そこで出力したブラウザを閉じて
しまえば、「ワンクッションで印刷」はできると思います。

[ メッセージ編集済み 編集者: c95029 編集日時 2004-10-19 12:59 ]
aki
常連さん
会議室デビュー日: 2004/09/17
投稿数: 23
お住まい・勤務地: 東京・神奈川
投稿日時: 2004-10-06 09:46
引用:

c95029さんの書き込み (2004-10-05 20:16) より:

ScriptXというActiveXコンポーネントを利用すると、
印刷設定なしで直接印刷できます。


ScriptXについて調べてみた所、このブラウザからの印刷方法は、
とても有効な手段と思いました。情報有難う御座います。

しかし、ブラウザに一度表示するようになってしまうので、
ユーザの希望と異なった結果となってしまうので、
ユーザともう一度検討したいと思います。

----
又、調べたところサーバとクライアントに適用し、直接やり取りを行う、
商用のソフトもあるようですので、それも検討項目に取込たいと思います。

有難う御座いました。
1

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