• 締切済み

印刷するには?

よくあるページの中のクーポンの箇所だけプリントするといったことをしたいのですが。 多分、何通りかの方法があって、cssでクーポンの箇所以外をdisplay:none;にして印刷する方法やポップアップでクーポンの箇所だけポップアップして印刷する方法など。 現状は「印刷する」っていうボタンを押すとポップアップウインドが開いて印刷ウイザードが開くって感じなんですけど。 出来ればポップアップしないでボタンを押したら印刷ウィザードが開いて印刷したいのですが。 そこで、ajaxを使ってバックグラウンドで出来ないかなって思ったんですけど、どうもうまくいきません。 実際、バックグラウンドでの印刷処理って可能なんでしょうかね? ajaxの処理はprototype.jsでAjax.Requestで処理しています。 それかprint()関数で他のページを印刷することって出来ないんですか?ググってもそれらしきものがなかったので。

みんなの回答

  • 15mm
  • ベストアンサー率65% (65/100)
回答No.1

ajaxと関係ない回答になってますが参考までに... 「cssでクーポンの箇所以外をdisplay:none;にして印刷する方法や」 これでだめな理由は何でしょうかね? @media print { /*印刷時のスタイルシート指定*/ } はご存知ですよね? 他の要素の中に存在するのなら画像のみをdisplay:inline;にするのは難しいですが、 visibility:を使うとうまくいったみたいです。(IE7の印刷プレビューのみ確認) CSSの部分はIDで指定するなりして目的のものだけ表示されるようにしてください。 <html><head><style><!-- @media print { body{visibility:hidden;} img{visibility:visible;position:absolute;top:0px;left:0px;} } --></style></head><body><div>aaa<img src="画像" alt="" />bbb</div></body></html> それと、IE以外の動作確認してませんが <link rel="alternate" media="print" href="印刷する画像・印刷用ページのURL" /> を<head>内に記述すると印刷する時のみ他のファイルを参照させることができます。

関連するQ&A