1

div のコンテンツ全体を印刷する必要があります。div のスクロールに注意してください。しかし、Window.print()そのコンテンツを印刷するために使用すると、画面に表示されている部分のみが印刷されます。グリッド内の 154 レコードすべてを印刷したいのですが、21 レコードしか印刷されません。

ここに画像の説明を入力

注:新しいウィンドウを開きたくありません。

編集:

javascript function()
{
1. Hide divs that you don't want to print
2. window.print()
3. show the divs you hide in step 1
}
4

5 に答える 5

1

私が考える最も強力な解決策は、iframeを作成し、印刷するコンテンツをそのフレームにコピーしてから印刷することです。このためのJQueryプラグインがあります。複製:DIVの内容を印刷します

もう1つの可能性は、印刷したくないもの(メニューなど)を非表示にし、テーブルの最小の高さを削除してスクロールバーを削除する印刷CSSを用意することです。

于 2012-07-05T07:37:56.943 に答える
1

印刷のメディア タイプでスタイル シートを使用する -

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

そしてDIVスタイルを変更します -

height:auto;
overflow:auto

印刷 (を使用window.print()) すると、DIV の高さが増し、他のすべての DIV が非表示になります。

于 2012-07-05T07:40:13.993 に答える
0

私はprintThisを使用しましたが、高さとスクロールバーが固定されているdivでうまく機能します。 removeInline: trueプロパティは、div でドキュメントの一部しか表示できない場合でも、ドキュメント全体を印刷します。

function printpage(divId, title) {
                    var divID = "#" + divId;
                    var divTitle = title;
                    $(divID).printThis({
                        debug: false,
                        importCSS: true,
                        importStyle: true,
                        printContainer: true,
                        pageTitle: divTitle,
                        removeInline: true,
                        printDelay: 333,
                        header: null,
                        formValues: true
                    });

                }
于 2016-08-11T20:14:36.520 に答える
0

https://github.com/jasonday/jquery.printThis

私は他のいくつかに基づいて上記のプラグインを作成しました。これにより、ページ上の要素を印刷し (ポップアップなし)、ページ スタイルを維持したり、印刷要素専用の新しい css スタイルをロードしたりできます。

于 2012-11-12T20:39:13.103 に答える
0

これを試してください、しかし最初にこのライブラリを含めてください

$('YourDiv').printElement();

または

Div 印刷に関するこの記事を読む

于 2012-07-05T07:36:05.617 に答える