- ベストアンサー
動的に生成したHTMLを、画面には表示しないですぐ印刷したい
ブラウザの画面がフレームで上下に二分割されています。 上のフレーム内に【印刷】というボタンがあり、それを押すと下のフレームの内容に関連のあるデータをデータベースから動的に取得してHTMLファイルを生成して適切なレイアウトに整形した後に、直ちにその内容を印刷(プリンタにデータを送信)する、などという事は可能でしょうか。 出来れば、その生成されたHTMLファイルは一切見えない状態で、あくまでプリンタへのみのデータ出力としたいのですが・・。 なんかイレギュラーな仕様ですが、仕事でやらねばならず、悩んでます。 可能ならばどういったコードを書けば良いかご教授下さい。ちなみに使用言語はVBScriptです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サーバ側のプリンタに出すというのなら容易ですが、クライアント側のプリンタに出すのは面倒かも。 隠れたフレームに対して結果を送信し、onloadイベントで印刷するとか、特別なActiveXオブジェクトを作るか、PDFを送信してそいつを印刷してもらうとか。 クライアントのセキュリティ設定次第では、印刷自体できないという事も。
その他の回答 (1)
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
翼システムの「SVF for 何とか(商品名忘れた)」というのを組み合わせて使えばHTML印刷なんてショボイのじゃなくて、ちゃんとした帳票を出力可能ですよ。抽出データからCSVファイル作るだけで印刷まで可能です。API使えばCSVファイルを使用しなくてもいいですけどね。 ちなみにこの商品だとサーバサイドだけでなく、クライアント側での出力も可能だったと思います。以前作ったWEBアプリで同様にボタン押したらDBからデータ抽出して「いきなり印刷出力」or「プリンタ選択画面出力」or「印刷プレビュー表示」ってなことをやった記憶があります。もちろんクライアント側で。ただポートを開けないとならないのでLAN内(社内システムとか)でしかたぶんできないのでは。詳細は上記製品を調べてください。 そのようなツールを使わず、さらにクライアント側でということなら#1さんの言われるやり方がいいかもしれません。
お礼
SpiraGalaxyさん、情報ありがとうございます。 早速その商品のこと調べてみます。 安いといいけど・・・。
お礼
osamuyさん、こんにちは。 やっぱり難しそうですね。 こちらでもまた色々考えてみます。 ありがとうございました。