2009-08-06 9 views

答えて

3

...いいえ。あなたが動的にあなたは印刷スタイルシートで定義したCSSクラスを使用して印刷しない部分をラップすることができ

...

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

/* contents of print.css */ 
.noprint { display: none; } 

あなたはどのように把握する必要がありますwindow.print()を呼び出す前に、HTMLの適切なビットにそのクラスを取得します。

+0

良いアイデア。印刷可能なテキストが十分に整形されていれば、私はいくつかのjQueryの魔法が適切なクラスに適切な要素を追加できるはずです。 –

0

うーん...いいえ。できません。

UPDATE

私は、Web印刷を制御しようとすると、それの尾で蛇をつかみ、それはあなたを噛まれません期待してのようなものであるという単純な理由のために、さらに行きませんでした。言い換えれば、それは無駄で、あなたは少し得るでしょう。あなたが印刷制御を望むなら、ウェブアプリケーションは物事を行う方法ではありません。

あなたはユーザーであればフォーマット/レイアウトの柔軟性が必要/またはちょうどどちらか、あなたを印刷するデスクトップアプリケーションを構築したり、WordやPDFのような定期的な文書を提供介して、それを試してみて、制御する必要がどのようなページ番号を制御します。

それは多くの作業だいずれかの方法。

+0

便利です。私はこれが要求された解決策をどのように提供しているか、またはポスターがなぜ悪い考えか不可能であるかをアドバイスしています。 –

0

すべてを1回のパスでレンダリングできますか?選択したファイルの範囲をサーバー側の言語、またはユーザーが選択したもののajaxでフィードするほうが意味があります。

例えば、開始ページと終了ページの入力ボックスを用意し、必要なマテリアルをページに追加して、入力フィールドを除いた印刷を行います。その時点で、入力フィールドを隠すか、そのAjaxを強制的に新しいウィンドウやそのような性質のものにロードすることができます。ネイティブの印刷ダイアログにページ範囲を渡す

+0

これは私が現在持っているオプションです。背景の話を教えてください。基本的な要件は、PDFで特定のページをエクスポートして、顧客がいつでもページ範囲内でプリントアウトできるようにすることでした。 iTextを使ってPDFを動的に作成していました。問題は、CPU使用率とメメリの使用率が高いことです。シングルユーザーの場合、それは問題ではありません。複数のユーザーのために行くなら、サーバーは死ぬでしょう。だから私はHTML(1000ページ以上)でページをエクスポートしたいのです。 – Niger

3

あなたのHTMLソースに改ページを定義するためにpage-break-before CSSプロパティを使用して試すことができます。

その後、彼または彼女は通常どおりご利用者がページの範囲を印刷することができます。

+0

W00t - これは10kを超える。節度ツールはきちんとしています。 – Triptych

+0

これはほとんどのブラウザで部分的にしかサポートされていません。それが実際にはうまくいくかどうか、素晴らしい考え。 – NotMe

関連する問題