2011-01-05 23 views
26

प्रिंटिंग मैं वेबसाइट के लिए प्रिंट अनुकूल सीएसएस पर काम कर रहा हूं। यह आईई में पूरी तरह से पूर्वावलोकन/प्रिंट करता है, लेकिन फ़ायरफ़ॉक्स (संस्करण 3.6) केवल पहले पृष्ठ का पूर्वावलोकन/प्रिंट करता है।फ़ायरफ़ॉक्स केवल 1 पृष्ठ

क्या किसी को भी ऐसा कुछ भी पता है जो आम तौर पर इसका कारण बनता है? मार्कअप काफी जटिल है, इसलिए मुझे यकीन नहीं है कि कहां से शुरू करना है!

धन्यवाद।

संपादित

यह समाधान केवल बातें बदतर बना दिया।

https://support.mozilla.com/ga-IE/questions/667285#answer-115916

ऐसा लगता है कि मुद्रण सिर्फ एफएफ में बेकार है। ग्राहक यह सुनना पसंद नहीं करेगा - उम्मीद है कि वे एफएफ का उपयोग नहीं करते हैं!

+0

पूर्ण स्थिति कभी-कभी अंकन को तोड़ देती है। –

+0

@ पेक्का - किसी भी तत्व (यहां तक ​​कि छिपे हुए लोगों) की पूर्ण स्थिति, या केवल मुद्रित सामग्री को मुद्रित करना? – ScottE

+0

सामग्री मुद्रित करने के लिए। 'स्थिति: पूर्ण' लेआउट प्रवाह से बाहर तत्व लेता है, मुझे लगता है कि यही कारण है कि आपके लिंक किए गए प्रश्न के ओपी में समस्याएं हैं। एक लाइव डेमो –

उत्तर

3

long-standing bug with printing absolutely-positioned elements फ़ायरफ़ॉक्स 3. में तय किया गया था

लापता पृष्ठों की समस्याओं को bug 521204 में ट्रैक किया जाता (के माध्यम से सूची "पर निर्भर करता है" देखो)। क्या आपके पास प्रिंट करने की कोशिश कर रहे पृष्ठ पर फ्रेम या लंबी टेबल हैं?

और हाँ, Firefox में मुद्रण के तहत स्वामित्व वाली, खेद है कि आपको इससे निपटने के लिए ...

+0

नहीं, कोई फ्रेम या लंबी टेबल नहीं। बस पुरानी पुरानी सामग्री! – ScottE

+0

@ScottE: क्षमा करें, तो पता नहीं है। अगर मुझे इसे समझना पड़ा, तो समस्या को समझने के लिए पृष्ठ को सबसे छोटा संभव टेस्टकेस में कम कर दिया जाएगा Nickolay

1

आप मुद्रण पर Firefox के सीमाओं को पार करने में असमर्थ हैं, तो आप एक पीडीएफ के लिए पेज में परिवर्तित कर सकते है। यदि आप उस विकल्प के लिए हैं, तो Prince XML एक ऐसी लाइब्रेरी है जिसे मैं अत्यधिक अनुशंसा करता हूं। प्रिंट मीडिया सहित इसमें बहुत अच्छा सीएसएस समर्थन है।

+0

दिलचस्प विकल्प। क्या मैंने उल्लेख किया कि यह एक शेयरपॉइंट साइट है? मैं केवल कल्पना कर सकता हूं कि यह कचरा मार्कअप के साथ क्या होगा। – ScottE

+0

उह ... मैं इसे शेयरपॉइंट साइट, हाहा के लिए अनुशंसा नहीं करता। – Jacob

0

फ़ायरफ़ॉक्स निश्चित रूप से किसी भी सम्मान में चूसना नहीं करता है। हालांकि, कभी-कभी यह अन्य ब्राउज़रों की तुलना में मानक के लिए अधिक सख्ती से पालन करता है। वैसे भी, पीछा करने के लिए कटौती करने के लिए, मुझे एक ही समस्या थी, यानी फ़ायरफ़ॉक्स एक मल्टीपाज रिपोर्ट के पहले 2 पृष्ठ प्रिंटिंग (पूर्वावलोकन भी कर रहा था), एक लंबे टेबल के साथ बनाया गया था, जो मेरे वेबपृष्ठ द्वारा उत्पादित किया गया था। कुछ डिबगिंग के बाद मुझे पता चला कि मैंने अन्य चीजों के साथ {प्रदर्शन: इनलाइन-ब्लॉक;} की शैली के साथ एक स्पैन तत्व के अंदर अधिकांश रिपोर्ट की सामग्री शामिल की थी। जैसे ही मैंने हटा दिया कि पृष्ठांकन सही था ...

+1

क्या यह नहीं है? मैं आपको फ़ायरफ़ॉक्स के सेटिंग्स इंटरफ़ेस को खोलने का आग्रह करता हूं। ;} परेशान करना। लंबी रिपोर्ट वाले लोगों के लिए एक और फिक्स: आपने इसे सभी को एक div में रखा होगा जो कि 1000px की चौड़ाई के साथ बाईं ओर तैरता है। यह तालिका के कंटेनर के कारण हो सकता है। पहले जांचें। –

+0

"हालांकि, कभी-कभी यह अन्य ब्राउज़रों की तुलना में मानक के लिए अधिक सख्ती से पालन करता है।" - कभी-कभी, * वह * क्या है "* बेकार * *, दुर्भाग्य से। – falsarella

12

मैं सिर्फ पता चला, कि एक तत्व से

display:inline-block; 

साथ केवल प्रथम पृष्ठ छपा है और बाकी प्रत्येक भाग को छिपा हुआ है। इसे

display:block; 

मेरे मामले में समाधान था।

+1

टिप के लिए धन्यवाद। आपके समान, मेरे पास एक डिवी सेट 'डिस्प्ले: टेबल' था। मैंने एक प्रिंट स्टाइलशीट बनाया जो इसे 'डिस्प्ले: ब्लॉक' पर सेट करता है और समस्या हल हो जाती है! –

6

मुझे एक ही समस्या थी। बाहर निकलता है, रूट टैग पर display: flex था। इसे display: block पर बदलने के बाद, शेष सामग्री प्रदर्शित की गई थी। मैं आपके डीओएम पेड़ को ऊपर जाने और हर display विशेषता की जांच करने की सलाह दूंगा।

@media print { 
    body { 
    overflow: visible !important; 
    } 
} 
+3

फ्लेक्स अभी भी एफएफ 44.0.2 में एक मुद्दा है। यह भी ध्यान दिया गया कि एफएफ द्वारा अनदेखा किए जाने वाले मेरे 'पेज-ब्रेक-इन' और 'पेज-ब्रेक-आफ्टर' से बचने के बाद अचानक 'ब्लॉक' के लिए 'फ्लेक्स' को बदल दिया गया। –

11

आप अपने कोड के सभी के माध्यम से जाना नहीं चाहते हैं, इस एक ही चीज़ मैंने पाया कि मेरे अन्य सीएसएस के सभी अप खिलवाड़ के बिना मेरे लिए काम करता है इस के लिए दर्जन सुधारों और अंत में, सभी मैं जरूरी था:

@media print { 
    body { 
    display: block; 
    } 
} 
4

मैं एक करने की कोशिश की:

+0

मुझे इसे काम करने के लिए शरीर से संबंधित स्थिति भी जोड़नी पड़ी! –

3

मैं क्योंकि body की height100% के लिए सेट है एक ही मुद्दा था, के बाद मैं अपने print.css में height: auto करने के लिए संशोधित, यह काम किया।

@media print { 
    body { 
    height: auto; 
    } 
} 
3

अनुसंधान और परीक्षण & त्रुटि का एक बहुत बाद, मैं this article एक सूची से अलग मिल गया है। मैं उलझन में था, क्योंकि यह वर्ष है, लेकिन यह कहा गया है कि:

एक जारी तत्व एक मुद्रित पृष्ठ के नीचे अतीत चलाता है, नाव के बाकी को प्रभावी ढंग से गायब हो जाएगा क्योंकि वह अगले पर प्रिंट नहीं होगा पृष्ठ।

जैसा कि मेरे पास एक बड़ा फ्लोट कंटेनर है, मैंने सोचा कि मैं इसे आज़मा दूंगा। तो, मैं अन्य उत्तर से मिश्रण और इस लेख बना दिया है और इस के साथ आया था:

body { 
    overflow: visible !important; 
    overflow-x: visible !important; 
    overflow-y: visible !important; 
} 

/*this is because I use angular and have this particular layout*/ 
body > .fade-ng-cloak { 
    height: 100%; 
    display: block; 
    flex: none; 
    float: none; 
} 
.l-content, 
.l-sidebar { 
    float: none; 
} 

तो मूल रूप से:

  1. स्थापना शरीर overflow: visible सेटिंग तत्वों कि display: block को रैपर के रूप में व्यवहार करने के लिए
  2. , सभी flex शैलियों को खत्म करें और आवश्यक होने पर ऊंचाई रीसेट करें
  3. लंबे कंटेनर पर float को हटाएं

उस मिश्रण ने मेरे लिए काम किया! मुझे बहुत खुशी है कि मैंने सोचा था कि मैं साझा करूंगा :)

0

मेरे पास एक ही समस्या थी और मैंने position:relative से position: absolute से height: 100% के साथ शीर्ष div से नीचे की स्थिति बदल दी।

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