pdf_open_image_file

(PHP 3 CVS only, PHP 4, PECL)

pdf_open_image_file -- Reads an image from a file

Description

int pdf_open_image_file ( resource pdfdoc, string imagetype, string filename, string stringparam, int intparam )

Open an image file. Supported types are jpeg, tiff, gif, and png. stringparam is either empty, mask, masked, or page. intparam is either 0, the image id of the applied mask, or the page. Parameters stringparam and intparam are optional before PHP 4.3.5 or with PDFlib less than 5.



pdf_open_image_file
Max / Poland
01-Oct-2005 03:58
another example : PHP 5 & PDFLIB 6.0.2 
<?
$pdf
= pdf_new();

 if (
pdf_begin_document($pdf,"", "") == 0)
   {die(
"Error: " . pdf_get_errmsg());}

  
pdf_set_parameter($pdf, "SearchPath", "./");
  
pdf_set_parameter($pdf, "hypertextencoding", "winansi");
  
pdf_set_parameter($pdf, "imagewarning", "false");
  
pdf_set_info($pdf, "Creator", "some INformations");
  
pdf_set_info($pdf, "Author", "author");
  
pdf_set_info($pdf, "Title", "Raport");

$logo = pdf_open_image_file($pdf, "jpeg", "foto.jpg", "", 0);

pdf_begin_page($pdf, 595, 842);
pdf_place_image($pdf, $logo, 28, 324, 0.125);
pdf_close_image($pdf, $logo);
pdf_end_page($pdf);
pdf_close($pdf);

 
$buf = pdf_get_buffer($pdf);
 
$len = strlen($buf);
 
header("Content-type: application/pdf");
 
header("Content-Length: $len");
 
header("Content-Disposition: attachment; filename=raport.pdf");
  echo
$buf;

?>
ws at esc-ag dot de
07-Apr-2005 03:25
when using pdf_open_image_file() with multipage tiffs in php 5.x.x I had to use the following

$pdf = pdf_new();
pdf_open_file($pdf, "test.pdf");
$file = "mutlipg.tif";

// Important to switch off the exceptions   
pdf_set_parameter($pdf, "imagewarning", "false");

for($i=1; ; $i++)
{
   $image=@pdf_open_image_file($pdf, "tiff", $file, "page", $i);
   if($image != 0)
   {
       $w = pdf_get_value($pdf, "imagewidth", $image);
       $h = pdf_get_value($pdf, "imageheight", $image);

   // use only half of the size
       pdf_begin_page($pdf, $w/2, $h/2);
       pdf_place_image($pdf, $image, 0, 0, 0.5);
       pdf_close_image($pdf, $image);
       pdf_end_page($pdf);
   }
   else
       break;
}
// Send the pdf to the Browser
pdf_close($pdf);
$fp = fopen("test.pdf", "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
alfred dot zingg at freesurf dot ch
16-Dec-2004 07:27
...
$logo = pdf_open_image_file($pdf, "jpeg", "logo.jpg");
pdf_place_image($pdf, $logo, 28, 324, 0.125);
pdf_close_im($pdf, $logo);
...
does not work under PHP5, use
...
$logo = pdf_open_image_file($pdf, "jpeg", "logo.jpg", "", 0);
pdf_place_image($pdf, $logo, 28, 324, 0.125);
pdf_close_im($pdf, $logo);
...
bmironov at jonview dot com
24-Jun-2003 03:54
This function deprecated since PDFlib v5.0

Use something like:
$image = @PDF_load_image ($pdf, "tiff", $filename, "")

Best regards,
Boris
j tse
05-Jun-2003 06:22
If the image file is sitting at somewhere (outside the subdirectory), an absolute path must be given instead.
darren at zoe dot co dot nz dot deleteme
16-Dec-2001 09:51
when using pdf_open_image_file() with multipage tiffs, the example in the manual won't work (i don't think the function returns -1 like it says)
you can use this instead;

   for ($page=1; ; $page++)
   {
     // our image
$image=pdf_open_image_file($pdf,"tiff",$file,"page",$page);
     // a bad image - page cannot be 0
$bad=pdf_open_image_file($pdf,"tiff",$file,"page",0);<br>
     if ($image == $bad)
   {
     // done adding pages
     break;
   }
     pdf_begin_page($pdf,$width,$height);
     pdf_place_image($pdf,$image,0,0,1);
     pdf_close_image($pdf,$image);
     pdf_end_page($pdf);
   }
bob at nijman dot de
02-Aug-2001 05:44
Try this.
(don't forget to put a "test.jpg" in the same dir)

<?php

//Create & Open PDF-Object
$pdf = pdf_new();
pdf_open_file($pdf);
pdf_set_info($pdf, "Author","Bob Nijman");
pdf_set_info($pdf, "Title","www.nijman.de");
pdf_set_info($pdf, "Creator", "bob@nijman.de");
pdf_set_info($pdf, "Subject", "pdf_open_image_file");
pdf_begin_page($pdf, 200, 200);

$pdfimage = pdf_open_image_file($pdf, "jpeg", "test.jpg");
pdf_place_image($pdf, $pdfimage, 10, 10, 0.6);

//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=image.pdf');
header('Content-length: ' . strlen($data));
echo
$data;

?>

<pdf_open_gifpdf_open_image>
 Last updated: Tue, 15 Nov 2005