略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: PDF_load_image

2024-11-15

PDF_load_image

(PECL pdflib >= 2.0.0)

PDF_load_image打开一个图像文件

说明

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

使用指定选项,打开一个基于磁盘的或虚拟的图像文件。

add a note add a note

User Contributed Notes 3 notes

up
3
Mike Zmuda
13 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!

<?php
//Set up a document (PHP5 standard.)
$p = new PDFlib();
if (
$p->begin_document("", "") == 0) {
     die(
"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);
  
fclose($stream);
}

//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...
$p->delete_pvf($pvf_filename);

//And... Render!
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=urlImageTest.pdf");
print
$buf;
?>
up
0
klassen dot tony at gmail dot com
12 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.

<?php
    $searchpath
= "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) {
       die(
"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
   
$p->end_page_ext("");

  
$p->end_document("");

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

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

  
$p = 0;
?>
up
0
Nicolas Padfield nicolasatpadfielddotdk
13 years ago
Example use of  PDF_load_image():

<?php
$pdf
= PDF_new();
PDF_open_file($pdf,'');
PDF_begin_page($pdf,595,842);
$image = PDF_load_image($pdf,"png","myimage.png","");
PDF_place_image($pdf,$image,64,26,.24);
?>

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

官方地址:https://www.php.net/manual/en/function.pdf-load-image.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3