0

php

function print(){
    $data=$this->session->userdata('print_data');
    $this->load->view('printer',$data);
}

Html(プリンタービュー)

<div id='printerwrapper'>
......
</div>
<style>.....</style>
<script>windows.print();</script>

これを表示して印刷すると、ページ全体が印刷され、divがページの小さな部分になるようにサイズ変更されます。そのため、ページのhtmlを確認したところ、ciはビューをレンダリングするだけでなく、すべてのメタタグと基本を追加しました。 htmlページ構造。

<html><head><title></title></head><body>......</body></html>

ここに画像の説明を入力してください これは、私が印刷したいすべてを印刷しようとしているページの例です。これは、ページ 全体ではなく、このDivです。

印刷可能なページを作成する方法について知っておくべきことはありますか?

4

2 に答える 2

12

選択したdivJavaScriptで簡単に印刷できます。次のコードを見てください。

まず、このJavaScriptコードを頭に追加します...

<script type="text/javascript">
function printDiv(divName) {
    var printContents = document.getElementById(divName).innerHTML;
    var originalContents = document.body.innerHTML;
    document.body.innerHTML = printContents;
    window.print();
    document.body.innerHTML = originalContents;
}
</script>

すると、表示ページは次のようになります。

<div id="printableArea">
       Your Content here.....
</div>


<input type="button" onclick="printDiv('printableArea')" value="Print Invoice" />

[請求書の印刷]ボタンをクリックしたとき。次に、選択したDIVIDPrintableareaで印刷されます

これを試して。それがうまくいくことを願っています。幸運を祈ります。

于 2013-01-15T03:40:35.433 に答える
2

特に指示がない限り、印刷物を画面上と同じように見せることがブラウザの目標だと思います。そうは言っても、を使用して印刷するために特別にCSSスタイルシートを使用することを検討する必要があるかもしれません@media print。私は行って、印刷メディアクエリに関してかなり前に見たことを覚えているあなたのための記事を見つけました。

しかし、それは本当にあなたの目的に依存します。画面版を今のように見せたいが、印刷版を違うように見せたいのなら、これが道だと思います。画面上でどのように表示されるかが問題にならない場合は、printerwrapperを完全に取り除き、物事を左右に浮かせることができます。

于 2013-01-15T00:53:30.873 に答える