diff options
-rw-r--r-- | docs/manual-mutool-run.html | 2 | ||||
-rw-r--r-- | source/tools/murun.c | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/docs/manual-mutool-run.html b/docs/manual-mutool-run.html index f9fcf976..5954648a 100644 --- a/docs/manual-mutool-run.html +++ b/docs/manual-mutool-run.html @@ -768,6 +768,8 @@ and style ("serif" or "sans-serif"). <dd>Create a PDF object from the Font object as an Identity-H encoded CID font. <dt>PDFDocument#addImage(image) <dd>Create a PDF object from the Image object. +<dt>PDFDocument#loadImage(obj) +<dd>Load an Image from a PDF object (typically an indirect reference to an image resource). </dl> <h3> diff --git a/source/tools/murun.c b/source/tools/murun.c index 281d5ec0..33bdd8f4 100644 --- a/source/tools/murun.c +++ b/source/tools/murun.c @@ -3290,6 +3290,21 @@ static void ffi_PDFDocument_addImage(js_State *J) ffi_pushobj(J, ind); } +static void ffi_PDFDocument_loadImage(js_State *J) +{ + fz_context *ctx = js_getcontext(J); + pdf_document *pdf = js_touserdata(J, 0, "pdf_document"); + pdf_obj *obj = ffi_toobj(J, pdf, 1); + fz_image *img = NULL; + + fz_try(ctx) + img = pdf_load_image(ctx, pdf, obj); + fz_catch(ctx) + rethrow(J); + + ffi_pushimage_own(J, img); +} + static void ffi_PDFDocument_addSimpleFont(js_State *J) { fz_context *ctx = js_getcontext(J); @@ -4746,6 +4761,7 @@ int murun_main(int argc, char **argv) jsB_propfun(J, "PDFDocument.addCJKFont", ffi_PDFDocument_addCJKFont, 4); jsB_propfun(J, "PDFDocument.addFont", ffi_PDFDocument_addFont, 1); jsB_propfun(J, "PDFDocument.addImage", ffi_PDFDocument_addImage, 1); + jsB_propfun(J, "PDFDocument.loadImage", ffi_PDFDocument_loadImage, 1); jsB_propfun(J, "PDFDocument.addPage", ffi_PDFDocument_addPage, 4); jsB_propfun(J, "PDFDocument.insertPage", ffi_PDFDocument_insertPage, 2); jsB_propfun(J, "PDFDocument.deletePage", ffi_PDFDocument_deletePage, 1); |