FPDF kullanarak dinamik sayfalar

2 Cevap php

Ben bir pdf üreten bir sayfasında bir bağlantı var. Ben aynı FPDF için kullanıyorum. Benim gereksinimi farklı sayfalarda her altbilgi ve başlığını sahip tek bir pdf oluşturmak zorunda olduğunu.

Örneğin Bir öğrenci nakit, çek yoluyla ödeme yapar. Ben her bir araç tipi için bir döngü çalıştırıyorum bir pdf görüntüleme ödeme modu, vb miktarda üretmek zorunda ama sorun pdf i yazılır ediliyor düşünüyorum çünkü sadece bir giriş olduğunu göstermektedir. Ben ancak şimdi başarı ile sayfa sonu denedim.

Kod

require_once(APP_PHYSICAL_PATH."libs/fpdf/fpdf.php");

class PDF extends FPDF
{
    function Header()
    {
        $this->Image(APP_WEBROOT_PHYSICAL_PATH.'app_images/site-logo.gif',10,8,33);
        $this->Ln(15);

        $this->SetFont('Arial','B',12);
        $this->MultiCell(0,0,'mysite.',0,'C');
        $this->Ln(5);

        $this->SetFont('Arial','',10);
        $this->MultiCell(0,0,'67, addd2',0,'C');
        $this->Ln(5);

        $this->MultiCell(0,0,'Tel No - 010000000, Website:www.site.com',0,'C');
        $this->Ln(10);
    }

    function Footer()
    {
        $this->Ln(10);
        $this->SetFont('Arial','B',10);
        $this->MultiCell(0,0,'For mycomany.',0,'R');
        $this->Ln(20);
        $this->MultiCell(0,0,'Center Manager',0,'R');
    }

}
for($i=0;$i<3;$i++)
{ 
$pdf = new PDF();

$pdf->AddPage('P','Letter');
$pdf->SetAuthor("MYCompany");
$pdf->SetCreator("MYCompany");
$pdf->SetFont('Arial', 'B', 12);
$pdf->MultiCell(0, 0, 'Acknowledgement', 0, 'C');
$pdf->Ln(10);

$pdf->SetFont('Arial', 'B', 10);
$pdf->MultiCell(0,0,"Date: ".$details[0]['datepaid'],0,'L');
$pdf->MultiCell(0,0, "Acknowledgement No : ".date('Y/m/d')."/".$details[0]['pk_paymentid'],0,'R');
$pdf->Ln(10);

$pdf->SetFont('Arial','',10);
$pdf->MultiCell(0, 0, "We acknowledge receipt of Rs ".$details[0]['amountpaid']." from Ms/Mr ".$details[0]['fullname'], 0, 'J');
$pdf->Ln(5);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Course Name',1,0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,$details[0]['name'],1,0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Course Fee (Total)','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,round($courseData[0]['courseFee']),'LBR',0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,"Service Tax",'LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,round($courseData[0]['serviceTax']),'LBR',0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Total Amount Payable','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,round($courseData[0]['totalAmount']),'LBR',0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Amount Received','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,round($details[0]['amountpaid']),'LBR',0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Balance Amount Payable','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$balance=round($courseData[0]['totalAmount']-$details[0]['amountpaid']);
if($balance<1)
{
$balance=0;
}
 $pdf->Cell(90,7,$balance,'LBR',0,'L');
// $pdf->Cell(90,7,$courseData[0]['totalAmount']-$details[0]['amountpaid'],'LBR',0,'L');
 $pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Mode of Payment','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,"",'LBR',0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Cheque/Demand Draft/Credit Card Number','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,"",'LBR',0,'L');
$pdf->Ln(7);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,7,'Name of Bank and Branch','LBR',0,'L');
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,7,"",'LBR',0,'L');
$pdf->Ln(20);

$pdf->SetFont('Arial','I',10);
$pdf->MultiCell(0,0,'* Service Tax Regn No _____________',0,'L');
$pdf->Ln(10);

$pdf->SetFont('Arial','',10);
$pdf->MultiCell(0, 0, 'For further processing of your registeration to the above program, we are forwarding your details to our enrollment center at', 0, 'L');
$pdf->Ln(5);
$pdf->MultiCell(0, 0, 'Centre. For all queries please contact:', 0, 'L');
$pdf->Ln(10);
$pdf->MultiCell(0,0,'myaddress',0,'L');
}
//$pdf->Output();
$pdf->Output('Enrolment_No_'.$details[0]['enrolmentid'].".pdf",'D');

Bana bu konuda yardımcı olun.

Teşekkürler

2 Cevap

Tamam, şimdi hata oldukça açıktır. Eğer döngü önce $pdf = new PDF(); koymak zorunda.

yani.

$pdf = new PDF();
for($i=0;$i<3;$i++)
{ 
    $pdf->AddPage('P','Letter');
    ...

I took a close look at fpdi & tcpdf. The best way to read an extending pdf is that way:

class PDF extends FPDI { 
    var $_tplIdx;
    function Header() {}    
    function Footer() {}        
}

$pdf = new PDF();
$tpages = $pdf->setSourceFile("yourpdf.pdf");
/**
* Set a source-file
*
* @param string $filename a valid filename
* @return int number of available pages
*/

, ... O zaman sadece döngü sayfaları ve bitirdiniz :)