2009-11-02 17 views
76

मैं एक HTML रिपोर्ट बना रहा हूं जो प्रिंट करने जा रहा है, और इसमें "खंड" हैं जो एक नए पृष्ठ में शुरू होना चाहिए।क्या मैं HTML प्रिंटिंग में एक पृष्ठ कूद सकता हूं?

क्या HTML/CSS में कुछ डालने का कोई तरीका है जो उस ब्राउज़र पर संकेत देगा कि उसे उस बिंदु पर किसी नए पृष्ठ पर कूदने की आवश्यकता है?

मुझे इसे हर ब्राउज़र में काम करने की आवश्यकता नहीं है, मुझे लगता है कि मैं इसे प्रिंट करने के लिए लोगों को ब्राउज़र के एक विशिष्ट सेट का उपयोग करने के लिए कह सकता हूं।

धन्यवाद
डैनियल

उत्तर

163

"pagebreak" (या "पंजाब"), तो जैसे कहा जाता है एक CSS वर्ग जोड़ें:

.pagebreak { page-break-before: always; } /* page-break-after works, as well */ 

फिर एक खाली DIV टैग (or any block element that generates a box) जहाँ आप चाहते हैं जोड़ने पृष्ठ ब्रेक।

<div class="pagebreak"> </div> 

यह पृष्ठ पर दिखाई नहीं देगा, लेकिन प्रिंटिंग के समय पृष्ठ को तोड़ देगा।

+2

लेकिन सीएसएस में सभी अच्छी चीजों की तरह, यह हमेशा बोर्ड भर में लगातार काम नहीं करता है, इसलिए इसे से बाहर द लिविंग डेलाइट्स परीक्षण, ऐसा न हो कि आप गुस्से में उन सोच अतिरिक्त रिक्त पृष्ठों की क्यों अपनी साइट प्रिंट बवासीर है! – Zoe

+10

एमडीएन के मुताबिक, 'पेज-ब्रेक-आफ्टर' 'बॉक्स को उत्पन्न करने वाले ब्लॉक तत्वों पर लागू होता है, "इसलिए खाली' 'तत्व का उपयोग नहीं किया जाएगा। इसे अपनी सामग्री के एक टुकड़े पर लागू करना बेहतर विचार है। Https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after – nullability

+1

@ शून्यता देखें: अच्छी पकड़ लें। मैंने मुख्य रूप से Winforms में वेब ब्राउजर नियंत्रण में अपने पुराने काम पर इसका इस्तेमाल किया था, जो आईई का इस्तेमाल करता था, निम्नलिखित मानकों का स्वर्ण मानक। –

26

इस link

<style> 
@media print 
{ 
h1 {page-break-before:always} 
} 
</style> 
+0

मुझे लगता है कि यह एक बेहतर जवाब है क्योंकि इसमें दृश्य प्रभाव प्राप्त करने के लिए HTML को उलझाना शामिल नहीं है। – FinnNk

+0

मुझे वास्तव में एक बेहतर पसंद है, क्योंकि यह मुझे अधिक नियंत्रण देता है। मैं हमेशा एच 1 के वर्ग को "पेजब्रेक" असाइन कर सकता हूं जो पृष्ठ को कूदना चाहिए। लेकिन यह अभी भी एक अच्छा समाधान है। @media के लिए +1, हालांकि मुझे लगता है कि स्क्रीन को पृष्ठ-ब्रेक से पहले अनदेखा करना चाहिए। धन्यवाद! –

+0

एच 1 प्रिंट ब्रेक के लिए टैग के रूप में उपयोग करने का एक उदाहरण है। आप अपनी पसंद के नाम को प्रतिस्थापित और टैग कर सकते हैं।आप पृष्ठ-ब्रेक-बाद का भी उपयोग कर सकते हैं: हमेशा – jfarrell

3

आप सीएसएस संपत्ति page-break-before (या page-break-after) का उपयोग कर सकते प्रयास करें। बस उन ब्लॉक-स्तरीय तत्वों पर page-break-before: always सेट करें (उदा।, शीर्षक, div, p, या table तत्व) जो कि एक नई लाइन पर शुरू होना चाहिए।

उदाहरण के लिए, किसी भी 2 स्तर शीर्षक से पहले और वर्ग newpage में किसी भी तत्व से पहले एक लाइन ब्रेक पैदा करने के लिए (जैसे, <div class=newpage> ...), आप का प्रयोग करेंगे

h2, .newpage { page-break-before: always } 
-1

@Chris Doggett सही समझ में आता है। हालांकि, मुझे lvsys.com पर एक मजेदार चाल मिली, और यह वास्तव में फ़ायरफ़ॉक्स और क्रोम पर काम करता है। बस इस टिप्पणी को कहीं भी रखें जहां आप पृष्ठ-ब्रेक डालना चाहते हैं। आप किसी भी ब्लॉक तत्व के साथ <p> टैग को भी प्रतिस्थापित कर सकते हैं।

<p><!-- pagebreak --></p> 
+2

यह काम नहीं करता है –

संबंधित मुद्दे

 संबंधित मुद्दे