diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-04-26 20:22:22 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-04-27 17:01:06 +0200 |
commit | a1c86cfcea30b18734488935c636a5d7198b3983 (patch) | |
tree | 58034d2220f43c25c3ee7f3ffa933704657cb537 /source | |
parent | 9b4acc78d2a56a5f79d69f50e72197930509505e (diff) | |
download | mupdf-a1c86cfcea30b18734488935c636a5d7198b3983.tar.xz |
murun: Add pdf.deleteObject().
Diffstat (limited to 'source')
-rw-r--r-- | source/tools/murun.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/tools/murun.c b/source/tools/murun.c index b5726770..88d429cc 100644 --- a/source/tools/murun.c +++ b/source/tools/murun.c @@ -2341,6 +2341,19 @@ static void ffi_PDFDocument_createObject(js_State *J) ffi_pushobj(J, ind); } +static void ffi_PDFDocument_deleteObject(js_State *J) +{ + fz_context *ctx = js_getcontext(J); + pdf_document *pdf = js_touserdata(J, 0, "pdf_document"); + pdf_obj *ind = js_isuserdata(J, 1, "pdf_obj") ? js_touserdata(J, 1, "pdf_obj") : NULL; + int num = ind ? pdf_to_num(ctx, ind) : js_tonumber(J, 1); + + fz_try(ctx) + pdf_delete_object(ctx, pdf, num); + fz_catch(ctx) + rethrow(J); +} + static void ffi_PDFDocument_addObject(js_State *J) { fz_context *ctx = js_getcontext(J); @@ -3101,6 +3114,7 @@ int murun_main(int argc, char **argv) jsB_propfun(J, "PDFDocument.getTrailer", ffi_PDFDocument_getTrailer, 0); jsB_propfun(J, "PDFDocument.countObjects", ffi_PDFDocument_countObjects, 0); jsB_propfun(J, "PDFDocument.createObject", ffi_PDFDocument_createObject, 0); + jsB_propfun(J, "PDFDocument.deleteObject", ffi_PDFDocument_deleteObject, 1); jsB_propfun(J, "PDFDocument.addObject", ffi_PDFDocument_addObject, 1); jsB_propfun(J, "PDFDocument.addStream", ffi_PDFDocument_addStream, 1); jsB_propfun(J, "PDFDocument.addSimpleFont", ffi_PDFDocument_addSimpleFont, 1); |