我对FPDF + FPDI中的文本旋转有问题... 我找到了一堂课,但没办法。
我需要将第一个文本旋转180°。
到目前为止我的工作代码:
std::set
非常感谢!
答案 0 :(得分:1)
我设法使用此url page
中使用的类在我的pdf中旋转文本基本上,我创建了一个带有FPDI作为父项的函数的类,并在我的代码中导入,而不是
// Your code
$pdf = new FPDI('P','mm',array(225.37,261.719));
// Import changed
$pdf = new PDF_Rotate('P','mm',array(225.37,261.719));
然后我可以使用
$pdf->SetXY(2, -5);
$pdf->RotatedText(5,250,"Example of rotated text",90);
这里的完整代码: PDF_Rotate.php(从FPDI导入而不是FPDF作为样本)
class PDF_Rotate extends \FPDI
{
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();
}
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_Rotate();
$pdf->SetXY(2, -5);
$pdf->RotatedText(5,250,"Example of rotated text",90);