2011-10-16 17 views
5

मैंने एक रिपोर्ट तैयार की है और अगला चरण एक शीर्षलेख बना रहा है जो प्रत्येक पृष्ठ में मुद्रित किया जाएगा। मैंने How to use HTML to print header and footer on every printed page of a document? में दिए गए समाधानों का उपयोग करने का प्रयास किया है - लेकिन वे वेबकिट ब्राउज़र पर ठीक काम नहीं कर रहे हैं।प्रत्येक पृष्ठ में प्रिंट हेडर

क्या आपको मेरी रिपोर्ट में इस विकल्प को लागू करने का कोई विचार है?

+0

क्या आपकी रिपोर्ट एक है एचटीएमएल फाइलों की श्रृंखला? –

+0

मेरी रिपोर्ट डेटाबेस से प्राप्त डेटा का एक आउटपुट है, कुछ विशेष नहीं है।मुझे केवल हेडर की आवश्यकता है जो प्रत्येक पृष्ठ –

उत्तर

4

मुद्रण हेडर और हर पृष्ठ पर पाद लेख, बहुत ही मुश्किल काम है अगर आप div टैग का उपयोग। मेरी परियोजना में मैंने लगभग पूर्ण वेब की खोज की थी और पाया कि हेडर और पाद लेखों को मुद्रित करने के लिए आपको प्रत्येक पृष्ठ पर टेबल और सीएसएस का उपयोग किए बिना टेबल और सीएसएस नियमों का उपयोग करना होगा, आप प्रत्येक पृष्ठ पर शीर्षलेखों का मुद्रण नहीं कर सकते हैं। मैं तुम्हें नीचे के रूप में ऐसा करने के लिए कोड प्रदान कर रहा हूँ:

<style> 
    @media screen{thead{display:none;}} 
    @media print{thead{display:table-header-group; margin-bottom:2px;}} 
    @page{margin-top:1cm;margin-left:1cm;margin-right:1cm;margin-bottom:1.5cm;}} 
</style> 

पहले CSS नियम तालिका के कि thead उपयोगकर्ता और दूसरा नियम के लिए स्क्रीन पर प्रदर्शित नहीं किया जाएगा बनाने परिभाषित करता है कि मुद्रण thead टेबल के रूप में प्रदर्शित किया जाता है के दौरान हैडर-समूह के रूप में इस नियम हर पृष्ठ पर शीर्ष लेख दिखाई देते हैं अगर आप इस हेडर छोड़ प्रत्येक पृष्ठ और तीसरे नियम पर मुद्रित नहीं होगा शीर्ष लेख या पाद लेख के अतिव्यापी से पेज मार्जिन बनाए रखने के लिए है और अपने एचटीएमएल कोड होगा के रूप में के तहत:

<table> 
    <thead> 
     <tr> 
      <th> <--- Your header text would be placed here ---> </th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td> 
       <--- Your printing text would be place here ---> 
      </td> 
     </tr> 
    </tbody> 
</table> 

आखिरी बात, मैंने आईई, सफारी, फ़ायरफ़ॉक्स और क्रोम पर चीज़ कोड की कोशिश की है और आपको यह बताना चाहता हूं कि क्रोम पर हेड आर केवल 1 पृष्ठ पर मुद्रित है। मैंने कई बार बग की भी सूचना दी थी लेकिन क्रोम इस मुद्दे के बारे में कुछ भी नहीं कर रहा है।

+0

केवल पहले पृष्ठ में काम करता है ... –

1

आप iframes का उपयोग कर सकते हैं लेकिन मैं इसकी अनुशंसा नहीं करता कि कोई इसका उपयोग नहीं करता है।

Iif तुम रिपोर्टों गतिशील बनाने के लिए, आप सबसे अच्छा शर्त निर्माण पर बनाया पृष्ठ पर हेडर को जोड़े होगा। यह सब के बाद सबसे व्यापक रूप से इस्तेमाल तकनीक है।

अन्य विकल्प css content संपत्ति का उपयोग कर किया जा सकता है।

div#main:before { 
    content: "<p>I appear before the div tag</p><hr />" 
} 

नोट: IE8 केवल the content property का समर्थन करता है, तो एक !DOCTYPE निर्दिष्ट किया जाता है।

0

आज के रूप में webkit.org पर बग अभी भी हल नहीं होती है: https://bugs.webkit.org/show_bug.cgi?id=17205

मैं एक ही एक वेबकिट इंजन है कि पीडीएफ करने के लिए HTML में कनवर्ट करता है के साथ काम करने की समस्या थी। यह मेरे लिए काम किया:

thead { display: table-header-group;} 

अंतिम एक है, जहां पंक्तियों समस्याओं को ठीक करने के लिए:

पहले

<style type="text/css" media="all"> 

यकीन thead के लिए प्रदर्शन संपत्ति सेट किया गया है सभी मीडिया प्रकार के लिए अपने सीएसएस उपलब्ध बनाने तालिका के शीर्ष पर हेडर्स या पंक्तियों में आधे से कटौती की जा रही है

table { page-break-inside:auto } 
tr { page-break-inside:avoid; page-break-after:auto } 
thead tr th{ height: 50px;} 
संबंधित मुद्दे