FYI -- PDFlib Lite does not support textflow(s).
(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.
FYI -- PDFlib Lite does not support textflow(s).
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. :)