Operaを使ってみているページを印刷しようとするときに余計な画像やテーブル、フラッシュなどが入って困っています。

画像、フラッシュに関してはEnable plug-insとNo imageで対応できたのですがテーブル構造については解決していません。
たぶん、ユーザーCSSでどうにかなると思うんですがどのようにしたら良いでしょうか。

具体的にはいわゆるサイドバーのようなものが邪魔です。
それ以外はできるだけページのまま印刷したいのです。

本当はマウスでクリックして選択するとそのテーブルを印刷しないと設定できるとかいう機能の追加ができると最高なんですがね。

もし、operaでなければIEでも構いません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/07/17 14:35:07
  • 終了:--

回答(6件)

id:nikumarukun No.1

nikumarukun回答回数181ベストアンサー獲得回数12005/07/17 15:43:41

IEで申し訳ありませんが、IE6であれば印刷プレビューで印刷を選択(直接だといきなり印刷される)すると画面が出て

全般の項目でページを選択出来るようになってます。(分かれている場合選択画面の印刷も可能)

画面上で右クリックして印刷でも同様になるようなんですが失敗が多いので^^。

id:e23jp

それは、印刷するページ番号を指定する方法ではないでしょうか。 たぶん、質問の意図がよくわかっていないと思います。

2005/07/17 15:57:44
id:nikumarukun No.2

nikumarukun回答回数181ベストアンサー獲得回数12005/07/17 16:14:22

ポイント10pt

勘違いしてましたm_m。

コチラのページに近いものがありましたので参考にしていただければ。(Opera CSS)

id:yoo15x No.3

yoo15x回答回数150ベストアンサー獲得回数12005/07/17 16:28:24

ポイント40pt

http://crocro.com/pc/soft/c_del/

ちょこっと 強制削除 - クロノス・クラウン -

> IEでも構いません。

こちらの回答(かつ Windows 専用)になります。


リンク先の「ちょこっと 強制削除」をインストールしますと、

ブラウザの表示内容から削除したい部分を選択して

右クリックから削除することができます。


この削除は“広告ブロック”のように次回表示以降も有効な削除ではなく

あくまでも現在の表示状態に対しての削除です。

(リロードすると削除を行う前のページ表示内容になります)

http://www.hatena.ne.jp/1121578507

人力検索はてな - Operaを使ってみているページを印刷しようとするときに余計な画像やテーブル、フラッシュなどが入って困っています。 画像、フラッシュに関してはEnable plug-insとNo imag..

例えば「おとなり質問」のテーブルを選択して「ちょこっと 強制削除」すると

「おとなり質問」のテーブルが消えます。

テーブルだけではなく私の回答ののの余計な文字を“強制削除”したり、

回答そのものを削除することもできます。


それ表示のまま印刷すると表示されているままの状態で印刷できます。

id:e23jp

このソフトは便利ですねー。

ほぼ理想に近いです。

では次の回答からはoperaのみでお願いします。

2005/07/17 16:38:56
id:pair No.4

ikegam回答回数6ベストアンサー獲得回数02005/07/17 19:29:53

ポイント10pt

http://members.jcom.home.ne.jp/jintrick/Personal/usrstyle.html

ユーザースタイルシートのススメ - Personnel

純粋にスタイルシートで見えないようにすれば良いのでしょうが

印刷時のみに適用できるスタイルシートの設定などが無いと

自分が閲覧する時にも印刷イメージと同じようになってしまいますね

http://css.eweb-design.com/0803_ds.html

要素の性質を変更する - スタイルシート

それでも宜しければこういう方法でどうでしょうか?

table {

display: none;

}

これはtableでサイドバーをブロック要素にしている場合ですので

例えばulなどを使っている場合はそちらに変更して下さい。

これにも問題がありまして

後の<ul>などでメニューを作ってある論理構造に従った物であればclassやidなどが指定してあるので#や.で指定できますが

tableレイアウトの場合他の所もtableでくくってある可能性が高いので他にも影響が出る可能性が有ります。

そういった場合には自分でそのHTMLを操作して印刷すると良いかと思います。

id:amanoftaste No.5

amanoftaste回答回数42ベストアンサー獲得回数02005/07/18 15:32:14

ポイント20pt

http://bookmarklet.daa.jp/

JAVASCRIPT::BOOKMARKLET

リンク先の「消す!」というブックマークレットが一応Operaでも使えます。

いらない要素を消してから印刷すればよいかと。

でもやっぱりIEで使ったときと比べると

挙動が変です。

ページの構造によってはうまくいきません。

id:Kuruma No.6

Kuruma回答回数84ベストアンサー獲得回数32005/07/18 15:57:46

ポイント40pt

印刷時に一切のFlashを除去する方法があります。


1.profileフォルダにstylesフォルダを作り、そこにbrowser.cssというファイルを作成して下さい。

2.その末尾に以下の通り指定して下さい。

----ここから

embed[type=”application/x-shockwave-flash”] {display:none}

embed[type=”application/x-shockwave-flash”].zichtbaar {content: normal; outline: none}


body:before {

position: absolute; visibility: hidden;

background-image: url(”javascript:(function(){window.onclick=function(){var srcElem=window.event.srcElement;var tag=srcElem.tagName;if(tag==’EMBED’) srcElem.className=’zichtbaar’};})()”);

content:””}

----ここまで

……何となく1行目だけで事足りる気もします。

普段は領域をクリックする事でFlashを再生するようにしているもので。


画像については全て(alt属性値)に置換する方法を提示しておきます。

上記と同様の処に記述しておいて下さい。

----ここから

img{content:”[画:”attr(alt)”]”;}

----ここまで

もし代替テキストさえもいらないという事であれば、以下のように記述するのがよいでしょう。

----ここから

img{content:none;}

----ここまで

個人的には「alt=”画像”」という指定は文字列に置換して欲しくないので、以下の記述を導入する事があります。

----ここから

img[alt=”画像”]{content:none;}

img{content:”[画:”attr(alt)”]”;}

----ここまで


なお、pairさんが仰せの「印刷時のみに適用できるスタイルシートの設定など」に関してはそもそもCSSに指定できる内容です。

追記した部分を一括して以下の通りくくってください。

詳細は事項にて紹介するURIを参照して下さい。

----ここから

@media print {

/* 追記内容 */

}

----ここまで

http://hp.vector.co.jp/authors/VA022006/css/media.html#at-media-...

メディアタイプ - CSS2リファレンス

仮にフレームによってそのサイドバーが作り出されているのであれば、


ページ上で右クリック>フレームメニュー>開く


の動作によってそのフレームを最大化できますのでおそらく思いの通りに印刷できるのではないでしょうか。


しかし、要望はテーブルとの事ですね。

先程紹介したものの元記事でのflash抑制は、

flashに置換されるembedに対してクリックするまでは文字列を表示し、文字列上でのクリックがあった場合、それを改めてflashに置換するというものです。

これをtable要素やtd,th要素に適応すれば、一見うまくいくように思われます。

クリックすれば目的のセルの中身が空となり、中身が無くなります。


しかし、甘くはありません。

残念ながら幾らかのHTMLオーサリングソフトは左右に任意の余白を取る為に全体をtableでくくり、幅を固定し、それをcenterによってセンタリングします。

そう、このようなサイトに出会った時、一切のクリックが出来なくなってしまうのです。

クリックすると全部消えた!!……これでは実用に耐えません。


また、前回答で「これはtableでサイドバーをブロック要素にしている場合」というものが紹介されていますが、そのようなサイトは大概ページ全てがtableでくくられています。


理想に近いソフトがIE向けに幾らか存在しますので、そちらを使うのが妥当かと思われます。


※クリックで云々ということが可能なのは通常表示時(フルスクリーン等も含む)のみで、印刷プレビュー時は「動作」しません。


また、以下をユーザーCSSに指定しておく事である程度はナビゲーションを印刷せずに済みます。

適宜@mediaでくくって下さい。

----ここから

#navi,#navigation,#menu,#toc{display:none;}

----ここまで


これ以上の解を求める場合はOperaユーザーが多いところで質問した方がよいかもしれません。

以下、参考までに。

▼moonstoneさんの運営するサイト内BBS

http://www.moonstone.jp/cgi/bbs/

▼Opera社の運営するフォーラムの日本語の場所

http://my.opera.com/forums/forumdisplay.php?s=&forumid=88


他、若干異なる解ではありますが、table構造を破壊する事で若干専有面積を変える事が出来ます。

Operaが標準で持っているユーザースタイルシートに「表(table)要素を無効にする」というものがありますので試してみて下さい。

また、その際設定にて「作成者モード」でも「ユーザースタイルシート」が利用できるようにしておくと良いかと思われます。

上記サイトにてIEにURIを送るボタンが紹介されていますので、利用すると便利かと思います。

自信があればiniファイルをいじる事で右クリックメニューにも追加可能です。

こちらの方法は適宜調査のほどよろしくお願いいたします。


蛇足ですがOperaを用いた印刷時は

表示>幅に合わせる(Ctrl+11)

を利用すると、読みやすくなる場合がありますので、こちらもご利用ください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません