PDF 函数
在线手册:中文 英文
PHP手册


PDF 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Add weblink for current page [deprecated]

用户评论:

rz at daimi dot au dot dk (23-Mar-2005 10:07)

Notice that the coordinates given are absolute - they aren't tranformed using the transformation matrix.
The following example shows a simple function that shows an url and adds a weblink.
As illustrated it only works when the page isn't transformed.

<?php
function linkxy($x,$y,$url,$font,$size) {
  global
$pdf;
 
pdf_setfont($pdf, $font, $size);
 
pdf_show_xy($pdf,$url,$x,$y);
 
pdf_add_weblink($pdf,
         
$x-2,
         
$y-2+pdf_get_value($pdf,"descender",$font)*$size,
         
$x+2+pdf_stringwidth($pdf,$url,$font,$size),
         
$y+2+pdf_get_value($pdf,"ascender",$font)*$size,
         
$url);
}
$pdf = pdf_new();
pdf_open_file($pdf);
pdf_begin_page($pdf, 595, 421);
$font = PDF_findfont($pdf, "Helvetica", "host", 0);

linkxy(50,300,"http://www.ruf.dk",$font,30);
/* the following does not work, sorry */
pdf_translate($pdf,250,100);
pdf_scale($pdf,0.6,1.2);
linkxy(10,100,"http://www.google.com",$font,30);

pdf_end_page($pdf);
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header('Content-disposition: inline; filename=myTest.pdf');
header('Content-length: ' . strlen($data));
echo
$data;
pdf_delete($pdf);
?>

js at justnet dot com dot au (06-Jun-2002 05:22)

The example given in the above comment is potentially confusing, since the 4th and 5th arguments appear to be the width and height of the link area, but are actually the coordinates of the diagonally opposite corner. This is much more evident when the starting point for the weblink is something other than 0,0 (which is of course very likely).

A better example:

$starting_xpos = 100;
$starting_ypos = 150;
pdf_add_weblink($pdf, $starting_xpos, $starting_ypos, $starting_xpos + $width, $starting_ypos + $height, "http://goweb.com.au/");

bob at nijman dot de (02-Aug-2001 03:55)

Try this:

<?php

//create & open PDF-Object
$pdf = pdf_new();
pdf_open_file($pdf);
pdf_set_info($pdf, "Author","Bob Nijman");

//the interesting bit...
$pdfimage = pdf_open_image_file($pdf, "jpeg", "test.jpg");
$width = pdf_get_image_width($pdf, $pdfimage);
$height = pdf_get_image_height($pdf, $pdfimage);
pdf_begin_page($pdf, 421, 595);
pdf_place_image($pdf, $pdfimage, 0, 0, 1);
pdf_add_weblink($pdf, 0, 0, $width, $height, "http://www.hackeschermarkt.de");

//close it up
pdf_end_page($pdf);
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header('Content-disposition: inline; filename=myTest.pdf');
header('Content-length: ' . strlen($data));
echo
$data;

?>