mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-25 14:10:28 +01:00
62 lines
1.3 KiB
PHP
62 lines
1.3 KiB
PHP
<?php
|
|
require('fpdi.php');
|
|
if(file_exists(__DIR__ . '/pdf-cmyk.php')){
|
|
unlink(__DIR__ . '/pdf-cmyk.php');
|
|
}
|
|
if(file_exists(__DIR__ . '/pdf-cmyk.src.php')){
|
|
unlink(__DIR__ . '/pdf-cmyk.src.php');
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|