(PECL pdflib >= 2.0.0)

PDF_load_imageOpen image file


int PDF_load_image ( resource $pdfdoc , string $imagetype , string $filename , string $optlist )

Opens a disk-based or virtual image file subject to various options.

add a note add a note

User Contributed Notes 3 notes

Mike Zmuda
16 years ago
This program takes a picture from a dynamic image selector (ie: banner ad selector software, or whatever,) and inserts it into your pdf.

You can use something like this to insert coupons on PDFs (such as register receipts, bills, receipts, etc...) just like they do at the supermarket checkout!

//Set up a document (PHP5 standard.)
$p = new PDFlib();
if (
$p->begin_document("", "") == 0) {
"Error: " . $p->get_errmsg());
$p->set_info("Creator", "Homer");
$p->set_info("Author", "Lisa");
$p->set_info("Title", "Simpsons Image");
$p->begin_page_ext(612, 792, ""); // This is letter.

//Open the url for the image server we wish to use.
//     (When I say "Image Server," I mean any program or
//     script which will render image data as output. That
//     means that it has to output the raw data, unmodified,
//     such that it could be accessed like this in a standard
//     html instruction call:
//        <img src="http://site.com/getimg.php?pic=18">
//     If it adds border or other text, the data will be
//     corrupted, and thus cause the pdf to misrender.
if ($stream = fopen('http://site.com/getimg.php?pic=18', 'r')) {
$MyImage= stream_get_contents($stream, -1);

//First, create a PDF Virtual File (PVF) out of our data...
$pvf_filename = "/pvf/image/image1.jpg";
//and store the $MyImage data (picture data from above)
//    in it!
$p->create_pvf($pvf_filename,$MyImage, "");
//Load the image from the PVF into, er, uh, ram..., and, uh...
$image = $p->load_image("jpeg", $pvf_filename,"");
//Put it on the screen! :)
$p->fit_image($image, 100,500,"boxsize {100 100} position 50 fitmethod meet");
//Be cool and clean up after yourself...

//And... Render!
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=urlImageTest.pdf");
Nicolas Padfield nicolasatpadfielddotdk
16 years ago
Example use of  PDF_load_image():

= PDF_new();
$image = PDF_load_image($pdf,"png","myimage.png","");

If you want something that is more free for commercial use, open source and does not require compiling, you could look at for example http://www.fpdf.org in stead of PDFlib
klassen dot tony at gmail dot com
15 years ago
I've had a difficult time trying to load images to the pdf with pdflib, and tried many examples. I came across this one and it actually works for me in IE and Firefox. I hope this can be of some help to someone.

= "path/to/image/dir";
$p = new PDFlib();
$p->set_parameter("errorpolicy", "return"); // check return values of load_font() etc.
$p->set_parameter("hypertextencoding", "winansi"); // used to prevent problems with japanese systems
$p->set_parameter("SearchPath", $searchpath); // **set search path parameter in pdf
if ($p->begin_document("", "") == 0) {
"Error: " . $p->get_errmsg());
$p->set_info("Creator", " the creator");
$p->set_info("Author", " you ");
$p->set_info("Title", " imageInsert ");
$p->begin_page_ext(612, 792, "");  // declare page with standard letter size
$certLogo = "stamp.jpg"// your image name

$image = $p->load_image("auto", $certLogo, "");
    if (!
$image) {    die("Error: " . $p->get_errmsg());    } 
$p->fit_image($image, 390,575, ""); //place image within page coordinates
$p->close_image($image);            // close resource


$data = $p->get_buffer();
$len = strlen($data);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");

$p = 0;
To Top