Javascript:print()メソッドを使用して印刷ボタンを設置

Javascriptprint()メソッドを使用して、印刷ボタンを設置した時の方法をメモします。

データなどを出力する場合など、WEBページを印刷することがあります。

ブラウザのヘッダーにあるメニューからページを印刷してもいいのですが、
ページ内に印刷ボタンがあった方が効率が良い場合があります。

print()メソッドを使用すると、簡単に印刷ダイアログを呼び出してページを印刷することが可能です。

また、ボタンではなくリンクで設定することも可能です。


print()を使用して印刷ボタンを設置

HTML

・ボタンで設定する場合

<input type="button" value="印刷する" onclick="window.print();" />

・リンクで設定する場合

<a href="#" onclick="window.print(); return false;">印刷する</a>

印刷用のCSSを作成する場合

印刷時に印刷するボタンやリンクなどを隠したいなど、
印刷用のスタイルを適用させたい場合があります。

head内で読み込むCSSファイルに「media=”print”」を設定します。

※印刷時にスタイルが適用されます。

<link rel="stylesheet" type="text/css" href="./print.css" media="print" />

ページ表示用とは別に作成した方がいいと思います。


印刷に不要な部分を非表示にする場合は下記のように記述します。

CSS

.noprint {
	display: none;
}

HTML

<div class="noprint">
    <a href="#" onclick="window.print(); return false;">印刷する</a>
</div>

長いページなど、改ページの位置を指定したい場合は下記のように記述します。

CSS

div.pagebreak {
	page-break-after: always;
}

HTML

<div class="pagebreak">
    印刷する内容
</div>

印刷するようなページを作る場合は、印刷するボタンやリンクがあった方が楽に印刷ができると思います。
また、ブラウザのバージョンによっては、print()メソッドが使用できない場合があるようです。

 

php:文字列の出力でechoとprintの違い

php文字列を出力する際は、echoprintを使用すると思います。

php初心者の方から

echoとprintをどちらを使えばいいのか?
echoとprintの違いはなんなのか?
どちらを使用するのが正しいのか?

などを聞かれたことがあります。

私はphpを覚えた時から文字列の出力はechoを使用していたので、
あまり気にしたことがありませんでした。

echo」と「print」を比較して、違いを調べてみたので下記にメモします。


「echo」と「print」の違い

○ 引数が違う

echoの場合は引数を「,」区切りで複数指定できます。

echo 'aaa', 'bbb';

出力結果

aaabbb

printの場合は引数は一つのみです。

print 'aaabbb';

下記の場合、エラーになります。

print 'aaa', 'bbb';

○ 戻り値が違う

echoの場合は戻り値がないです。
下記の場合、エラーになります。

$val = echo 'aaa';

printの場合は戻り値があり、1を返します。

$val = print 'aaa';
print $val;

出力結果

aaa1

文字列ではなく「1」が返ります。


私なりの結論ですが、phpで文字列を出力するのは、echoとprintのどちらも正しいです。

どちらでも文字列を出力するのは変わらないので、
その時の環境やルールに合わせるのがいいと思います。

また、printは戻り値があるから、echoの方が処理速度が速いようです。