2016-09-29 14 views
0

テキストと画像を含むhtmlページのdivを印刷したいとします。これを行うには、とjavascript functionを使用しました。現在はdivに大きな画像が印刷されています。htmlの印刷中に画像のサイズを変更する

割合を維持して画像のサイズを変更する必要があります。

私はこのフィールド(html,css,javascript)からではありません。どうすればいいか分かりません。 インターネットで検索しましたが、印刷中にイメージのサイズを変更するためのヘルプが表示されませんでした。

アイデアはありますか?

+0

を見つけることができることでしょう、あなたのHTMLの例をしてください置くことはできますか? – SAM

+1

メディアクエリを使用してみませんか? '@media print {...}' – DarkBee

+0

あなたは '@media print'を試して、高さと幅を指定してください。 –

答えて

0

あなたはこのような何かをしたい:

var images = document.getElementsByTagName('img') 
for(var i = 0; i<images.length; i++) { 
    if (images[i].width > screen.width) { 
    // Reduce the width so image fits. 
    var factor = (screen.width-50)/img.width; 
    images[i].width *= factor; 
    images[i].height *= factor; 
    } 
if (images[i].height > screen.height) { 
    // Reduce the height so it fits. 
    var factor = (screen.height-50)/images[i].height; 
    images[i].width *= factor; 
    images[i].height *= factor; 
    } 

} 

は、このヘルプをしていますか?

+0

お返事ありがとうございます。しかし、これは1つのイメージのためです。 複数の画像があります。 実際には、画像はphpファイルのループによってページに追加されます。 – MASh

+0

これは単なるサンプルコードです。 'document.getElementsByTagName( 'img')'を使ってイメージをHTMLから配列として取得し、配列を繰り返し処理することができます。私は私の答えを更新します – nikjohn

+0

私の答えを更新しました – nikjohn

0

あなただけのイメージのwidth()height()以下のように設定することができます。この意志はあなたを助け

$('.imgClass').width(700); // Units are assumed to be pixels 
$('.imgClass').height(700); 
//.imgClass is a common class on multiple images 

希望。

1

mediaqueriesを使用すると、印刷ドキュメントのレイアウトを制御できます。例は、このいくつかの例について

@media print { 
    img { 
     max-width : 300px; 
     height : auto; 
    } 
} 

より多くの情報がhere

関連する問題