2012-06-07 16 views
10

में शरीर ओवरलैपिंग पाद लेख को रोकें मैं एमपीडीएफ लाइब्रेरी का उपयोग करके पीडीएफ उत्पन्न कर रहा हूं, और मेरे शीर्षलेख और पाद लेख कुछ पैरामीटर के आधार पर आकार में भिन्न होते हैं।एमपीडीएफ

एक स्थिर समाधान पाद लेख मार्जिन सेट करना होगा, जो ओवरलैपिंग को हल करेगा - लेकिन जैसा कि पाद लेख आकार में भिन्न हो सकता है, यह एक समाधान नहीं है जिसे मैं खुश करता हूं। क्या पाद लेख आयाम प्राप्त करने और तदनुसार मार्जिन लागू करने का कोई तरीका है?

+0

मुझे एक ही समस्या है, अगर आपको इसका समाधान मिल गया तो क्या आप अपना प्रश्न अपडेट कर सकते हैं? – Bogdan

+0

मैंने नीचे अपना जवाब अपडेट कर दिया है। उम्मीद है कि यह आपकी मदद करेगा। मार्जिन_हेडर/पाद लेख के लिए दस्तावेज़ मार्जिन सेट करना होगा। आपको अपनी कॉन्फ़िगरेशन फ़ाइल में 'setAutoTopMargin' सेटिंग को अक्षम करने की भी आवश्यकता हो सकती है। – Daniel

उत्तर

18

समस्या mpdf के दस्तावेज़ीकरण में निहित है। मुझे लगता है कि margin_footer और margin_header दस्तावेज़ निकाय और इन दोनों के बीच मार्जिन है। इसके बजाय, margin_footer और margin_header दस्तावेज़ मार्जिन है, क्योंकि कोई सोचता है कि margin_top और margin_bottom होगा।

तो, नीचे और शीर्ष मार्जिन को बदलने से यह तय होगा कि दस्तावेज़ निकाय कहां से शुरू होता है। और हेडर/पाद लेख मार्जिन बदलना प्रिंटिंग मार्जिन का फैसला करेगा।

उम्मीद है कि यह मदद करता है!

अपडेट किया गया जवाब

mPDF प्रलेखन निर्माता कॉल के लिए बंद एक सा है, मुझे लगता है। Margin_top/नीचे तर्क वास्तव में सामग्री मार्जिन है, और मार्जिन_हेडर/पाद लेख तर्कों के लिए लागू नहीं होता है। (अगर मुझे सही याद है)। मार्जिन_टॉप/नीचे दस्तावेज़ के शीर्ष से पूर्ण मार्जिन है, और इसमें हेडर/पाद लेख की ऊंचाई शामिल होनी चाहिए।

/** 
* Create a new PDF document 
* 
* @param string $mode 
* @param string $format 
* @param int $font_size 
* @param string $font 
* @param int $margin_left 
* @param int $margin_right 
* @param int $margin_top (Margin between content and header, not to be mixed with margin_header - which is document margin) 
* @param int $margin_bottom (Margin between content and footer, not to be mixed with margin_footer - which is document margin) 
* @param int $margin_header 
* @param int $margin_footer 
* @param string $orientation (P, L) 
*/ 
new mPDF($mode, $format, $font_size, $font, $margin_left, $margin_right, $margin_top, $margin_bottom, $margin_header, $margin_footer, $orientation); 
+10

अद्यतन के लिए धन्यवाद, "प्रायोगिक सेटिंग्स" '$ mpdf-> setAutoTopMargin = 'stretch' और $ mpdf-> setAutoBottomMargin = 'stretch' सेटिंग्स यह सुनिश्चित कर लेंगे कि हेडर और पाद लेख मुख्य निकाय को कभी भी ओवरलैप न करें, आपके बिना मैन्युअल रूप से हेडर और पाद लेख मार्जिन की गणना करने के लिए। गतिशील, उपयोगकर्ता द्वारा निर्मित शीर्षलेख और पाद लेखों से निपटने में काफी उपयोगी – Bogdan

+0

वाह! पता नहीं था कि यह संभव था। उस जानकारी के लिए धन्यवाद, यह बहुत जल्द काम में आ जाएगा। – Daniel

+0

मैंने $ mpdf-> setAutoBottomMargin = 'stretch' की सफलता के बिना प्रयास किया, कोई निर्देश कृपया इसका उपयोग कैसे करें? – Aiphee

6
$mpdf->setAutoBottomMargin = 'stretch'; 

मेरे लिए काम किया:

यहाँ मार्जिन से निपटने का सही तरीका है। मुझे बस इतना करना था कि मैंने पाद लेख से पहले विकल्प शामिल किया था।

+0

यह मेरे लिए तब तक काम नहीं करता जब तक कि मैं इसे पाद लेख से पहले सेट नहीं करता। –