PDF_continue_text
(PHP 4, PECL pdflib >= 1.0.0)
PDF_continue_text — Output text in next line
Описание
bool PDF_continue_text
( resource
$p
, string $text
)
Prints text
at the next line. Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Генерация нетекстовых MIME форматов
- PDF_activate_item
- PDF_add_annotation
- PDF_add_bookmark
- PDF_add_launchlink
- PDF_add_locallink
- PDF_add_nameddest
- PDF_add_note
- PDF_add_outline
- PDF_add_pdflink
- PDF_add_table_cell
- PDF_add_textflow
- PDF_add_thumbnail
- PDF_add_weblink
- PDF_arc
- PDF_arcn
- PDF_attach_file
- PDF_begin_document
- PDF_begin_font
- PDF_begin_glyph
- PDF_begin_item
- PDF_begin_layer
- PDF_begin_page_ext
- PDF_begin_page
- PDF_begin_pattern
- PDF_begin_template_ext
- PDF_begin_template
- PDF_circle
- PDF_clip
- PDF_close_image
- PDF_close_pdi_page
- PDF_close_pdi
- PDF_close
- PDF_closepath_fill_stroke
- PDF_closepath_stroke
- PDF_closepath
- PDF_concat
- PDF_continue_text
- PDF_create_3dview
- PDF_create_action
- PDF_create_annotation
- PDF_create_bookmark
- PDF_create_field
- PDF_create_fieldgroup
- PDF_create_gstate
- PDF_create_pvf
- PDF_create_textflow
- PDF_curveto
- PDF_define_layer
- PDF_delete_pvf
- PDF_delete_table
- PDF_delete_textflow
- PDF_delete
- PDF_encoding_set_char
- PDF_end_document
- PDF_end_font
- PDF_end_glyph
- PDF_end_item
- PDF_end_layer
- PDF_end_page_ext
- PDF_end_page
- PDF_end_pattern
- PDF_end_template
- PDF_endpath
- PDF_fill_imageblock
- PDF_fill_pdfblock
- PDF_fill_stroke
- PDF_fill_textblock
- PDF_fill
- PDF_findfont
- PDF_fit_image
- PDF_fit_pdi_page
- PDF_fit_table
- PDF_fit_textflow
- PDF_fit_textline
- PDF_get_apiname
- PDF_get_buffer
- PDF_get_errmsg
- PDF_get_errnum
- PDF_get_font
- PDF_get_fontname
- PDF_get_fontsize
- PDF_get_image_height
- PDF_get_image_width
- PDF_get_majorversion
- PDF_get_minorversion
- PDF_get_parameter
- PDF_get_pdi_parameter
- PDF_get_pdi_value
- PDF_get_value
- PDF_info_font
- PDF_info_matchbox
- PDF_info_table
- PDF_info_textflow
- PDF_info_textline
- PDF_initgraphics
- PDF_lineto
- PDF_load_3ddata
- PDF_load_font
- PDF_load_iccprofile
- PDF_load_image
- PDF_makespotcolor
- PDF_moveto
- PDF_new
- PDF_open_ccitt
- PDF_open_file
- PDF_open_gif
- PDF_open_image_file
- PDF_open_image
- PDF_open_jpeg
- PDF_open_memory_image
- PDF_open_pdi_document
- PDF_open_pdi_page
- PDF_open_pdi
- PDF_open_tiff
- PDF_pcos_get_number
- PDF_pcos_get_stream
- PDF_pcos_get_string
- PDF_place_image
- PDF_place_pdi_page
- PDF_process_pdi
- PDF_rect
- PDF_restore
- PDF_resume_page
- PDF_rotate
- PDF_save
- PDF_scale
- PDF_set_border_color
- PDF_set_border_dash
- PDF_set_border_style
- PDF_set_char_spacing
- PDF_set_duration
- PDF_set_gstate
- PDF_set_horiz_scaling
- PDF_set_info_author
- PDF_set_info_creator
- PDF_set_info_keywords
- PDF_set_info_subject
- PDF_set_info_title
- PDF_set_info
- PDF_set_layer_dependency
- PDF_set_leading
- PDF_set_parameter
- PDF_set_text_matrix
- PDF_set_text_pos
- PDF_set_text_rendering
- PDF_set_text_rise
- PDF_set_value
- PDF_set_word_spacing
- PDF_setcolor
- PDF_setdash
- PDF_setdashpattern
- PDF_setflat
- PDF_setfont
- PDF_setgray_fill
- PDF_setgray_stroke
- PDF_setgray
- PDF_setlinecap
- PDF_setlinejoin
- PDF_setlinewidth
- PDF_setmatrix
- PDF_setmiterlimit
- PDF_setpolydash
- PDF_setrgbcolor_fill
- PDF_setrgbcolor_stroke
- PDF_setrgbcolor
- PDF_shading_pattern
- PDF_shading
- PDF_shfill
- PDF_show_boxed
- PDF_show_xy
- PDF_show
- PDF_skew
- PDF_stringwidth
- PDF_stroke
- PDF_suspend_page
- PDF_translate
- PDF_utf16_to_utf8
- PDF_utf32_to_utf16
- PDF_utf8_to_utf16
Коментарии
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.
// Replace the while loop with this foreach and empty lines
// won't be a problem.
foreach($Arr as $line) {
pdf_continue_text($pdf,$line);
}
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++;
}
}
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.
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++;
}
}
?>