PDF_fit_textflow()
(PECL pdflib >= 2.0.0)
Format textflow in rectangular area
说明
PDF_fit_textflow(resource $pdfdoc,int $textflow,float $llx,float $lly,float $urx,float $ury,string $optlist): string
Formats the next portion of a textflow into a rectangular area.
fit_textflow($tf, x_coord, y_coord, w_coord, h_coord, $opt) x_coord - number of pixels from the left y_coord - number of pixels from the bottom of the text box to the bottom of the PDF w_coord - number of pixels from the left to the right side of the box h_coord - number of pixels from the bottom of the PDF to the top of the text box
As of v8 or v9 of PDFlib, some things have changed concerning pdf_fit_textflow . The example (2 posts above) which makes textflow extend accross multiple pages, may be necessary to be changed in this way: do { .... } while(strcmp($result, "_boxfull") == 0);
NOTE! This function is not supported in "PDFlib Lite" extension which is mostly been used by PHP-programmers.
This is an excerpt of code from the PDFlib Manual that has been modfied for PHP. It fulfills the very common need to have a textflow extend accross multiple pages. $pdf is the PDF file resource. You may want to modify the page size (this is letter size) or the position of the textflow itself. <?php $thetext = "INSERT YOUR MULTI-PAGE TEXT HERE"; $textflow = PDF_create_textflow($pdf, $thetext, "fontname=Tahoma fontsize=9 encoding=winansi"); do { PDF_begin_page_ext($pdf, 612, 792, ""); $result = PDF_fit_textflow($pdf, $textflow, 50, 120, 550, 720, ""); PDF_end_page_ext($pdf, ""); } while (strcmp($result, "_stop")); PDF_delete_textflow($pdf, $textflow); ?> If you have any templates or pagination that need to be placed on each page, they can go within the do/while loop itself, between the begin_page and end_page functions.
to plant an singel line with an alignment $textflow = pdf_create_textflow($pdf, "test 123\nfoo baaa", 'fontname=Helvetica fontsize=12 encoding=iso8859-1 alignment=right'); pdf_fit_textflow ($pdf, $textflow, 400, 100, 550, 200, ''); pdf_delete_textflow($pdf, $textflow);