PHP 7.0.6 Released

PDF_continue_text

(PHP 4, PECL pdflib >= 1.0.0)

PDF_continue_textOutput text in next line

Description

bool PDF_continue_text ( resource $p , string $text )

Prints text at the next line. Returns TRUE on success or FALSE on failure.

User Contributed Notes

npoole at binary dot net
13 years ago
This is how I wrap text in a PDF file built from database content...

$foo = mysql_result($results,0,"foo");

$foo = wordwrap($foo,72,"|");

$Arr = explode("|",$foo);
$i = 0;
while ($Arr[$i] != "") {
        pdf_continue_text($pdf,$Arr[$i]);
        $i++;
}

Someone mentioned to me (and rightfully so) that this may be flawed if you have 2 blank lines, and then more text in the variable.  Use it for what you will though, you may find it (or an alteration of it) useful.
timo dot schmid at gmail dot com
10 years ago
I found no possibility to align a Text right. So I wrote a function:

<?php
function pdf_align_right($string, $chars = 10){
   
$string = str_pad($string, $chars, " ", STR_PAD_LEFT);
   
// Spaces in PDF-Documents are only the Half of a Normal Letter: So we replace them with 2 Spaces
   
$string = preg_replace("/ /", "  ", $string);
    return
$string;
}
?>

Note that the 2nd Parameter is NOT the Lenght of the returned String because the Spaces will be replaced with 2 Spaces.
stephen at thelonecoder dot com
10 years ago
For wrapping text in pdf this is the method that I have been using .

It handles variable font and sizes and also variable widths on the paragraph.

<?php
        $c
= $db->row['content'];

   
$color = convert_hexcolor_rgbdec($color_hex);
   
pdf_setcolor($pdf, 'both', 'rgb', $color['r'], $color['g'], $color['b']);

   
$font = pdf_findfont($pdf, "$fontStyle", "host", 1);
   
pdf_setfont($pdf, $font, $s);

   
$par1 = stripslashes($c);

   
$j = 0;
   
$n = 0;
    while(
$j < $pw && $c != "") {
          
$f = substr($par1, $n, 1);
          
$fWidth = pdf_stringwidth($pdf, "$f", 1, $s);
          
$j = $j + $fWidth;
          
$fWidth = 0;
          
$n++;
      }
   
$wrap = $n;
   
   
$lead = $s + 2;
   
$paragraph = wordwrap($paragraph, $wrap, "***");
   
$parArr = explode("***", $paragraph);

   
pdf_show_xy($pdf, "$parArr[0]", $x, $y);
   
pdf_set_leading($pdf, $lead);

   
$i = 1;
    while(
$parArr[$i]) {
       
pdf_continue_text($pdf, "$parArr[$i]");
       
$i++;
    }
}
marco at elevate dot nl
13 years ago
// Replace the while loop with this foreach and empty lines
// won't be a problem.

foreach($Arr as $line) {
      pdf_continue_text($pdf,$line);
}
cbaltaci at turkisp dot com
10 years ago
Shortest way to wordwrap in pdf_continue_text. There is no problem with new lines. Thnx to GTECHNICS.com...

<?
$text = $_POST['texfield']; ;
$lines = explode("\n",$text);
pdf_set_text_pos($pdfdoc,$x ,$y);
foreach($lines as $line){
    $foo = $line;
    $foo = wordwrap($foo,122,"|");
    $Arrx = explode("|",$foo);
    $i = 0;
    while ($Arrx[$i] != "") {
       pdf_continue_text($pdfdoc,$Arrx[$i]);
       $i++;
    }
}
?>
To Top