Jump to content

FPDF help


Recommended Posts

I use the [url=http://www.fpdf.org/]fpdf[/url] class to create  on the fly pdf's using a template. I am now trying to rotate some text on the page and have a template, but it's not working.

This this the code I use for the templates
[code]
error_reporting (E_ALL);

define('FPDF_FONTPATH','/home/*******/public_html/font/');
require('../pdf/fpdi.php');
require('../connection.php');

sql query etc....

$pdf= new fpdi();

$pagecount = $pdf->setSourceFile("4 sheet.pdf");
$tplidx = $pdf->ImportPage(1);

$pdf->addPage();
$pdf->useTemplate($tplidx,0,0);

$pdf->Image('logo.png',90,8,33);
        $pdf->SetFont('Arial','',18);
        $pdf->SetTextColor(0);
$pdf->SetXY(53,29);
        $pdf->write(10,"$store_name $store_num 3,2,1's Week $week");
$pdf->SetXY(25,75);
        $pdf->write(10,"Name          Cat Number            Adjusted          Verified by");       

$pdf->Output("newpdf.pdf","I");
$pdf->closeParsers();
[/code]

This works fine

I am using this code to rotate the text take from this [url=http://www.fpdf.org/en/script/script2.php]page[/url]

[code]

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

class PDF_Rotate extends FPDF
{
var $angle=0;

function Rotate($angle,$x=-1,$y=-1)
{
    if($x==-1)
        $x=$this->x;
    if($y==-1)
        $y=$this->y;
    if($this->angle!=0)
        $this->_out('Q');
    $this->angle=$angle;
    if($angle!=0)
    {
        $angle*=M_PI/180;
        $c=cos($angle);
        $s=sin($angle);
        $cx=$x*$this->k;
        $cy=($this->h-$y)*$this->k;
        $this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy));
    }
}

function _endpage()
{
    if($this->angle!=0)
    {
        $this->angle=0;
        $this->_out('Q');
    }
    parent::_endpage();
}
}
?>







<?php
define('FPDF_FONTPATH','font/');
require('rotation.php');

class PDF extends PDF_Rotate
{
function RotatedText($x,$y,$txt,$angle)
{
    //Text rotated around its origin
    $this->Rotate($angle,$x,$y);
    $this->Text($x,$y,$txt);
    $this->Rotate(0);
}

function RotatedImage($file,$x,$y,$w,$h,$angle)
{
    //Image rotated around its upper-left corner
    $this->Rotate($angle,$x,$y);
    $this->Image($file,$x,$y,$w,$h);
    $this->Rotate(0);
}
}

$pdf=new PDF();
$pdf->AddPage();
$pdf->SetFont('Arial','',20);
$pdf->RotatedText(100,60,'Hello!',45);
$pdf->Output();
?>
[/code]

This works ok by it's self. When the two are added together it stops working

[code]<?php
error_reporting (E_ALL);

define('FPDF_FONTPATH','/home/*******/public_html/font/');
require('../pdf/rotation.php');



class fpdi extends PDF_Rotate
{
function RotatedText($x,$y,$txt,$angle)
{
    //Text rotated around its origin
    $this->Rotate($angle,$x,$y);
    $this->Text($x,$y,$txt);
    $this->Rotate(0);
}

function RotatedImage($file,$x,$y,$w,$h,$angle)
{
    //Image rotated around its upper-left corner
    $this->Rotate($angle,$x,$y);
    $this->Image($file,$x,$y,$w,$h);
    $this->Rotate(0);
}
}

$pagecount = $pdf->setSourceFile("due_diligence_week.pdf");
$tplidx = $pdf->ImportPage(1);

$pdf->addPage();
$pdf->useTemplate($tplidx,0,0);
$pdf->SetFont('Arial','',20);

$pdf->RotatedText(100,60,'Hello!',45);
$pdf->Output();
?>[/code]

This is the code i am trying to get to work, can anyone help as it's getting on my nerves!!!

Many thanks James
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.