『私的司法書士試験研究所』印刷最適化 Bookmarklet

目次

  1. これは何?
  2. どんなブラウザで使えるの?
  3. どうやって使うの?
  4. どういう仕組みなの?
  5. セキュリティ的に大丈夫なの?
  6. FAQ
  7. 改造
  8. 履歴

これは何?

姫野先生のブログ『私的司法書士試験研究所』の記事を印刷する際に、印刷に邪魔な部分を消してしまうためのブックマークレットです。

先生のブログでは、平成18年12月現在、「過去問分析のかたち」という連載が行われています。この連載は素晴らしいものですが、先生のブログの記事を印刷する際、印刷には邪魔なサイドバーやトラックバック情報、投稿フォームまでもが印刷されてしまい、個人的に残念に思っていました。電車で読むべく出勤前に慌てて印刷するというような場合は仕方がないにしても、ファイリングして保存するなら、無駄な情報を削り、必要な情報だけをファイルしたいと思うのが、人情です。

そういうわけで、そのような「印刷に含めたくない部分」を消してしまうための Bookmarklet を作りました。私個人の環境(具体的には改造に詳述)に最適化したものですが、他の方にも有効かもしれませんので、公開しておきます。

なお、平成18年12月現在の『私的司法書士試験研究所』の XHTML ソースにアドホックに対応させたものですから、将来、FC2ブログの仕様変更等があれば、使えなくなる可能性もあります。

どんなブラウザで使えるの?

基本的に自分で使う物として作ったので、クロス・ブラウザを意識していません。

使えることを確認済のもの

未確認、または使えないもの

どうやって使うの?

準備

  1. 無保証かつノーサポートです。この条件にまず同意してください。
  2. 以下のリンク(Bookmarklet)を右クリック等でブックマークに登録してください。

以上で準備は完了です。

閲覧と印刷

  1. 『私的司法書士試験研究所』の記事に通常通りアクセスします。
  2. 閲覧中の記事を印刷したい場合には、その記事を表示したまま、登録した Bookmarklet を選択してください。
    • このサーバ上の CSS ファイルを取得するため、インターネットに接続しておく必要があります。
    • JavaScript で動作するため、ブラウザの設定で JavaScript が無効になっていると、何も起こりません。
  3. 閲覧中の記事の表示が変わります。画面(または印刷プレビュー)を確認した上で、印刷してください。表示の変更後は、接続を解除しても OK です。

なお、リロードすれば、元の表示に戻ります。

どういう仕組みなの?

まず、トラックバックの部分を、要素ごと JavaScript で削除(removeChild())しています。

次に、body 要素に id="hiroyukihimeno-blog42-fc2-com" を追加します。

最後に、外部の CSS ファイルを読み込んで、以下の様に見栄えを整形しています。

セキュリティ的に大丈夫なの?

ハードウェアやソフトウェアにダメージを与える処理、個人情報の盗み読み等やっていないことを明記しておきますが、不安な向きにあってはコードを読んで納得してからお使いください。

FAQ

ありがちな一問一答集

これは只?

そうです。

Bookmarklet(ブックマークレット)って何?

Google で調べてください。

印刷のサンプルはある?

印刷プレビューを画像化したものをおいておきます。

IE に対応しないの?

私は Mac ユーザなので、Windows 版 IE をプライベートで使うことはありません。また、Mac 版 IE もすでに開発・配布が終了しているため、使っていません。よって、私が自分の時間を割いて IE に対応させることはありません。

お望みなら自由に改造していただいてかまいませんが、特に IE6 は CSS セレクタのサポートが貧弱なため、これに対応させるのはかなりしんどい作業になると思われます。IE の場合には、印刷したい部分だけをワープロにコピー・アンド・ペーストし、ワープロから印刷する方法が楽でしょう。

なお、セキュリティの面において IE の脆弱さはかねてから話題になっていましたが、Internet Explorer Unsafe for 284 Days in 2006 - Security Fix というレポートも出ましたので、常用ブラウザとしては、IE から他のブラウザへの乗り換えをご検討されてはいかがでしょうか。どうしても IE でしか使えないサービスのみに IE を利用し、普段は他の安全なブラウザを常用するという「使い分け」も、自衛手段としては有効でしょう。

なぜコメントは非表示にしないの?

私が印刷して読みたいからです。コメントが不要な場合には、改造の節を参考に対応してください。

文字の大きさを変えられないの?

ユーザCSSで変更するのが比較的容易です。改造の節を参考にしてください。なお、デフォルトは 8pt(8ポイント)になっています。

ブログの表紙(ホーム)の印刷には使えるの?

そのような使い方を想定して作っていません。

改造

参考までに、私個人の環境を以下に記しておきます。似通った環境の方は、そのまま使える可能性が高いと思われます。

OS
Mac OS X 10.3.9
ブラウザ
Camino 1.0.3 または Firefox 2.0.0.1
印刷環境
キヤノン製パーソナル・レーザプリンタ(白黒)でB5用紙に印刷

多少の調整が必要な場合には、以下を一瞥してみるとヒントがあるかもしれません。

ユーザCSSによる変更

Blog の普及によって、CSSだけなら何とかという方も増えてきたようです。この場合には、厳密に言えば改造には当たりませんが、ユーザCSSで調整するのが比較的楽でしょう。

2006年12月23日版から、body 要素に id="hiroyukihimeno-blog42-fc2-com" を生成する処理を追加しましたので、CSSセレクタで以下の例の後段の様に指定すれば、他のサイトへ影響を与えることもありません。

/* すべてのサイトの div 要素にマッチ */
div {
    color: red;
    background-color: transparent;
}

/* id="hiroyukihimeno-blog42-fc2-com" の子孫の div 要素のみにマッチ */
#hiroyukihimeno-blog42-fc2-com div {
    color: black;
    background-color: white;
}

実際にユーザCSSで指定する場合には、!important 宣言を忘れない様にしてください。以下、いくつか例を挙げておきます。

フォントの変更
#hiroyukihimeno-blog42-fc2-com {
    font-size: 12pt !important;
    font-family: serif !important;
}

以上の指定で、本文のフォントが 12pt の明朝体になります。大きさは好みの数値に指定してください。

コメントを非表示
#hiroyukihimeno-blog42-fc2-com .mainEntryBlock {
    display: none !important;
}
#hiroyukihimeno-blog42-fc2-com .mainEntryBlock:first-child {
    display: block !important;
}
余白の調整
#hiroyukihimeno-blog42-fc2-com {
    margin: 1cm 2cm !important;
}

この例の場合、上下に1cm、左右に2cmの余白をとります。

本格的な改造

ここでは CSS や JavaScript の書き方については省きます。受験生が勉強そっちのけでそれらを習得するのもどうかと思いますので、素人を自認する方は諦めてください。

そうでない方は、以下のアウトラインを参考に、チューニング程度の改造を勉強の合間にやってみてもよいかもしれません。念のため、自己責任でどうぞと申し添えておきます。

  1. http://homepage.mac.com/s_urano/shiteki_print.css をダウンロードし、ローカルなり他のサーバなりに保存する
  2. Bookmarklet中のURL文字列を、自分のCSSのURLへ変更する(ローカルならfile:///...の要領で、http経由ならhttp://www.example.com/path/modified.css の要領で)
  3. お好みでCSSをいじる(文字を大きくする、余白を広くとる……)
  4. CSSセレクタで指定しきれない要素をいじりたい場合には、Bookmarkletのスクリプトをいじって、DOMで操作してください

環境別改造案

Opera でも、Bookmarklet が問題なく動作することは確認済です。しかし、用紙の余白が、Mozilla 系ブラウザより狭くなります。body 要素の横マージンを広げるとよいと思います。改造が面倒な場合には、印刷直前に手動で余白を設定しても同じことですが。

解像度の低いインクジェットプリンタの場合には、デフォルトの 8pt 指定ではフォントが潰れるかもしれません。この場合には、指定フォントサイズを大きくしてください。公開しているCSSでは、html 要素に指定してあります。

他方、カラープリンタの場合には、白黒印刷対応は不要ですから、CSS 中、白黒印刷用の旨のコメント以降を削除してしまうとよいでしょう。

履歴

2006年12月23日
body 要素に id="hiroyukihimeno-blog42-fc2-com" を生成する処理を追加
2006年12月21日
公開
2006年12月21日作成 2007年1月5日更新 す Valid HTML 4.01 Strict