diff options
Diffstat (limited to 'ext/pdf/pdf.c')
| -rw-r--r-- | ext/pdf/pdf.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/pdf/pdf.c b/ext/pdf/pdf.c index 9b4900edb1..36c6e71f1b 100644 --- a/ext/pdf/pdf.c +++ b/ext/pdf/pdf.c @@ -141,6 +141,7 @@ function_entry pdf_functions[] = { PHP_FE(pdf_set_transition, NULL) PHP_FE(pdf_set_duration, NULL) PHP_FE(pdf_open_jpeg, NULL) + PHP_FE(pdf_open_tiff, NULL) #if HAVE_LIBGD13 PHP_FE(pdf_open_memory_image, NULL) #endif @@ -2146,6 +2147,40 @@ PHP_FUNCTION(pdf_open_jpeg) { } /* }}} */ +/* {{{ proto int pdf_open_tiff(int pdf, string tifffile) + Opens a tiff file and returns an image for placement in a pdf document */ +PHP_FUNCTION(pdf_open_tiff) { + pval *arg1, *arg2; + int id, type; + int pdf_image; + PDF *pdf; + PDF_TLS_VARS; + + if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) { + WRONG_PARAM_COUNT; + } + + convert_to_long(arg1); + convert_to_string(arg2); + id=arg1->value.lval; + pdf = zend_list_find(id,&type); + if(!pdf || type!=PDF_GLOBAL(le_pdf)) { + php_error(E_WARNING,"Unable to find file identifier %d",id); + RETURN_FALSE; + } + + pdf_image = PDF_open_TIFF(pdf, arg2->value.str.val); + + if(pdf_image < 0) { + php_error(E_WARNING, "Could not open image"); + RETURN_FALSE; + } + + id = zend_list_insert((void *) pdf_image,PDF_GLOBAL(le_pdf_image)); + RETURN_LONG(id); +} +/* }}} */ + #if HAVE_LIBGD13 /* {{{ proto int pdf_open_memory_image(int pdf, int image) Takes an gd image and returns an image for placement in a pdf document */ |
