pdf_continue_text

(PHP 3 >= 3.0.6, PHP 4, PECL)

pdf_continue_text -- Outputs text in next line

Description

bool pdf_continue_text ( resource pdfdoc, string text )

Print text at the next line. 如果成功则返回 TRUE,失败则返回 FALSE


add a note add a note User Contributed Notes
cbaltaci at turkisp dot com
13-Sep-2005 06:59
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++;
   }
}
?>
timo dot schmid at gmail dot com
01-Jul-2005 03:19
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
28-Jun-2005 11:06
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
06-Nov-2002 11:09
// Replace the while loop with this foreach and empty lines
// won't be a problem.

foreach($Arr as $line) {
     pdf_continue_text($pdf,$line);
}
npoole at binary dot net
06-Jul-2002 05:34
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.