UNPKG

mupdf-webviewer

Version:

The web viewer SDK using mupdf.js

1 lines 57.9 kB
"use strict";import e from"./mupdf-wasm.js";var t=null;"undefined"!=typeof process&&process.versions&&process.versions.node&&(t=await import("node:fs"));const _=await e(globalThis.$libmupdf_wasm_Module);function n(e){return _._wasm_malloc(e)}function r(e){return _._wasm_free(e)}_._wasm_init_context();export const Matrix={identity:[1,0,0,1,0,0],scale:(e,t)=>[e,0,0,t,0,0],translate:(e,t)=>[1,0,0,1,e,t],rotate(e){for(;e<0;)e+=360;for(;e>=360;)e-=360;let t=Math.sin(e*Math.PI/180),_=Math.cos(e*Math.PI/180);return[_,t,-t,_,0,0]},invert(e){f(e);let t=e[0]*e[3]-e[1]*e[2];if(t>-1e-23&&t<1e-23)return e;let _=1/t,n=e[3]*_,r=-e[1]*_,i=-e[2]*_,s=e[0]*_;return[n,r,i,s,-e[4]*n-e[5]*i,-e[4]*r-e[5]*s]},concat:(e,t)=>(f(e),f(t),[e[0]*t[0]+e[1]*t[2],e[0]*t[1]+e[1]*t[3],e[2]*t[0]+e[3]*t[2],e[2]*t[1]+e[3]*t[3],e[4]*t[0]+e[5]*t[2]+t[4],e[4]*t[1]+e[5]*t[3]+t[5]])};export const Rect={MIN_INF_RECT:2147483648,MAX_INF_RECT:2147483520,isEmpty:function(e){return h(e),e[0]>=e[2]||e[1]>=e[3]},isValid:function(e){return h(e),e[0]<=e[2]&&e[1]<=e[3]},isInfinite:function(e){return h(e),e[0]===Rect.MIN_INF_RECT&&e[1]===Rect.MIN_INF_RECT&&e[2]===Rect.MAX_INF_RECT&&e[3]===Rect.MAX_INF_RECT},transform:function(e,t){var _;if(h(e),f(t),Rect.isInfinite(e))return e;if(!Rect.isValid(e))return e;var n=e[0]*t[0],r=e[2]*t[0];n>r&&(_=n,n=r,r=_);var i=e[1]*t[2],s=e[3]*t[2];i>s&&(_=i,i=s,s=_),n+=i+t[4],r+=s+t[4];var o=e[0]*t[1],a=e[2]*t[1];o>a&&(_=o,o=a,a=_);var p=e[1]*t[3],d=e[3]*t[3];return p>d&&(_=p,p=d,d=_),[n,o+=p+t[5],r,a+=d+t[5]]}};export function enableICC(){_._wasm_enable_icc()}export function disableICC(){_._wasm_disable_icc()}export function setUserCSS(e){_._wasm_set_user_css(D(e))}export function installLoadFontFunction(e){U=e}const i=n(4),s=n(24)>>2,o=n(32)>>2,a=n(24)>>2,p=n(16)>>2,d=n(32)>>2,m=[0,0];function l(e,t){if("string"==typeof t&&typeof e!==t)throw new TypeError("expected "+t);if("function"==typeof t&&!(e instanceof t))throw new TypeError("expected "+t.name)}function u(e){if(!Array.isArray(e)||2!==e.length)throw new TypeError("expected point")}function h(e){if(!Array.isArray(e)||4!==e.length)throw new TypeError("expected rectangle")}function f(e){if(!Array.isArray(e)||6!==e.length)throw new TypeError("expected matrix")}function w(e){if(!Array.isArray(e)||8!==e.length)throw new TypeError("expected quad")}function c(e){if(!Array.isArray(e)||1!==e.length&&3!==e.length&&4!==e.length)throw new TypeError("expected color array")}function g(e){if(e instanceof Buffer)return e.pointer;if(e instanceof ArrayBuffer||e instanceof Uint8Array)return new Buffer(e).pointer;if("string"==typeof e)return new Buffer(e).pointer;throw new TypeError("expected buffer")}function P(e,t){if("number"==typeof e&&e>=0&&e<t.length)return e;if("string"==typeof e){let _=t.indexOf(e);if(_>=0)return _}throw new TypeError(`invalid enum value ("${e}"; expected ${t.join(", ")})`)}function b(e,t){return m[t]&&(r(m[t]),m[t]=0),m[t]=(i=e,s=_.lengthBytesUTF8(i)+1,o=n(s),_.stringToUTF8(i,o,s),o);var i,s,o}function D(e){return b(e,0)}function F(e){return b(e,1)}function E(e){return"string"==typeof e?b(e,0):0}function x(e){return"string"==typeof e?b(e,1):0}function y(e){return _.HEAPF32[s+0]=e[0],_.HEAPF32[s+1]=e[1],s<<2}function S(e){return _.HEAPF32[s+2]=e[0],_.HEAPF32[s+3]=e[1],s+2<<2}function A(e){return _.HEAPF32[o+0]=e[0],_.HEAPF32[o+1]=e[1],_.HEAPF32[o+2]=e[2],_.HEAPF32[o+3]=e[3],o<<2}function T(e){return _.HEAPF32[a+0]=e[0],_.HEAPF32[a+1]=e[1],_.HEAPF32[a+2]=e[2],_.HEAPF32[a+3]=e[3],_.HEAPF32[a+4]=e[4],_.HEAPF32[a+5]=e[5],a<<2}function I(e){return _.HEAPF32[d+0]=e[0],_.HEAPF32[d+1]=e[1],_.HEAPF32[d+2]=e[2],_.HEAPF32[d+3]=e[3],_.HEAPF32[d+4]=e[4],_.HEAPF32[d+5]=e[5],_.HEAPF32[d+6]=e[6],_.HEAPF32[d+7]=e[7],d<<2}function O(e){if(void 0!==e)switch(e.length){case 1:_.HEAPF32[p+0]=e[0];break;case 3:_.HEAPF32[p+0]=e[0],_.HEAPF32[p+1]=e[1],_.HEAPF32[p+2]=e[2];break;case 4:_.HEAPF32[p+0]=e[0],_.HEAPF32[p+1]=e[1],_.HEAPF32[p+2]=e[2],_.HEAPF32[p+3]=e[3]}return p<<2}function L(e){if(1===e)return[_.HEAPF32[p]];if(3===e)return[_.HEAPF32[p+0],_.HEAPF32[p+1],_.HEAPF32[p+2]];if(4===e)return[_.HEAPF32[p+0],_.HEAPF32[p+1],_.HEAPF32[p+2],_.HEAPF32[p+3]];throw new TypeError("invalid number of components for Color: "+e)}function N(e,t){let n=t>>2,r=[];for(let t=0;t<e;++t)r.push(_.HEAPF32[n+t]);return r}function C(e){return _.UTF8ToString(e)}function k(e){let t=_.UTF8ToString(e);return r(e),t}function v(e){let t=e>>2;return[_.HEAPF32[t+0],_.HEAPF32[t+1]]}function B(e){let t=e>>2;return[_.HEAPF32[t+0],_.HEAPF32[t+1],_.HEAPF32[t+2],_.HEAPF32[t+3]]}function R(e){let t=e>>2;return[_.HEAPF32[t+0],_.HEAPF32[t+1],_.HEAPF32[t+2],_.HEAPF32[t+3],_.HEAPF32[t+4],_.HEAPF32[t+5]]}function j(e){let t=e>>2;return[_.HEAPF32[t+0],_.HEAPF32[t+1],_.HEAPF32[t+2],_.HEAPF32[t+3],_.HEAPF32[t+4],_.HEAPF32[t+5],_.HEAPF32[t+6],_.HEAPF32[t+7]]}function H(e){let t=_._wasm_buffer_get_data(e),n=_._wasm_buffer_get_len(e);return _.HEAPU8.slice(t,t+n)}function M(e,t,i,s=500){l(i,"string");let o=0,a=0;try{o=n(32*s),a=n(4*s);let r=e(t,D(i),a,o,s),p=[];if(r>0){let e=[];for(let t=0;t<r;++t){let n=_.HEAP32[(a>>2)+t],r=j(o+32*t);t>0&&n&&(p.push(e),e=[]),e.push(r)}p.push(e)}return p}finally{r(a),r(o)}}class G{constructor(e){if("number"!=typeof e)throw new Error("invalid pointer: "+typeof e);if(0!==e){let t=this.constructor;t._finalizer||(t._finalizer=new FinalizationRegistry(t._drop)),t._finalizer.register(this,e,this)}this.pointer=e}destroy(){if(0!==this.pointer){let e=this.constructor;e._finalizer.unregister(this),e._drop(this.pointer)}this.pointer=0}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}toString(){return`[${this.constructor.name} ${this.pointer}]`}valueOf(){throw new Error("cannot convert Userdata to Javascript value")}}export class Buffer extends G{constructor(e){if(void 0===e)super(_._wasm_new_buffer(1024));else if("number"==typeof e)super(e);else if("string"==typeof e){let t=_.lengthBytesUTF8(e),r=n(t+1);_.stringToUTF8(e,r,t+1),super(_._wasm_new_buffer_from_data(r,t))}else if(e instanceof ArrayBuffer||e instanceof Uint8Array){let t=e.byteLength,r=n(t);_.HEAPU8.set(new Uint8Array(e),r),super(_._wasm_new_buffer_from_data(r,t))}}getLength(){return _._wasm_buffer_get_len(this.pointer)}readByte(e){let t=_._wasm_buffer_get_data(this.pointer);return _.HEAPU8[t+e]}write(e){_._wasm_append_string(this.pointer,D(e))}writeByte(e){_._wasm_append_byte(this.pointer,e)}writeLine(e){this.write(e),this.writeByte(10)}writeBuffer(e){_._wasm_append_buffer(this.pointer,g(e))}asUint8Array(){let e=_._wasm_buffer_get_data(this.pointer),t=_._wasm_buffer_get_len(this.pointer);return _.HEAPU8.subarray(e,e+t)}slice(e,t){return new Buffer(_._wasm_slice_buffer(this.pointer,e,t))}asString(){return C(_._wasm_string_from_buffer(this.pointer))}save(e){if(!t)throw new Error("missing 'fs' module");t.writeFileSync(e,this.asUint8Array())}}Buffer._drop=_._wasm_drop_buffer;export class ColorSpace extends G{constructor(e,t){super("number"==typeof e?e:_._wasm_new_icc_colorspace(E(t),g(e)))}getName(){return C(_._wasm_colorspace_get_name(this.pointer))}getType(){return ColorSpace.COLORSPACE_TYPES[_._wasm_colorspace_get_type(this.pointer)]||"None"}getNumberOfComponents(){return _._wasm_colorspace_get_n(this.pointer)}isGray(){return"Gray"===this.getType()}isRGB(){return"RGB"===this.getType()}isCMYK(){return"CMYK"===this.getType()}isIndexed(){return"Indexed"===this.getType()}isLab(){return"Lab"===this.getType()}isDeviceN(){return"Separation"===this.getType()}isSubtractive(){return"CMYK"===this.getType()||"Separation"===this.getType()}toString(){return"[ColorSpace "+this.getName()+"]"}}ColorSpace._drop=_._wasm_drop_colorspace,ColorSpace.COLORSPACE_TYPES=["None","Gray","RGB","BGR","CMYK","Lab","Indexed","Separation"],ColorSpace.DeviceGray=new ColorSpace(_._wasm_device_gray()),ColorSpace.DeviceRGB=new ColorSpace(_._wasm_device_rgb()),ColorSpace.DeviceBGR=new ColorSpace(_._wasm_device_bgr()),ColorSpace.DeviceCMYK=new ColorSpace(_._wasm_device_cmyk()),ColorSpace.Lab=new ColorSpace(_._wasm_device_lab());export class Font extends G{constructor(e,t,n=0){let r=0;r="number"==typeof e?_._wasm_keep_font(e):t?_._wasm_new_font_from_buffer(D(e),g(t),n):_._wasm_new_base14_font(D(e)),super(r)}getName(){return C(_._wasm_font_get_name(this.pointer))}encodeCharacter(e){return"string"==typeof e&&(e=e.charCodeAt(0)),_._wasm_encode_character(this.pointer,e)}advanceGlyph(e,t=0){return _._wasm_advance_glyph(this.pointer,e,t)}isMono(){return!!_._wasm_font_is_monospaced(this.pointer)}isSerif(){return!!_._wasm_font_is_serif(this.pointer)}isBold(){return!!_._wasm_font_is_bold(this.pointer)}isItalic(){return!!_._wasm_font_is_italic(this.pointer)}}Font._drop=_._wasm_drop_font,Font.SIMPLE_ENCODING=["Latin","Greek","Cyrillic"],Font.ADOBE_CNS=0,Font.ADOBE_GB=1,Font.ADOBE_JAPAN=2,Font.ADOBE_KOREA=3,Font.CJK_ORDERING_BY_LANG={"Adobe-CNS1":0,"Adobe-GB1":1,"Adobe-Japan1":2,"Adobe-Korea1":3,"zh-Hant":0,"zh-TW":0,"zh-HK":0,"zh-Hans":1,"zh-CN":1,ja:2,ko:3};export class Image extends G{constructor(e,t){let n=0;n="number"==typeof e?_._wasm_keep_image(e):e instanceof Pixmap?_._wasm_new_image_from_pixmap(e.pointer,t?t.pointer:0):_._wasm_new_image_from_buffer(g(e)),super(n)}getWidth(){return _._wasm_image_get_w(this.pointer)}getHeight(){return _._wasm_image_get_h(this.pointer)}getNumberOfComponents(){return _._wasm_image_get_n(this.pointer)}getBitsPerComponent(){return _._wasm_image_get_bpc(this.pointer)}getXResolution(){return _._wasm_image_get_xres(this.pointer)}getYResolution(){return _._wasm_image_get_yres(this.pointer)}getImageMask(){return!!_._wasm_image_get_imagemask(this.pointer)}getColorSpace(){let e=_._wasm_image_get_colorspace(this.pointer);return e?new ColorSpace(_._wasm_keep_colorspace(e)):null}getMask(){let e=_._wasm_image_get_mask(this.pointer);return e?new Image(_._wasm_keep_image(e)):null}toPixmap(){return new Pixmap(_._wasm_get_pixmap_from_image(this.pointer))}}Image._drop=_._wasm_drop_image;export class StrokeState extends G{constructor(e){super("number"==typeof e?e:_._wasm_new_stroke_state())}getLineCap(){return _._wasm_stroke_state_get_start_cap(this.pointer)}setLineCap(e){let t=P(e,StrokeState.LINE_CAP);_._wasm_stroke_state_set_start_cap(this.pointer,t),_._wasm_stroke_state_set_dash_cap(this.pointer,t),_._wasm_stroke_state_set_end_cap(this.pointer,t)}getLineJoin(){return _._wasm_stroke_state_get_linejoin(this.pointer)}setLineJoin(e){let t=P(e,StrokeState.LINE_JOIN);_._wasm_stroke_state_set_linejoin(this.pointer,t)}getLineWidth(){return _._wasm_stroke_state_get_linewidth(this.pointer)}setLineWidth(e){_._wasm_stroke_state_set_linewidth(this.pointer,e)}getMiterLimit(){return _._wasm_stroke_state_get_miterlimit(this.pointer)}setMiterLimit(e){_._wasm_stroke_state_set_miterlimit(this.pointer,e)}}StrokeState._drop=_._wasm_drop_stroke_state,StrokeState.LINE_CAP=["Butt","Round","Square","Triangle"],StrokeState.LINE_JOIN=["Miter","Round","Bevel","MiterXPS"];export class Path extends G{constructor(e){super("number"==typeof e?e:_._wasm_new_path())}getBounds(e,t){return null!==e&&l(e,StrokeState),f(t),B(_._wasm_bound_path(this.pointer,e?.pointer,T(t)))}moveTo(e,t){l(e,"number"),l(t,"number"),_._wasm_moveto(this.pointer,e,t)}lineTo(e,t){l(e,"number"),l(t,"number"),_._wasm_lineto(this.pointer,e,t)}curveTo(e,t,n,r,i,s){_._wasm_curveto(this.pointer,e,t,n,r,i,s)}curveToV(e,t,n,r){_._wasm_curvetov(this.pointer,e,t,n,r)}curveToY(e,t,n,r){_._wasm_curvetoy(this.pointer,e,t,n,r)}closePath(){_._wasm_closepath(this.pointer)}rect(e,t,n,r){_._wasm_rectto(this.pointer,e,t,n,r)}transform(e){f(e),_._wasm_transform_path(this.pointer,T(e))}walk(e){let t=Y++;X.set(t,e),_._wasm_walk_path(this.pointer,t),X.delete(t)}}Path._drop=_._wasm_drop_path;export class Text extends G{constructor(e){super("number"==typeof e?e:_._wasm_new_text())}getBounds(e,t){return null!==e&&l(e,StrokeState),f(t),B(_._wasm_bound_text(this.pointer,e?.pointer,T(t)))}showGlyph(e,t,n,r,i=0){l(e,Font),f(t),l(n,"number"),l(r,"number"),_._wasm_show_glyph(this.pointer,e.pointer,T(t),n,r,i)}showString(e,t,n,r=0){return l(e,Font),f(t),l(n,"string"),R(_._wasm_show_string(this.pointer,e.pointer,T(t),D(n),r))}walk(e){let t=z++;q.set(t,e),_._wasm_walk_text(this.pointer,t),q.delete(t)}}Text._drop=_._wasm_drop_text;export class DisplayList extends G{constructor(e){let t=0;"number"==typeof e?t=e:(h(e),t=_._wasm_new_display_list(A(e))),super(t)}getBounds(){return B(_._wasm_bound_display_list(this.pointer))}toPixmap(e,t,n=!1){return f(e),l(t,ColorSpace),new Pixmap(_._wasm_new_pixmap_from_display_list(this.pointer,T(e),t.pointer,n))}toStructuredText(e=""){return l(e,"string"),new StructuredText(_._wasm_new_stext_page_from_display_list(this.pointer,D(e)))}run(e,t){l(e,Device),f(t),_._wasm_run_display_list(this.pointer,e.pointer,T(t))}search(e,t=500){return M(_._wasm_search_display_list,this.pointer,e,t)}}DisplayList._drop=_._wasm_drop_display_list;export class Pixmap extends G{constructor(e,t,n=!1){"number"==typeof e&&super(e),e instanceof ColorSpace&&(h(t),super(_._wasm_new_pixmap_with_bbox(e.pointer,A(t),n))),null===e&&(h(t),super(_._wasm_new_pixmap_with_bbox(0,A(t),n)))}getBounds(){let e=_._wasm_pixmap_get_x(this.pointer),t=_._wasm_pixmap_get_y(this.pointer);return[e,t,e+_._wasm_pixmap_get_w(this.pointer),t+_._wasm_pixmap_get_h(this.pointer)]}clear(e){void 0===e?_._wasm_clear_pixmap(this.pointer):_._wasm_clear_pixmap_with_value(this.pointer,e)}getWidth(){return _._wasm_pixmap_get_w(this.pointer)}getHeight(){return _._wasm_pixmap_get_h(this.pointer)}getX(){return _._wasm_pixmap_get_x(this.pointer)}getY(){return _._wasm_pixmap_get_y(this.pointer)}getStride(){return _._wasm_pixmap_get_stride(this.pointer)}getNumberOfComponents(){return _._wasm_pixmap_get_n(this.pointer)}getAlpha(){return _._wasm_pixmap_get_alpha(this.pointer)}getXResolution(){return _._wasm_pixmap_get_xres(this.pointer)}getYResolution(){return _._wasm_pixmap_get_yres(this.pointer)}setResolution(e,t){_._wasm_pixmap_set_xres(this.pointer,e),_._wasm_pixmap_set_yres(this.pointer,t)}getColorSpace(){let e=_._wasm_pixmap_get_colorspace(this.pointer);return e?new ColorSpace(_._wasm_keep_colorspace(e)):null}getPixels(){let e=_._wasm_pixmap_get_stride(this.pointer),t=_._wasm_pixmap_get_h(this.pointer),n=_._wasm_pixmap_get_samples(this.pointer);return new Uint8ClampedArray(_.HEAPU8.buffer,n,e*t)}asPNG(){let e=_._wasm_new_buffer_from_pixmap_as_png(this.pointer);try{return H(e)}finally{_._wasm_drop_buffer(e)}}asPSD(){let e=_._wasm_new_buffer_from_pixmap_as_psd(this.pointer);try{return H(e)}finally{_._wasm_drop_buffer(e)}}asPAM(){let e=_._wasm_new_buffer_from_pixmap_as_pam(this.pointer);try{return H(e)}finally{_._wasm_drop_buffer(e)}}asJPEG(e,t){let n=_._wasm_new_buffer_from_pixmap_as_jpeg(this.pointer,e,t);try{return H(n)}finally{_._wasm_drop_buffer(n)}}invert(){_._wasm_invert_pixmap(this.pointer)}invertLuminance(){_._wasm_invert_pixmap_luminance(this.pointer)}gamma(e){_._wasm_gamma_pixmap(this.pointer,e)}tint(e,t){let n=0,r=16777215;"number"==typeof e?n=e:e instanceof Array&&3===e.length&&(n=255*e[0]<<16|255*e[1]<<8|255*e[2]),"number"==typeof t?r=t:t instanceof Array&&3===t.length&&(t=255*t[0]<<16|255*t[1]<<8|255*t[2]),_._wasm_tint_pixmap(this.pointer,n,r)}convertToColorSpace(e,t=!1){return l(e,ColorSpace),l(t,"boolean"),new Pixmap(_._wasm_convert_pixmap(this.pointer,e.pointer,t))}warp(e,t,n){let r=e.flat();return w(r),l(t,"number"),l(n,"number"),new Pixmap(_._wasm_warp_pixmap(this.pointer,I(r),t,n))}}Pixmap._drop=_._wasm_drop_pixmap;export class Shade extends G{getBounds(){return B(_._wasm_bound_shade(this.pointer))}}Shade._drop=_._wasm_drop_shade;export class StructuredText extends G{walk(e){let t=_._wasm_stext_page_get_first_block(this.pointer);for(;t;){let r=_._wasm_stext_block_get_type(t),i=B(_._wasm_stext_block_get_bbox(t));if(1===r){if(e.onImageBlock){let n=R(_._wasm_stext_block_get_transform(t)),r=new Image(_._wasm_stext_block_get_image(t));e.onImageBlock(i,n,r)}}else{e.beginTextBlock&&e.beginTextBlock(i);let r=_._wasm_stext_block_get_first_line(t);for(;r;){let t=B(_._wasm_stext_line_get_bbox(r)),i=_._wasm_stext_line_get_wmode(r),s=v(_._wasm_stext_line_get_dir(r));if(e.beginLine&&e.beginLine(t,i,s),e.onChar){let t=_._wasm_stext_line_get_first_char(r);for(;t;){let r=String.fromCharCode(_._wasm_stext_char_get_c(t)),i=v(_._wasm_stext_char_get_origin(t)),s=new Font(_._wasm_stext_char_get_font(t)),o=_._wasm_stext_char_get_size(t),a=j(_._wasm_stext_char_get_quad(t)),p=[((n=_._wasm_stext_char_get_argb(t))>>16&255)/255,(n>>8&255)/255,(255&n)/255];e.onChar(r,i,s,o,a,p),t=_._wasm_stext_char_get_next(t)}}e.endLine&&e.endLine(),r=_._wasm_stext_line_get_next(r)}e.endTextBlock&&e.endTextBlock()}t=_._wasm_stext_block_get_next(t)}var n}asJSON(e=1){return k(_._wasm_print_stext_page_as_json(this.pointer,e))}asHTML(e){return k(_._wasm_print_stext_page_as_html(this.pointer,e))}asText(){return k(_._wasm_print_stext_page_as_text(this.pointer))}snap(e,t,n){let r=P(n,StructuredText.SELECT_MODE);return j(_._wasm_snap_selection(this.pointer,y(e),S(t),r))}copy(e,t){return k(_._wasm_copy_selection(this.pointer,y(e),S(t)))}highlight(e,t,i=100){let s=0,o=[];try{s=n(32*i);let r=_._wasm_highlight_selection(this.pointer,y(e),S(t),s,i);for(let e=0;e<r;++e)o.push(j(s+32*e))}finally{r(s)}return o}search(e,t=500){return M(_._wasm_search_stext_page,this.pointer,e,t)}}StructuredText._drop=_._wasm_drop_stext_page,StructuredText.SELECT_MODE=["chars","words","lines"],StructuredText.SELECT_CHARS="chars",StructuredText.SELECT_WORDS="words",StructuredText.SELECT_LINES="lines";export class Device extends G{constructor(e){if("number"==typeof e)super(e);else{let t=V++;K.set(t,e),super(_._wasm_new_js_device(t))}}fillPath(e,t,n,r,i,s){l(e,Path),f(n),l(r,ColorSpace),c(i),_._wasm_fill_path(this.pointer,e.pointer,t,T(n),r.pointer,O(i),s)}strokePath(e,t,n,r,i,s){l(e,Path),l(t,StrokeState),f(n),l(r,ColorSpace),c(i),_._wasm_stroke_path(this.pointer,e.pointer,t.pointer,T(n),r.pointer,O(i),s)}clipPath(e,t,n){l(e,Path),f(n),_._wasm_clip_path(this.pointer,e.pointer,t,T(n))}clipStrokePath(e,t,n){l(e,Path),l(t,StrokeState),f(n),_._wasm_clip_stroke_path(this.pointer,e.pointer,t.pointer,T(n))}fillText(e,t,n,r,i){l(e,Text),f(t),l(n,ColorSpace),c(r),_._wasm_fill_text(this.pointer,e.pointer,T(t),n.pointer,O(r),i)}strokeText(e,t,n,r,i,s){l(e,Text),l(t,StrokeState),f(n),l(r,ColorSpace),c(i),_._wasm_stroke_text(this.pointer,e.pointer,t.pointer,T(n),r.pointer,O(i),s)}clipText(e,t){l(e,Text),f(t),_._wasm_clip_text(this.pointer,e.pointer,T(t))}clipStrokeText(e,t,n){l(e,Text),l(t,StrokeState),f(n),_._wasm_clip_stroke_text(this.pointer,e.pointer,t.pointer,T(n))}ignoreText(e,t){l(e,Text),f(t),_._wasm_ignore_text(this.pointer,e.pointer,T(t))}fillShade(e,t,n){l(e,Shade),f(t),_._wasm_fill_shade(this.pointer,e.pointer,T(t),n)}fillImage(e,t,n){l(e,Image),f(t),_._wasm_fill_image(this.pointer,e.pointer,T(t),n)}fillImageMask(e,t,n,r,i){l(e,Image),f(t),l(n,ColorSpace),c(r),_._wasm_fill_image_mask(this.pointer,e.pointer,T(t),n.pointer,O(r),i)}clipImageMask(e,t){l(e,Image),f(t),_._wasm_clip_image_mask(this.pointer,e.pointer,T(t))}popClip(){_._wasm_pop_clip(this.pointer)}beginMask(e,t,n,r){h(e),l(n,ColorSpace),c(r),_._wasm_begin_mask(this.pointer,A(e),t,n.pointer,O(r))}endMask(){_._wasm_end_mask(this.pointer)}beginGroup(e,t,n,r,i,s){h(e),l(t,ColorSpace);let o=P(i,Device.BLEND_MODES);_._wasm_begin_group(this.pointer,A(e),t.pointer,n,r,o,s)}endGroup(){_._wasm_end_group(this.pointer)}beginTile(e,t,n,r,i,s){return h(e),h(t),f(i),_._wasm_begin_tile(this.pointer,A(e),(a=t,_.HEAPF32[o+4]=a[0],_.HEAPF32[o+5]=a[1],_.HEAPF32[o+6]=a[2],_.HEAPF32[o+7]=a[3],o+4<<2),n,r,T(i),s);var a}endTile(){_._wasm_end_tile(this.pointer)}beginLayer(e){_._wasm_begin_layer(this.pointer,D(e))}endLayer(){_._wasm_end_layer(this.pointer)}close(){_._wasm_close_device(this.pointer)}}Device._drop=_._wasm_drop_device,Device.BLEND_MODES=["Normal","Multiply","Screen","Overlay","Darken","Lighten","ColorDodge","ColorBurn","HardLight","SoftLight","Difference","Exclusion","Hue","Saturation","Color","Luminosity"];export class DrawDevice extends Device{constructor(e,t){f(e),l(t,Pixmap),super(_._wasm_new_draw_device(T(e),t.pointer))}}export class DisplayListDevice extends Device{constructor(e){l(e,DisplayList),super(_._wasm_new_display_list_device(e.pointer))}}export class DocumentWriter extends G{constructor(e,t,n){super(_._wasm_new_document_writer_with_buffer(g(e),D(t),F(n)))}beginPage(e){return h(e),new Device(_._wasm_begin_page(this.pointer,A(e)))}endPage(){_._wasm_end_page(this.pointer)}close(){_._wasm_close_document_writer(this.pointer)}}DocumentWriter._drop=_._wasm_drop_document_writer;export class Document extends G{static openDocument(e,n){let r=0;if("string"==typeof e){if(n=e,!t)throw new Error("missing 'fs' module");e=t.readFileSync(e)}else void 0===n&&(n="application/pdf");if(l(n,"string"),(e instanceof ArrayBuffer||e instanceof Uint8Array)&&(e=new Buffer(e)),e instanceof Buffer)r=_._wasm_open_document_with_buffer(D(n),e.pointer);else{if(!(e instanceof Stream))throw new Error("not a Buffer or Stream");r=_._wasm_open_document_with_stream(D(n),e.pointer)}let i=_._wasm_pdf_document_from_fz_document(r);return i?new PDFDocument(i):new Document(r)}formatLinkURI(e){return k(_._wasm_format_link_uri(this.pointer,0|e.chapter,0|e.page,P(e.type,Document.LINK_DEST),+e.x,+e.y,+e.width,+e.height,+e.zoom))}isPDF(){return this instanceof PDFDocument}needsPassword(){return!!_._wasm_needs_password(this.pointer)}authenticatePassword(e){return _._wasm_authenticate_password(this.pointer,D(e))}hasPermission(e){let t=Document.PERMISSION[e];return!!_._wasm_has_permission(this.pointer,t)}getMetaData(e){let t=_._wasm_lookup_metadata(this.pointer,D(e));if(t)return C(t)}setMetaData(e,t){_._wasm_set_metadata(this.pointer,D(e),F(t))}countPages(){return _._wasm_count_pages(this.pointer)}isReflowable(){_._wasm_is_document_reflowable(this.pointer)}layout(e,t,n){_._wasm_layout_document(this.pointer,e,t,n)}loadPage(e){let t=_._wasm_load_page(this.pointer,e);if(this instanceof PDFDocument){let e=_._wasm_pdf_page_from_fz_page(t);if(e)return new PDFPage(this,e)}return new Page(t)}loadOutline(){let e=this.pointer;let t=_._wasm_load_outline(e);return t?function t(n){let r=[];for(;n;){let i=_._wasm_outline_get_title(n),s=_._wasm_outline_get_uri(n),o=_._wasm_outline_get_is_open(n),a={title:i?C(i):void 0,uri:s?C(s):void 0,open:!!o},p=_._wasm_outline_get_page(e,n);p>=0&&(a.page=p);let d=_._wasm_outline_get_down(n);d&&(a.down=t(d)),r.push(a),n=_._wasm_outline_get_next(n)}return r}(t):null}resolveLink(e){return e instanceof Link?_._wasm_resolve_link(this.pointer,_._wasm_link_get_uri(e.pointer)):_._wasm_resolve_link(this.pointer,D(e))}resolveLinkDestination(e){let t;return t=e instanceof Link?_._wasm_resolve_link_dest(this.pointer,_._wasm_link_get_uri(e.pointer)):_._wasm_resolve_link_dest(this.pointer,D(e)),{type:Document.LINK_DEST[_._wasm_link_dest_get_type(t)],chapter:_._wasm_link_dest_get_chapter(t),page:_._wasm_link_dest_get_page(t),x:_._wasm_link_dest_get_x(t),y:_._wasm_link_dest_get_y(t),width:_._wasm_link_dest_get_w(t),height:_._wasm_link_dest_get_h(t),zoom:_._wasm_link_dest_get_zoom(t)}}outlineIterator(){return new OutlineIterator(_._wasm_new_outline_iterator(this.pointer))}}Document._drop=_._wasm_drop_document,Document.META_FORMAT="format",Document.META_ENCRYPTION="encryption",Document.META_INFO_AUTHOR="info:Author",Document.META_INFO_TITLE="info:Title",Document.META_INFO_SUBJECT="info:Subject",Document.META_INFO_KEYWORDS="info:Keywords",Document.META_INFO_CREATOR="info:Creator",Document.META_INFO_PRODUCER="info:Producer",Document.META_INFO_CREATIONDATE="info:CreationDate",Document.META_INFO_MODIFICATIONDATE="info:ModDate",Document.PERMISSION={print:"p".charCodeAt(0),copy:"c".charCodeAt(0),edit:"e".charCodeAt(0),annotate:"n".charCodeAt(0),form:"f".charCodeAt(0),accessibility:"y".charCodeAt(0),assemble:"a".charCodeAt(0),"print-hq":"h".charCodeAt(0)},Document.LINK_DEST=["Fit","FitB","FitH","FitBH","FitV","FitBV","FitR","XYZ"];export class OutlineIterator extends G{item(){let e=_._wasm_outline_iterator_item(this.pointer);if(e){let t=_._wasm_outline_item_get_title(e),n=_._wasm_outline_item_get_uri(e),r=_._wasm_outline_item_get_is_open(e);return{title:t?C(t):void 0,uri:n?C(n):void 0,open:!!r}}return null}next(){return _._wasm_outline_iterator_next(this.pointer)}prev(){return _._wasm_outline_iterator_prev(this.pointer)}up(){return _._wasm_outline_iterator_up(this.pointer)}down(){return _._wasm_outline_iterator_down(this.pointer)}delete(){return _._wasm_outline_iterator_delete(this.pointer)}insert(e){return _._wasm_outline_iterator_insert(this.pointer,E(e.title),x(e.uri),e.open)}update(e){_._wasm_outline_iterator_update(this.pointer,E(e.title),x(e.uri),e.open)}}OutlineIterator._drop=_._wasm_drop_outline_iterator,OutlineIterator.RESULT_DID_NOT_MOVE=-1,OutlineIterator.RESULT_AT_ITEM=0,OutlineIterator.RESULT_AT_EMPTY=1;export class Link extends G{getBounds(){return B(_._wasm_link_get_rect(this.pointer))}setBounds(e){h(e),_._wasm_link_set_rect(this.pointer,A(e))}getURI(){return C(_._wasm_link_get_uri(this.pointer))}setURI(e){l(e,"string"),_._wasm_link_set_uri(this.pointer,D(e))}isExternal(){return/^\w[\w+-.]*:/.test(this.getURI())}}Link._drop=_._wasm_drop_link;export class Page extends G{isPDF(){return this instanceof PDFPage}getBounds(e="CropBox"){let t=P(e,Page.BOXES);return B(_._wasm_bound_page(this.pointer,t))}getLabel(){return C(_._wasm_page_label(this.pointer))}run(e,t){l(e,Device),f(t),_._wasm_run_page(this.pointer,e.pointer,T(t))}runPageContents(e,t){l(e,Device),f(t),_._wasm_run_page_contents(this.pointer,e.pointer,T(t))}runPageAnnots(e,t){l(e,Device),f(t),_._wasm_run_page_annots(this.pointer,e.pointer,T(t))}runPageWidgets(e,t){l(e,Device),f(t),_._wasm_run_page_widgets(this.pointer,e.pointer,T(t))}toPixmap(e,t,n=!1,r=!0){let i;return l(t,ColorSpace),f(e),i=r?_._wasm_new_pixmap_from_page(this.pointer,T(e),t.pointer,n):_._wasm_new_pixmap_from_page_contents(this.pointer,T(e),t.pointer,n),new Pixmap(i)}toDisplayList(e=!0){let t;return t=e?_._wasm_new_display_list_from_page(this.pointer):_._wasm_new_display_list_from_page_contents(this.pointer),new DisplayList(t)}toStructuredText(e=""){return l(e,"string"),new StructuredText(_._wasm_new_stext_page_from_page(this.pointer,D(e)))}getLinks(){let e=[],t=_._wasm_load_links(this.pointer);for(;t;)e.push(new Link(_._wasm_keep_link(t))),t=_._wasm_link_get_next(t);return e}createLink(e,t){return h(e),new Link(_._wasm_create_link(this.pointer,A(e),D(t)))}deleteLink(e){l(e,Link),_._wasm_delete_link(this.pointer,e.pointer)}search(e,t=500){return M(_._wasm_search_page,this.pointer,e,t)}}Page._drop=_._wasm_drop_page,Page.BOXES=["MediaBox","CropBox","BleedBox","TrimBox","ArtBox"];export class PDFDocument extends Document{constructor(e){if(void 0===e)super(_._wasm_pdf_create_document());else if("number"==typeof e)super(e);else{if(!(e instanceof PDFDocument)){let t=Document.openDocument(e,"application/pdf");if(t instanceof PDFDocument)return t;throw new Error("not a PDF document")}super(e.pointer),_._wasm_keep_document(this.pointer)}}loadPage(e){return super.loadPage(e)}_fromPDFObjectNew(e){return 0===e?PDFObject.Null:new PDFObject(this,e)}_fromPDFObjectKeep(e){return 0===e?PDFObject.Null:new PDFObject(this,_._wasm_pdf_keep_obj(e))}_toPDFObject(e){if(e instanceof PDFObject)return e;if(null==e)return this.newNull();if("string"==typeof e)return e.startsWith("(")&&e.endsWith(")")?this.newString(e.slice(1,-1)):this.newName(e);if("number"==typeof e)return e===(0|e)?this.newInteger(e):this.newReal(e);if("boolean"==typeof e)return this.newBoolean(e);if(e instanceof Array){let t=this.newArray(e.length);for(let _ of e)t.push(_);return t}if(e instanceof Object){let t=this.newDictionary();for(let _ in e)t.put(_,e[_]);return t}throw new TypeError("cannot convert value to PDFObject")}_PDFOBJ(e){return this._toPDFObject(e).pointer}getVersion(){return _._wasm_pdf_version(this.pointer)}getLanguage(){return C(_._wasm_pdf_document_language(this.pointer))}setLanguage(e){_._wasm_pdf_set_document_language(this.pointer,D(e))}countObjects(){return _._wasm_pdf_xref_len(this.pointer)}getTrailer(){return new PDFObject(this,_._wasm_pdf_trailer(this.pointer))}createObject(){let e=_._wasm_pdf_create_object(this.pointer);return this._fromPDFObjectNew(_._wasm_pdf_new_indirect(this.pointer,e))}newNull(){return PDFObject.Null}newBoolean(e){return this._fromPDFObjectNew(_._wasm_pdf_new_bool(e))}newInteger(e){return this._fromPDFObjectNew(_._wasm_pdf_new_int(e))}newReal(e){return this._fromPDFObjectNew(_._wasm_pdf_new_real(e))}newName(e){return this._fromPDFObjectNew(_._wasm_pdf_new_name(D(e)))}newString(e){return this._fromPDFObjectNew(_._wasm_pdf_new_text_string(D(e)))}newByteString(e){l(e,Uint8Array);let t=e.byteLength,i=n(t);_.HEAPU8.set(e,i);try{return this._fromPDFObjectNew(_._wasm_pdf_new_string(i,t))}finally{r(i)}}newIndirect(e){return this._fromPDFObjectNew(_._wasm_pdf_new_indirect(this.pointer,e))}newArray(e=8){return this._fromPDFObjectNew(_._wasm_pdf_new_array(this.pointer,e))}newDictionary(e=8){return this._fromPDFObjectNew(_._wasm_pdf_new_dict(this.pointer,e))}deleteObject(e){e instanceof PDFObject?e=e.asIndirect():l(e,"number"),_._wasm_pdf_delete_object(this.pointer,e)}addObject(e){return this._fromPDFObjectNew(_._wasm_pdf_add_object(this.pointer,this._PDFOBJ(e)))}addStream(e,t){return this._fromPDFObjectNew(_._wasm_pdf_add_stream(this.pointer,g(e),this._PDFOBJ(t),0))}addRawStream(e,t){return this._fromPDFObjectNew(_._wasm_pdf_add_stream(this.pointer,g(e),this._PDFOBJ(t),1))}newGraftMap(){return new PDFGraftMap(this,_._wasm_pdf_new_graft_map(this.pointer))}graftObject(e){return l(e,PDFObject),this._fromPDFObjectNew(_._wasm_pdf_graft_object(this.pointer,e.pointer))}graftPage(e,t,n){l(e,"number"),l(t,PDFDocument),l(n,"number"),_._wasm_pdf_graft_page(this.pointer,e,t.pointer,n)}addSimpleFont(e,t="Latin"){l(e,Font);var n=P(t,Font.SIMPLE_ENCODING);return this._fromPDFObjectNew(_._wasm_pdf_add_simple_font(this.pointer,e.pointer,n))}addCJKFont(e,t,n=0,r=!0){return l(e,Font),"string"==typeof t&&(t=Font.CJK_ORDERING_BY_LANG[t]),this._fromPDFObjectNew(_._wasm_pdf_add_cjk_font(this.pointer,e.pointer,t,n,r))}addFont(e){return l(e,Font),this._fromPDFObjectNew(_._wasm_pdf_add_cid_font(this.pointer,e.pointer))}addImage(e){return l(e,Image),this._fromPDFObjectNew(_._wasm_pdf_add_image(this.pointer,e.pointer))}loadImage(e){return l(e,PDFObject),new Image(_._wasm_pdf_load_image(this.pointer,e.pointer))}findPage(e){return l(e,"number"),this._fromPDFObjectKeep(_._wasm_pdf_lookup_page_obj(this.pointer,e))}addPage(e,t,n,r){return h(e),l(t,"number"),this._fromPDFObjectNew(_._wasm_pdf_add_page(this.pointer,A(e),t,this._PDFOBJ(n),g(r)))}insertPage(e,t){l(e,"number"),_._wasm_pdf_insert_page(this.pointer,e,this._PDFOBJ(t))}deletePage(e){l(e,"number"),_._wasm_pdf_delete_page(this.pointer,e)}isEmbeddedFile(e){return l(e,PDFObject),_._wasm_pdf_is_embedded_file(e.pointer)}addEmbeddedFile(e,t,n,r,i,s=!1){return l(e,"string"),l(t,"string"),l(r,Date),l(i,Date),l(s,"boolean"),this._fromPDFObjectNew(_._wasm_pdf_add_embedded_file(this.pointer,D(e),F(t),g(n),r.getTime()/1e3|0,i.getTime()/1e3|0,s))}getEmbeddedFileParams(e){l(e,PDFObject);let t=_._wasm_pdf_get_embedded_file_params(e.pointer);return{filename:C(_._wasm_pdf_embedded_file_params_get_filename(t)),mimetype:C(_._wasm_pdf_embedded_file_params_get_mimetype(t)),size:_._wasm_pdf_embedded_file_params_get_filename(t),creationDate:new Date(1e3*_._wasm_pdf_embedded_file_params_get_created(t)),modificationDate:new Date(1e3*_._wasm_pdf_embedded_file_params_get_modified(t))}}getEmbeddedFileContents(e){l(e,PDFObject);let t=_._wasm_pdf_load_embedded_file_contents(e.pointer);return t?new Buffer(t):null}getEmbeddedFiles(){return function e(t,_){var n,r;if(_.isDictionary()){var i=_.get("Names");if(i)for(n=0,r=i.length;n<r;n+=2)t[i.get(n+0).asString()]=i.get(n+1);var s=_.get("Kids");if(s)for(n=0,r=s.length;n<r;n+=1)e(t,s.get(n))}return t}({},this.getTrailer().get("Root","Names","EmbeddedFiles"))}loadNameTree(e){var t=this.getTrailer().get("Root").get("Names").get(e),_={};return t.isDictionary()&&function e(t,_){var n=_.get("Kids");if(n&&n.isArray())for(var r=0;r<n.length;r+=1)e(t,n.get(r));var i=_.get("Names");if(i&&i.isArray())for(r=0;r<i.length;r+=2)t[i.get(r).asString()]=i.get(r+1)}(_,t),_}insertEmbeddedFile(e,t){var _=this.getEmbeddedFiles();_[e]=t,this._rewriteEmbeddedFiles(_)}deleteEmbeddedFile(e){var t=this.getEmbeddedFiles();delete t[e],this._rewriteEmbeddedFiles(t)}_rewriteEmbeddedFiles(e){var t=Object.keys(e);t.sort();var _=this.getTrailer().get("Root"),n=_.get("Names");n.isDictionary()||(n=_.put("Names",this.newDictionary(1)));var r=n.put("EmbeddedFiles",this.newDictionary(1)).put("Names",this.newArray(2*t.length));for(var i of t)r.push(this.newString(i)),r.push(e[i])}saveToBuffer(e=""){var t;return t="object"==typeof e?Object.entries(e).map((e=>{var t=e[0],_=e[1];return!0===_?t+"=yes":!1===_?t+"=no":t+"="+String(_).replaceAll(",",":")})).join(","):e,new Buffer(_._wasm_pdf_write_document_buffer(this.pointer,D(t)))}save(e,_=""){if(!t)throw new Error("missing 'fs' module");t.writeFileSync(e,this.saveToBuffer(_).asUint8Array())}setPageLabels(e,t="D",n="",r=1){_._wasm_pdf_set_page_labels(this.pointer,e,t.charCodeAt(0),D(n),r)}deletePageLabels(e){_._wasm_pdf_delete_page_labels(this.pointer,e)}wasRepaired(){return!!_._wasm_pdf_was_repaired(this.pointer)}hasUnsavedChanges(){return!!_._wasm_pdf_has_unsaved_changes(this.pointer)}countVersions(){return _._wasm_pdf_count_versions(this.pointer)}countUnsavedVersions(){return _._wasm_pdf_count_unsaved_versions(this.pointer)}validateChangeHistory(){return _._wasm_pdf_validate_change_history(this.pointer)}canBeSavedIncrementally(){return!!_._wasm_pdf_can_be_saved_incrementally(this.pointer)}enableJournal(){_._wasm_pdf_enable_journal(this.pointer)}getJournal(){let e=_._wasm_pdf_undoredo_state_position(this.pointer),t=_._wasm_pdf_undoredo_state_count(this.pointer),n=[];for(let e=0;e<t;++e)n.push(C(_._wasm_pdf_undoredo_step(this.pointer,e)));return{position:e,steps:n}}beginOperation(e){_._wasm_pdf_begin_operation(this.pointer,D(e))}beginImplicitOperation(){_._wasm_pdf_begin_implicit_operation(this.pointer)}endOperation(){_._wasm_pdf_end_operation(this.pointer)}abandonOperation(){_._wasm_pdf_abandon_operation(this.pointer)}canUndo(){return!!_._wasm_pdf_can_undo(this.pointer)}canRedo(){return!!_._wasm_pdf_can_redo(this.pointer)}undo(){_._wasm_pdf_undo(this.pointer)}redo(){_._wasm_pdf_redo(this.pointer)}isJSSupported(){return!!_._wasm_pdf_js_supported(this.pointer)}enableJS(){_._wasm_pdf_enable_js(this.pointer)}disableJS(){_._wasm_pdf_disable_js(this.pointer)}setJSEventListener(e){throw"TODO"}rearrangePages(e){let t=e.length,i=n(t<<2);for(let n=0;n<t;++n)_.HEAPU32[(i>>2)+n]=e[n]||0;try{_._wasm_pdf_rearrange_pages(this.pointer,t,i)}finally{r(i)}}subsetFonts(){_._wasm_pdf_subset_fonts(this.pointer)}bake(e=!0,t=!0){_._wasm_pdf_bake_document(this.pointer,e,t)}countLayers(){return _._wasm_pdf_count_layers(this.pointer)}isLayerVisible(e){return!!_._wasm_pdf_layer_is_enabled(this.pointer,e)}setLayerVisible(e,t){_._wasm_pdf_enable_layer(this.pointer,e,Number(t))}getLayerName(e){return C(_._wasm_pdf_layer_name(this.pointer,e))}resetForm(e,t){_._wasm_pdf_reset_form(this.pointer,this._PDFOBJ(e),Number(t))}}PDFDocument.PAGE_LABEL_NONE="\0",PDFDocument.PAGE_LABEL_DECIMAL="D",PDFDocument.PAGE_LABEL_ROMAN_UC="R",PDFDocument.PAGE_LABEL_ROMAN_LC="r",PDFDocument.PAGE_LABEL_ALPHA_UC="A",PDFDocument.PAGE_LABEL_ALPHA_LC="a";export class PDFPage extends Page{constructor(e,t){t instanceof PDFPage?(super(t.pointer),_._wasm_keep_page(this.pointer)):super(t),this._doc=e,this._annots=null,this._widgets=null}getObject(){return this._doc._fromPDFObjectKeep(_._wasm_pdf_page_get_obj(this.pointer))}getTransform(){return R(_._wasm_pdf_page_transform(this.pointer))}setPageBox(e,t){let n=P(e,Page.BOXES);h(t),_._wasm_pdf_set_page_box(this.pointer,n,A(t))}toPixmap(e,t,n=!1,r=!0,i="View",s="CropBox"){f(e),l(t,ColorSpace);let o,a=P(s,Page.BOXES);return o=r?_._wasm_pdf_new_pixmap_from_page_with_usage(this.pointer,T(e),t.pointer,n,D(i),a):_._wasm_pdf_new_pixmap_from_page_contents_with_usage(this.pointer,T(e),t.pointer,n,D(i),a),new Pixmap(o)}getWidgets(){if(!this._widgets){this._widgets=[];let e=_._wasm_pdf_first_widget(this.pointer);for(;e;)this._widgets.push(new PDFWidget(this._doc,_._wasm_pdf_keep_annot(e))),e=_._wasm_pdf_next_widget(e)}return this._widgets}getAnnotations(){if(!this._annots){this._annots=[];let e=_._wasm_pdf_first_annot(this.pointer);for(;e;)this._annots.push(new PDFAnnotation(this._doc,_._wasm_pdf_keep_annot(e))),e=_._wasm_pdf_next_annot(e)}return this._annots}createAnnotation(e){let t=P(e,PDFAnnotation.ANNOT_TYPES),n=new PDFAnnotation(this._doc,_._wasm_pdf_create_annot(this.pointer,t));return this._annots&&this._annots.push(n),n}deleteAnnotation(e){if(l(e,PDFAnnotation),_._wasm_pdf_delete_annot(this.pointer,e.pointer),this._annots){let t=this._annots.indexOf(e);t>=0&&this._annots.splice(t,1)}}applyRedactions(e=!0,t=2,n=1,r=0){_._wasm_pdf_redact_page(this.pointer,Number(e),t,n,r)}update(){return!!_._wasm_pdf_update_page(this.pointer)}}PDFPage.REDACT_IMAGE_NONE=0,PDFPage.REDACT_IMAGE_REMOVE=1,PDFPage.REDACT_IMAGE_PIXELS=2,PDFPage.REDACT_IMAGE_UNLESS_INVISIBLE=3,PDFPage.REDACT_LINE_ART_NONE=0,PDFPage.REDACT_LINE_ART_REMOVE_IF_COVERED=1,PDFPage.REDACT_LINE_ART_REMOVE_IF_TOUCHED=2,PDFPage.REDACT_TEXT_REMOVE=0,PDFPage.REDACT_TEXT_NONE=1;export class PDFObject extends G{constructor(e,t){super(_._wasm_pdf_keep_obj(t)),this._doc=e}isNull(){return this===PDFObject.Null}isIndirect(){return!!_._wasm_pdf_is_indirect(this.pointer)}isBoolean(){return!!_._wasm_pdf_is_bool(this.pointer)}isInteger(){return!!_._wasm_pdf_is_int(this.pointer)}isNumber(){return!!_._wasm_pdf_is_number(this.pointer)}isName(){return!!_._wasm_pdf_is_name(this.pointer)}isString(){return!!_._wasm_pdf_is_string(this.pointer)}isArray(){return!!_._wasm_pdf_is_array(this.pointer)}isDictionary(){return!!_._wasm_pdf_is_dict(this.pointer)}isStream(){return!!_._wasm_pdf_is_stream(this.pointer)}asIndirect(){return _._wasm_pdf_to_num(this.pointer)}asBoolean(){return!!_._wasm_pdf_to_bool(this.pointer)}asNumber(){return _._wasm_pdf_to_real(this.pointer)}asName(){return C(_._wasm_pdf_to_name(this.pointer))}asString(){return C(_._wasm_pdf_to_text_string(this.pointer))}asByteString(){let e=_._wasm_pdf_to_string(this.pointer,i),t=_.HEAPU32[i>>2];return _.HEAPU8.slice(e,e+t)}readStream(){return new Buffer(_._wasm_pdf_load_stream(this.pointer))}readRawStream(){return new Buffer(_._wasm_pdf_load_raw_stream(this.pointer))}writeObject(e){if(!this.isIndirect())throw new TypeError("can only call PDFObject.writeObject on an indirect reference");_._wasm_pdf_update_object(this._doc.pointer,this.asIndirect(),this._doc._PDFOBJ(e))}writeStream(e){if(!this.isIndirect())throw new TypeError("can only call PDFObject.writeStream on an indirect reference");_._wasm_pdf_update_stream(this._doc.pointer,this.pointer,g(e),0)}writeRawStream(e){if(!this.isIndirect())throw new TypeError("can only call PDFObject.writeRawStream on an indirect reference");_._wasm_pdf_update_stream(this._doc.pointer,this.pointer,g(e),1)}resolve(){return this._doc._fromPDFObjectKeep(_._wasm_pdf_resolve_indirect(this.pointer))}get length(){return _._wasm_pdf_array_len(this.pointer)}_get(e){let t=this.pointer;for(let n of e)if(t="number"==typeof n?_._wasm_pdf_array_get(t,n):n instanceof PDFObject?_._wasm_pdf_dict_get(t,n.pointer):_._wasm_pdf_dict_gets(t,D(n)),0===t)break;return t}get(...e){return this._doc._fromPDFObjectKeep(this._get(e))}getIndirect(...e){return _._wasm_pdf_to_num(this._get(e))}getBoolean(...e){return!!_._wasm_pdf_to_bool(this._get(e))}getNumber(...e){return _._wasm_pdf_to_real(this._get(e))}getName(...e){return C(_._wasm_pdf_to_name(this._get(e)))}getString(...e){return C(_._wasm_pdf_to_text_string(this._get(e)))}getInheritable(e){return e instanceof PDFObject?this._doc._fromPDFObjectKeep(_._wasm_pdf_dict_get_inheritable(this.pointer,e.pointer)):this._doc._fromPDFObjectKeep(_._wasm_pdf_dict_gets_inheritable(this.pointer,D(e)))}put(e,t){return t=this._doc._toPDFObject(t),"number"==typeof e?_._wasm_pdf_array_put(this.pointer,e,t.pointer):e instanceof PDFObject?_._wasm_pdf_dict_put(this.pointer,e.pointer,t.pointer):_._wasm_pdf_dict_puts(this.pointer,D(e),t.pointer),t}push(e){return e=this._doc._toPDFObject(e),_._wasm_pdf_array_push(this.pointer,e.pointer),e}delete(e){"number"==typeof e?_._wasm_pdf_array_delete(this.pointer,e):e instanceof PDFObject?_._wasm_pdf_dict_del(this.pointer,e.pointer):_._wasm_pdf_dict_dels(this.pointer,D(e))}valueOf(){return this.isNull()?null:this.isBoolean()?this.asBoolean():this.isNumber()?this.asNumber():this.isName()?this.asName():this.isString()?this.asString():this.isIndirect()?`${this.asIndirect()} 0 R`:this}toString(e=!0,t=!0){return k(_._wasm_pdf_sprint_obj(this.pointer,e,t))}forEach(e){if(this.isArray()){let t=this.length;for(let _=0;_<t;++_)e(this.get(_),_,this)}else if(this.isDictionary()){let t=_._wasm_pdf_dict_len(this.pointer);for(let n=0;n<t;++n){let t=this._doc._fromPDFObjectKeep(_._wasm_pdf_dict_get_key(this.pointer,n));e(this._doc._fromPDFObjectKeep(_._wasm_pdf_dict_get_val(this.pointer,n)),t.asName(),this)}}}asJS(e){if(this.isIndirect()){let t=this.asIndirect();return e?t in e?e[t]:(e[t]=PDFObject.Null,e[t]=this.resolve().asJS(e)):`${t} 0 R`}if(this.isArray()){let t=[];return this.forEach((_=>{t.push(_.asJS(e))})),t}if(this.isDictionary()){let t={};return this.forEach(((_,n)=>{t[n]=_.asJS(e)})),t}return this.valueOf()}}PDFObject._drop=_._wasm_pdf_drop_obj,PDFObject.Null=new PDFObject(null,0);export class PDFGraftMap extends G{constructor(e,t){super(t),this._doc=e}graftObject(e){return l(e,PDFObject),this._doc._fromPDFObjectNew(_._wasm_pdf_graft_mapped_object(this.pointer,e.pointer))}graftPage(e,t,n){l(e,"number"),l(t,PDFDocument),l(n,"number"),_._wasm_pdf_graft_mapped_page(this.pointer,e,t.pointer,n)}}PDFGraftMap._drop=_._wasm_pdf_drop_graft_map;export class PDFAnnotation extends G{constructor(e,t){super(t),this._doc=e}getObject(){return this._doc._fromPDFObjectKeep(_._wasm_pdf_annot_obj(this.pointer))}getBounds(){return B(_._wasm_pdf_bound_annot(this.pointer))}run(e,t){l(e,Device),f(t),_._wasm_pdf_run_annot(this.pointer,e.pointer,T(t))}toPixmap(e,t,n=!1){return f(e),l(t,ColorSpace),new Pixmap(_._wasm_pdf_new_pixmap_from_annot(this.pointer,T(e),t.pointer,n))}toDisplayList(){return new DisplayList(_._wasm_pdf_new_display_list_from_annot(this.pointer))}update(){return!!_._wasm_pdf_update_annot(this.pointer)}getType(){let e=_._wasm_pdf_annot_type(this.pointer);return PDFAnnotation.ANNOT_TYPES[e]||"Text"}getLanguage(){return C(_._wasm_pdf_annot_language(this.pointer))}setLanguage(e){_._wasm_pdf_set_annot_language(this.pointer,D(e))}getFlags(){return _._wasm_pdf_annot_flags(this.pointer)}setFlags(e){return _._wasm_pdf_set_annot_flags(this.pointer,e)}getContents(){return C(_._wasm_pdf_annot_contents(this.pointer))}setContents(e){_._wasm_pdf_set_annot_contents(this.pointer,D(e))}getAuthor(){return C(_._wasm_pdf_annot_author(this.pointer))}setAuthor(e){_._wasm_pdf_set_annot_author(this.pointer,D(e))}getCreationDate(){return new Date(1e3*_._wasm_pdf_annot_creation_date(this.pointer))}setCreationDate(e){l(e,Date),_._wasm_pdf_set_annot_creation_date(this.pointer,e.getTime()/1e3)}getModificationDate(){return new Date(1e3*_._wasm_pdf_annot_modification_date(this.pointer))}setModificationDate(e){l(e,Date),_._wasm_pdf_set_annot_modification_date(this.pointer,e.getTime()/1e3)}hasRect(){return!!_._wasm_pdf_annot_has_rect(this.pointer)}hasInkList(){return!!_._wasm_pdf_annot_has_ink_list(this.pointer)}hasQuadPoints(){return!!_._wasm_pdf_annot_has_quad_points(this.pointer)}hasVertices(){return!!_._wasm_pdf_annot_has_vertices(this.pointer)}hasLine(){return!!_._wasm_pdf_annot_has_line(this.pointer)}hasInteriorColor(){return!!_._wasm_pdf_annot_has_interior_color(this.pointer)}hasLineEndingStyles(){return!!_._wasm_pdf_annot_has_line_ending_styles(this.pointer)}hasBorder(){return!!_._wasm_pdf_annot_has_border(this.pointer)}hasBorderEffect(){return!!_._wasm_pdf_annot_has_border_effect(this.pointer)}hasIcon(){return!!_._wasm_pdf_annot_has_icon_name(this.pointer)}hasOpen(){return!!_._wasm_pdf_annot_has_open(this.pointer)}hasAuthor(){return!!_._wasm_pdf_annot_has_author(this.pointer)}hasFilespec(){return!!_._wasm_pdf_annot_has_filespec(this.pointer)}hasCallout(){return!!_._wasm_pdf_annot_has_callout(this.pointer)}getRect(){return B(_._wasm_pdf_annot_rect(this.pointer))}setRect(e){h(e),_._wasm_pdf_set_annot_rect(this.pointer,A(e))}getPopup(){return B(_._wasm_pdf_annot_popup(this.pointer))}setPopup(e){h(e),_._wasm_pdf_set_annot_popup(this.pointer,A(e))}getIsOpen(){return!!_._wasm_pdf_annot_is_open(this.pointer)}setIsOpen(e){l(e,"boolean"),_._wasm_pdf_set_annot_is_open(this.pointer,e)}getHiddenForEditing(){return!!_._wasm_pdf_annot_hidden_for_editing(this.pointer)}setHiddenForEditing(e){l(e,"boolean"),_._wasm_pdf_set_annot_hidden_for_editing(this.pointer,e)}getIcon(){return C(_._wasm_pdf_annot_icon_name(this.pointer))}setIcon(e){l(e,"string"),_._wasm_pdf_set_annot_icon_name(this.pointer,D(e))}getOpacity(){return _._wasm_pdf_annot_opacity(this.pointer)}setOpacity(e){l(e,"number"),_._wasm_pdf_set_annot_opacity(this.pointer,e)}getQuadding(){return _._wasm_pdf_annot_quadding(this.pointer)}setQuadding(e){l(e,"number"),_._wasm_pdf_set_annot_quadding(this.pointer,e)}getLine(){return[v(_._wasm_pdf_annot_line_1(this.pointer)),v(_._wasm_pdf_annot_line_2(this.pointer))]}setLine(e,t){u(e),u(t),_._wasm_pdf_set_annot_line(this.pointer,y(e),S(t))}getLineEndingStyles(){let e=_._wasm_pdf_annot_line_ending_styles_start(this.pointer),t=_._wasm_pdf_annot_line_ending_styles_end(this.pointer);return{start:PDFAnnotation.LINE_ENDING[e]||"None",end:PDFAnnotation.LINE_ENDING[t]||"None"}}setLineEndingStyles(e,t){let n=P(e,PDFAnnotation.LINE_ENDING),r=P(t,PDFAnnotation.LINE_ENDING);_._wasm_pdf_set_annot_line_ending_styles(this.pointer,n,r)}getLineCaption(){return _._wasm_pdf_annot_line_caption(this.pointer)}setLineCaption(e){return _._wasm_pdf_set_annot_line_caption(this.pointer,e)}getLineCaptionOffset(){return v(_._wasm_pdf_annot_line_caption_offset(this.pointer))}setLineCaptionOffset(e){return _._wasm_pdf_set_annot_line_caption_offset(this.pointer,y(e))}getLineLeader(){return _._wasm_pdf_annot_line_leader(this.pointer)}getLineLeaderExtension(){return _._wasm_pdf_annot_line_leader_extension(this.pointer)}getLineLeaderOffset(){return _._wasm_pdf_annot_line_leader_offset(this.pointer)}setLineLeader(e){return _._wasm_pdf_set_annot_line_leader(this.pointer,e)}setLineLeaderExtension(e){return _._wasm_pdf_set_annot_line_leader_extension(this.pointer,e)}setLineLeaderOffset(e){return _._wasm_pdf_set_annot_line_leader_offset(this.pointer,e)}getCalloutStyle(){let e=_._wasm_pdf_annot_callout_style(this.pointer);return PDFAnnotation.LINE_ENDING[e]||"None"}setCalloutStyle(e){let t=P(e,PDFAnnotation.LINE_ENDING);_._wasm_pdf_set_annot_callout_style(this.pointer,t)}getCalloutLine(){let e=_._wasm_pdf_annot_callout_line(this.pointer,s<<2);return 3==e?[v(s+0<<2),v(s+1<<2),v(s+2<<2)]:2==e?[v(s+0<<2),v(s+1<<2)]:void 0}setCalloutLine(e){let t=e[0]||[0,0],n=e[1]||[0,0],r=e[2]||[0,0];var i;_._wasm_pdf_set_annot_callout_line(this.pointer,e.length,y(t),S(n),(i=r,_.HEAPF32[s+4]=i[0],_.HEAPF32[s+5]=i[1],s+4<<2))}getCalloutPoint(){let e=this.getCalloutLine();if(e)return e[0]}setCalloutPoint(e){_._wasm_pdf_set_annot_callout_point(this.pointer,y(e))}getColor(){return L(_._wasm_pdf_annot_color(this.pointer,O()))}getInteriorColor(){return L(_._wasm_pdf_annot_interior_color(this.pointer,O()))}setColor(e){c(e),_._wasm_pdf_set_annot_color(this.pointer,e.length,O(e))}setInteriorColor(e){c(e),_._wasm_pdf_set_annot_interior_color(this.pointer,e.length,O(e))}getBorderWidth(){return _._wasm_pdf_annot_border_width(this.pointer)}setBorderWidth(e){return l(e,"number"),_._wasm_pdf_set_annot_border_width(this.pointer,e)}getBorderStyle(){return PDFAnnotation.BORDER_STYLE[_._wasm_pdf_annot_border_style(this.pointer)]||"Solid"}setBorderStyle(e){let t=P(e,PDFAnnotation.BORDER_STYLE);return _._wasm_pdf_set_annot_border_style(this.pointer,t)}getBorderEffect(){return PDFAnnotation.BORDER_EFFECT[_._wasm_pdf_annot_border_effect(this.pointer)]||"None"}setBorderEffect(e){let t=P(e,PDFAnnotation.BORDER_EFFECT);return _._wasm_pdf_set_annot_border_effect(this.pointer,t)}getBorderEffectIntensity(){return _._wasm_pdf_annot_border_effect_intensity(this.pointer)}setBorderEffectIntensity(e){return l(e,"number"),_._wasm_pdf_set_annot_border_effect_intensity(this.pointer,e)}getBorderDashCount(){return _._wasm_pdf_annot_border_dash_count(this.pointer)}getBorderDashItem(e){return _._wasm_pdf_annot_border_dash_item(this.pointer,e)}clearBorderDash(){return _._wasm_pdf_clear_annot_border_dash(this.pointer)}addBorderDashItem(e){return l(e,"number"),_._wasm_pdf_add_annot_border_dash_item(this.pointer,e)}getBorderDashPattern(){let e=this.getBorderDashCount(),t=new Array(e);for(let _=0;_<e;++_)t[_]=this.getBorderDashItem(_);return t}setBorderDashPattern(e){this.clearBorderDash();for(let t of e)this.addBorderDashItem(t)}getIntent(){return PDFAnnotation.INTENT[_._wasm_pdf_annot_intent(this.pointer)]||null}setIntent(e){let t=P(e,PDFAnnotation.INTENT);return _._wasm_pdf_set_annot_intent(this.pointer,t)}setDefaultAppearance(e,t,n){l(e,"string"),l(t,"number"),c(n),_._wasm_pdf_set_annot_default_appearance(this.pointer,D(e),t,n.length,O(n))}getDefaultAppearance(){return{font:C(_._wasm_pdf_annot_default_appearance_font(this.pointer)),size:_._wasm_pdf_annot_default_appearance_size(this.pointer),color:L(_._wasm_pdf_annot_default_appearance_color(this.pointer,O()))}}getFileSpec(){return this._doc._fromPDFObjectKeep(_._wasm_pdf_annot_filespec(this.pointer))}setFileSpec(e){return _._wasm_pdf_set_annot_filespec(this.pointer,this._doc._PDFOBJ(e))}getQuadPoints(){let e=_._wasm_pdf_annot_quad_point_count(this.pointer),t=[];for(let n=0;n