Seite 1 von 1

Block drehen

Verfasst: Do 6. Aug 2009, 10:41
von ShaoKhan
Hallo Community,
ich möcht in einem PDF einen ganzen Textblock drehen und nicht nur einzelne Zeilen.
Hat da schon jemand Erfahrungen gesammelt || kennt sich aus ?
Bin für Ideen || Hinweise dankbar,

ShaoKhan

Verfasst: Do 6. Aug 2009, 11:14
von CIX88

Verfasst: Do 6. Aug 2009, 11:34
von ShaoKhan
Sowas in der Art hab ich bereits gefunden. Da gibts verschiedene Sachen wie zum Bleistift Rotate(x) oder RotateText(x) bzw. RotateImage(10).
Das alles dreht aber ausschliesslich nur Zeilenweise. Das heiss, man muss über jeder Zeile die Anweisung erneut schreiben.
Ich würd aber gern eine komplette Seite bzw. einen definierten Block drehen wollen. Scheinbar ist sowas (noch) nicht machbar.

Grüße, ShaoKhan

Verfasst: Do 6. Aug 2009, 13:25
von Wirus!
Das alles dreht aber ausschliesslich nur Zeilenweise. Das heiss, man muss über jeder Zeile die Anweisung erneut schreiben.


Wo hast Du denn diese Weisheit her? Völlicher Lötzinn.

[PHP]<?php
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();
}
}

class PDF extends PDF_Rotate
{
function RotatedMultiCell($w, $h, $txt, $border=0, $align='J', $fill=false,$x,$y,$angle)
{
//Text rotated around its origin
$this->Rotate($angle,$x,$y);
$this->MultiCell($w, $h, $txt, $border=0, $align='J', $fill);
$this->Rotate(0);
}
}

$txt='';
for ($i=1; $i<10; $i++)
$txt.="ein Mops kam in die Küche und stahl dem koch ein Ei, ";
$pdf = new PDF();
$pdf->AddPage();
$pdf->SetFont('Arial','',12);
$pdf->SetXY(100,100);
$pdf->RotatedMultiCell(80,6,$txt,'','','',100,100,33);
// alternativ
$pdf->SetXY(100,200);
$pdf->Rotate(-33,100,200);
$pdf->MultiCell(80,6,$txt);
$pdf->Rotate(0);
$pdf->Output();
?>[/PHP]

Verfasst: Do 6. Aug 2009, 14:02
von ShaoKhan
huiiiiiii .... du scheinst einer der freundlichen Benutzer des Boards zu sein [/ironie]

Du drehst, wenn ich das richtig verstehe mit RotatedMultiCell oder versteh ich das falsch ?
Kannt ich noch nicht, daher dacht ich frag ich hier nach.

Verfasst: Do 6. Aug 2009, 14:38
von Wirus!
Du drehst, wenn ich das richtig verstehe mit RotatedMultiCell oder versteh ich das falsch ?


Stimmt

Kannt ich noch nicht, daher dacht ich frag ich hier nach.


Kannst Du auch nicht - habe ich direkt darüber definiert:

[PHP]function RotatedMultiCell( ...[/PHP]

Ist aber eigentlich nichts anderes als

[PHP]$pdf->Rotate($ankle, $x, $y);
$pdf->Irgend_eine_Ausgabe-Funktion(...);
$pdf->Rotate(0);[/PHP]

Verfasst: Do 6. Aug 2009, 15:07
von ShaoKhan
Das probier ich mal aus, danke dir.

Verfasst: Do 6. Aug 2009, 19:30
von supertramp
Suchst du jemanden, der das als Auftragsarbeit für dich erledigt, oder bist du nur so im falschem Forum gelandet?

Verfasst: Mo 10. Aug 2009, 09:53
von ShaoKhan
Ich such dafür 'ne Idee, wie ich das lösen kann.
Wenn der Thread hier falsch ist, möge es ein Moderator doch bitte verschieben.

Verfasst: Do 18. Jul 2013, 11:11
von JohannWolfgangvon
Wo hast Du denn diese Weisheit her?




__________________
[SPAMLINK gelöscht]