André Laugks: pdflib / Text rotieren

Beitrag lesen

Hallo!

Nach längerem probieren und nach dem ich noch einmal die pdflib-Doku bezüglich rotation gelesen habe, ist mir klar geworden, dass man mit pdf_rotate() das gesamte Koordinatensystem dreht. Wenn das gedreht wurde, muss man dementsprechend die Koordinaten für alle nachfolgende Objekte anpassen.

In meinem Beispiel wird der Text vom oberen linken Seitenrand um 90 Grad bei x=100/y=100 und x=200/y=100 positioniert.

Damit es nicht zu einer großen Rechnerei von Objekt zu Objekt wird, drehe ich das Koordinatensystem wieder zurück.

  
<?php  
 $pdf = pdf_new();  
 pdf_open_file($pdf);  
 pdf_set_info($pdf,"Creator","rotate.pdf");  
 pdf_set_info($pdf,"Title","foo");  
 pdf_set_parameter($pdf, "topdown", "true");  
 PDF_begin_page($pdf, 595, 842);  
  
 $fontdir = $_SERVER['DOCUMENT_ROOT'] . "/fonts";  
 pdf_set_parameter($pdf, "FontOutline", "Arial=$fontdir/arial.ttf");  
 $font = PDF_findfont($pdf, "Arial", "winansi", 0);  
 pdf_setfont($pdf, $font, 10);  
  
 pdf_rotate($pdf, 90);  
 pdf_show_xy($pdf,"1. vertical text", -100, 100);  
  
// Koordinatensystem zurück drehen  
pdf_rotate($pdf, -90);  
  
 pdf_rotate($pdf, 90);  
 pdf_show_xy($pdf,"2. vertical text", -100, 200);  
  
 pdf_end_page($pdf);  
 pdf_close($pdf);  
 $buf = pdf_get_buffer($pdf);  
 $len = strlen($buf);  
 Header("Content-type: application/pdf");  
 Header("Content-Length: $len");  
 Header("Content-Disposition: inline; filename=rotate.pdf");  
 echo $buf;  
 pdf_delete($pdf);  
?>  

MfG, André Laugks

--
L-Andre @ gmx.de