文字

PDF_show_xy

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_xyOutput text at given position

说明

bool PDF_show_xy ( resource $p , string $text , float $x , float $y )

Prints text in the current font. 成功时返回 TRUE , 或者在失败时返回 FALSE

用户评论:

[#1] Christopher Jastram <cej at intech dot com> [2005-12-11 12:52:33]

Here's a little function that creates a pdf_show_xy_right() function with exactly the same parameters as pdf_show_xy(), except that the third parameter now specifies the right-aligned edge position.

function pdf_show_xy_right(&$pdf, $text, $right, $bottom) {
$fontname = pdf_get_parameter($pdf, "fontname", 0);
$font = pdf_findfont($pdf, $fontname, "host", 0);
$size = pdf_get_value($pdf, "fontsize", 0);
$width = pdf_stringwidth($pdf, $text, $font, $size);
pdf_show_xy($pdf, $text, $right-$width, $bottom);
}

Set your font name and size separately, just as you would with pdf_show_xy(), and then call this function like so:

pdf_show_xy_right($pdf, "Hello World", 50, 200);

The third parameter is the right edge, fourth parameter is the baseline.  You do NOT have to pass in the font and size!

[#2] sigve at NwOoSlPfArMaidah dot no [2004-10-01 07:21:05]

Want to do right-to-left text with pdflib? Just pick the right margin, and send it as $x to this function.

<?php
function pdf_show_xy_backwards ($pdf$text$font$size$x$y) {
    
$currx $x;
    for (
$i strlen($text); $i 0$i--) {
        
$char substr((string)$text$i-11);
        
$width pdf_stringwidth($pdf, (string)$char$font$size);
        
$currx $currx $width;
        
pdf_show_xy($pdf, (string)$char$currx$y);
    }
}
?>

[#3] DrPsycho at easynet dot be [2002-12-06 09:41:19]

No, that's just because in PDF the origin is at the lower left corner

[#4] nid at home dot se [2002-10-02 02:26:22]

When using PDFLib version 4.0.3 under PHP 4.2.1 on Windows the Y-position is reversed, which means, the Y is the number of pixels that should be visible BELOW the texts baseline.

上一篇: 下一篇: