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);
?>
PDF_add_weblink
(PHP 4, PECL pdflib >= 1.0.0)
PDF_add_weblink — Add weblink for current page [deprecated]
Description
bool PDF_add_weblink
( resource
$pdfdoc
, float $lowerleftx
, float $lowerlefty
, float $upperrightx
, float $upperrighty
, string $url
)
Adds a weblink annotation to a target url on the Web.
Returns TRUE on success or FALSE on failure.
This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=URI
and PDF_create_annotation() with
type=Link instead.
rz at daimi dot au dot dk ¶
8 years ago
js at justnet dot com dot au ¶
11 years ago
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 ¶
11 years ago
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;
?>
