(PECL printer SVN)
printer_draw_text — Draw text
$printer_handle
, string $text
, int $x
, int $y
)
The function draws text
at position
x
, y
using the selected
font.
printer_handle
printer_handle
must be a valid handle to a
printer.
text
The text to be written.
x
x
is the x coordinate of the position.
y
y
is the y coordinate of the position.
没有返回值。
Example #1 printer_draw_text() example
<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$font = printer_create_font("Arial", 72, 48, 400, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, "test", 10, 10);
printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>
frank dot liebelt at edico-gmbh dot de (2004-06-22 13:03:10)
Placing text or other elements on a page could be a worst thing.
I wrote and use now the following code to print out a page as orientation help.
The creation time will be much shorter...
[CODE]
<?php
$p = printer_open();
printer_set_option($p, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_A4);
printer_start_doc($p, "Testpage");
printer_start_page($p);
$pen = printer_create_pen(PRINTER_PEN_SOLID, 1, "000000");
$font = printer_create_font("Courier", 37, 19, PRINTER_FW_NORMAL, false, false, false, 0);
printer_select_pen($p, $pen);
printer_select_font($p, $font);
for ($i = 0; $i < 4600; $i+=100)
{
printer_draw_line($p, $i,0,$i,6700);
printer_draw_text($p,$i,$i,0);
}
for ($i = 0; $i < 6700; $i+=100)
{
printer_draw_line($p, 0,$i,4600,$i);
printer_draw_text($p,$i,0,$i);
}
printer_delete_font($font);
printer_delete_pen($pen);
printer_end_page($p);
printer_end_doc($p);
printer_close($p);
?>
[/CODE]
btw.
Has anyone a list for character sizes (x,y)? Like:
12px = 50, 12
14px = 60, 20
Frank
firman at fibconsultant dot biz (2003-10-14 06:20:45)
I've a problem with the right alignment for number with draw_text so I make a small function and it is work for me, hopefully it will help other.
function write_num($input,$printer,$ypos,$xpos){
$s=strlen($input);
$y=$xpos;
for ($i=1;$i<$s+1;$i++){
$u=$i*-1;
printer_draw_text($printer,substr($input,$u,1),$y,$ypos);
$y=$y-15;
}
}
Firman, Indonesia