Павел В.
23 сообщения
#15 лет назад
Всем хай

Некто не подскажит класс для работы с PDF через PHP? Из функционала единственное что требуется что б поверх
существующего PDF была возможность писать текст как горизонтально, так и !!под углом!!. Это самое важное.

Может кто знает готовые решения? То все библиотеки что не находил - число горизонтальное написание текста.
Павел В.
23 сообщения
#15 лет назад
Есть в Zend-овом классе метод rotate, но мне бы не зендовое что то.
Станислав Малкин
1410 сообщений
#15 лет назад
Fpdf
Павел В.
23 сообщения
#15 лет назад
Я Cell там нашел для вывода текста, а вращалку документа нет.
Не подскажите метод?
Роман Р.
132 сообщения
#15 лет назад
Rotate(float angle ])
require('fpdf.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
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->RotatedImage('circle.png',85,60,40,16,45);
$pdf->RotatedText(100,60,'Hello!',45);
$pdf->Output();
?>
Павел В.
23 сообщения
#15 лет назад
Супер, большое спасибо!
Павел В.
23 сообщения
#15 лет назад
Сори за глупый вопрос но как через fpdf открыть существующий pdf файл и работать с ним как с фоном? (писать поверх него и тп)