Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PDF Functions : PDF_add_weblink

PDF_add_weblink

Add weblink for current page [deprecated] ()
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.

Code Examples / Notes » pdf_add_weblink

bob

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;
?>


js

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/");


rz

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);
?>


Change Language


Follow Navioo On Twitter
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_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
eXTReMe Tracker