©
This document uses PHP Chinese website manual Release
(PECL pdflib >= 2.1.0)
PDF_add_textflow — Create Textflow or add text to existing Textflow
$pdfdoc
, int $textflow
, string $text
, string $optlist
)Creates a Textflow object, or adds text and explicit options to an existing Textflow.
[#1] Rich M. [2013-07-23 20:33:05]
FYI -- PDFlib Lite does not support textflow(s).
[#2] david [2008-10-01 09:19:45]
If you get an error like this:
PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 3072 bytes) in /var/www/html/pdf/starter_textflow.php on line 70
It is because you are sending too much data to the "add_textflow" function. Increasing the memory in the php.ini file won't fix the problem. The solution is to try buffering the data you send to the function.
For example, if this fails:
<?php
$text=
"Lorem ipsum dolor sit amet, consectetur adi?pi?sicing elit, sed do eius?mod tempor incidi?dunt ut labore et dolore magna ali?qua. Ut enim ad minim ve?niam, quis nostrud exer?citation ull?amco la?bo?ris nisi ut ali?quip ex ea commodo con?sequat. Duis aute irure dolor in repre?henderit in voluptate velit esse cillum dolore eu fugiat nulla pari?atur. Excep?teur sint occae?cat cupi?datat non proident, sunt in culpa qui officia dese?runt mollit anim id est laborum. ";
//send lots of data all at once
$max=100;
for($i=0;$i<$max;$i++)
$text .= $text;
$tf = $p->add_textflow($tf, $text, $optlist1);
?>
Try something like this instead:
<?php
$text=
"Lorem ipsum dolor sit amet, consectetur adi?pi?sicing elit, sed do eius?mod tempor incidi?dunt ut labore et dolore magna ali?qua. Ut enim ad minim ve?niam, quis nostrud exer?citation ull?amco la?bo?ris nisi ut ali?quip ex ea commodo con?sequat. Duis aute irure dolor in repre?henderit in voluptate velit esse cillum dolore eu fugiat nulla pari?atur. Excep?teur sint occae?cat cupi?datat non proident, sunt in culpa qui officia dese?runt mollit anim id est laborum. ";
//send chunks of data
$max=100;
for($i=0;$i<$max;$i++)
$tf = $p->add_textflow($tf, $text, $optlist1);
?>
In the second example we send less data, but we call the function more often. With the first example, I could only generate 3 or 4 pages of a PDF; with the latter example I could generate 200+ page PDF's.
This took me a while to debug; hope it saves someone else some time. :)