2014-05-20 6 views
5

मैं FPDF का उपयोग कर पीडीएफ रिपोर्ट बनाने रहा हूँ पर पाद लेख में पृष्ठ संख्या प्राप्त करें। अब मैं पेज के निचले हिस्से में एक रिपोर्ट के प्रत्येक पृष्ठ पर पृष्ठ संख्या कैसे उत्पन्न करूं? नीचे एक 2 पेज पीडीएफ पैदा करने के लिए नमूना कोड है।FPDF हर ए 4 आकार पेज

<?php 
     require('fpdf.php'); 

     $pdf = new FPDF(); 
     $pdf->AliasNbPages(); 
     $pdf->AddPage(); 
     $pdf->SetFont('Arial','',16); 

     $start_x=$pdf->GetX(); 
     $current_y = $pdf->GetY(); 
     $current_x = $pdf->GetX(); 

     $cell_width = 25; $cell_height=14; 
     $j = 20; // This value will be coming from Database so we dont know how many pages the report is going to be 
     for ($i = 0; $i<$j ; $i++){ 
      $pdf->MultiCell($cell_width,$cell_height,'Hello1',1); 
      $current_x+=$cell_width; 
      $pdf->Ln(); 
     } 

     $pdf->Output(); 


     ?> 

नोट: $ जे मान डेटाबेस से आ जाएगा, इसलिए हम नहीं जानते कि रिपोर्ट कितनी पेज होगी।

+0

मई एक लील देर लेकिन इस कोड के साथ आप केवल 1 पेज का उत्पादन करेगा आप देखेंगे। अधिक पृष्ठों को जोड़ने के लिए आप जोड़ने के लिए अधिक '$ pdf-> AddPage()' अपने 'for' लूप में हो सकता है। – Dwza

उत्तर

8

एक A4 पेज जोड़ने के लिए, पोर्ट्रेट ओरिएंटेशन के साथ, कार्य करें:

$pdf->AddPage("P","A4"); 

एक नया वर्ग जो FPDF वर्ग फैली बनाएँ, और पूर्व निर्धारित Footer विधि ओवरराइड।

उदाहरण:

class PDF extends FPDF 
{ 
    function Footer() 
    { 
     // Go to 1.5 cm from bottom 
     $this->SetY(-15); 
     // Select Arial italic 8 
     $this->SetFont('Arial','I',8); 
     // Print centered page number 
     $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C'); 
    } 
} 
+0

इस कोडर को मेरे कोड से कैसे कॉल करें? क्या आप मुझे बता सकते हैं। – Jay

+0

ऊपर कोड मैं $ पीडीएफ = नए पीडीएफ() को शामिल किया है के लिए; और यह मेरे लिए काम किया। धन्यवाद।!! – Jay

+1

शीर्षलेख और पाद लेख कार्यों को अलग से बुलाया जाने की आवश्यकता नहीं है। यदि आप एफपीडीएफ बढ़ाते हैं और फिर तत्काल होते हैं, तो उन्हें स्वचालित रूप से बुलाया जाता है। –

8

मेरी टिप्पणी के अनुसार आप अपने पृष्ठ जहां कभी आप की तरह पर

$pdf->PageNo(); 

रख सकते हैं। इसके अलावा आप इस

$pdf->AliasNbPages(); 

लिए एक प्लेसहोल्डर जोड़ सकते हैं

तरह
$pdf->AliasNbPages('{totalPages}'); 

डिफ़ॉल्ट रूप से यह {nb} क्या विचार करेंगे। यह से आप

$pdf->Cell(0, 5, "Page " . $pdf->PageNo() . "/{totalPages}", 0, 1); 

की तरह या अपने खुद के प्लेसहोल्डर बिना pagesum जोड़ सकता है एक प्लेसहोल्डर

जोड़ने के लिए आवश्यक नहीं है

$pdf->Cell(0, 5, "Page " . $pdf->PageNo() . "/{nb}", 0, 1); 

इस उदाहरण का उत्पादन होगा

पृष्ठ 1/10

मामले में 10 पृष्ठों :)

लेकिन सावधान रहना

प्लेसहोल्डर इच्छा गंदगी सेल की चौड़ाई का उपयोग करते हुए थे। तो यदि आपके पास उदा। 90 180 से पेज-चौड़ाई मध्य अब (लाइन जहां प्लेसहोल्डर का उपयोग में) नहीं है। अगर आप कोशिश :)

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