@chialab/pdfjs-lib 1.0.0-alpha.3 → 1.0.0-alpha.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +15 -7
  2. package/dist/browser/{FoxitDingbats-SB6TO3S5.js → FoxitDingbats-XZTZYAP6.js} +1 -1
  3. package/dist/browser/{FoxitFixed-UIGSMBQB.js → FoxitFixed-DRWD6QNM.js} +1 -1
  4. package/dist/browser/{FoxitFixedBold-2PAEIZAT.js → FoxitFixedBold-A3IBPIFC.js} +1 -1
  5. package/dist/browser/{FoxitFixedBoldItalic-OSQUQDEE.js → FoxitFixedBoldItalic-V4ORMFGL.js} +1 -1
  6. package/dist/browser/{FoxitFixedItalic-W73RDK22.js → FoxitFixedItalic-Z7BSNTJA.js} +1 -1
  7. package/dist/browser/{FoxitSerif-3HH3SOZF.js → FoxitSerif-Y34FHWHO.js} +1 -1
  8. package/dist/browser/{FoxitSerifBold-HXP2QOO7.js → FoxitSerifBold-NCWBT4GX.js} +1 -1
  9. package/dist/browser/{FoxitSerifBoldItalic-FZXLNWD7.js → FoxitSerifBoldItalic-YTEOG5ZU.js} +1 -1
  10. package/dist/browser/{FoxitSerifItalic-WQFHUBI2.js → FoxitSerifItalic-3H547RIJ.js} +1 -1
  11. package/dist/browser/{FoxitSymbol-OVWU7LKS.js → FoxitSymbol-EMTQEYPB.js} +1 -1
  12. package/dist/browser/{LiberationSans-Bold-GSJN42N5.js → LiberationSans-Bold-MGX34QV4.js} +1 -1
  13. package/dist/browser/LiberationSans-Bold-PQY5JZAT.js +9 -0
  14. package/dist/browser/LiberationSans-BoldItalic-PBNZJX4S.js +9 -0
  15. package/dist/browser/{LiberationSans-BoldItalic-UCPQJ3L2.js → LiberationSans-BoldItalic-WSEQ5LH5.js} +1 -1
  16. package/dist/browser/{LiberationSans-Italic-6CIHEALY.js → LiberationSans-Italic-E4SLDR4M.js} +1 -1
  17. package/dist/browser/LiberationSans-Italic-NAYVQTNG.js +9 -0
  18. package/dist/browser/{LiberationSans-Regular-KIF3IRJY.js → LiberationSans-Regular-3SH5NGZO.js} +1 -1
  19. package/dist/browser/LiberationSans-Regular-FMNBW2LE.js +9 -0
  20. package/dist/browser/NodeUtilsStabs-AQQCOPNR.js +19 -0
  21. package/dist/browser/chunk-3ZTAZS2X.js +25 -0
  22. package/dist/browser/{chunk-O4UKW7AD.js → chunk-7YYVRRNF.js} +5 -0
  23. package/dist/browser/{chunk-DYHYQ33L.js → chunk-R7G44NYV.js} +834 -84
  24. package/dist/browser/index.js +21411 -4924
  25. package/dist/browser/openjpeg-Q27OVS4T.js +9 -0
  26. package/dist/browser/qcms_bg-BCJEADMU.js +9 -0
  27. package/dist/browser/worker.js +8373 -7091
  28. package/dist/index.d.ts +11 -1
  29. package/dist/lib/AnnotationData.d.ts +8 -8
  30. package/dist/lib/AnnotationOperatorsList.d.ts +21 -0
  31. package/dist/lib/Canvas.d.ts +0 -5
  32. package/dist/lib/CanvasGraphics.d.ts +1 -0
  33. package/dist/lib/NodeCanvasFactory.d.ts +9 -0
  34. package/dist/lib/NodeFilterFactory.d.ts +10 -0
  35. package/dist/lib/NodeUtils.d.ts +24 -0
  36. package/dist/lib/Path2D.d.ts +9 -49
  37. package/dist/lib/StandardFontDataFactory.d.ts +2 -2
  38. package/dist/lib/StructTreePage.d.ts +5 -0
  39. package/dist/lib/Svg.d.ts +144 -0
  40. package/dist/lib/SvgCanvasContext.d.ts +36 -22
  41. package/dist/lib/TextLayer.d.ts +48 -10
  42. package/dist/lib/TextLayer_v2.d.ts +8 -0
  43. package/dist/lib/WasmFactory.d.ts +5 -0
  44. package/dist/lib/utils.d.ts +22 -3
  45. package/dist/node/{FoxitDingbats-65AZ2Z2V.js → FoxitDingbats-UZC34T4F.js} +1 -1
  46. package/dist/node/{FoxitFixed-OZGLVVOQ.js → FoxitFixed-DSJVG3IJ.js} +1 -1
  47. package/dist/node/{FoxitFixedBold-37OOYMV7.js → FoxitFixedBold-YSX4X5NA.js} +1 -1
  48. package/dist/node/{FoxitFixedBoldItalic-XYFHEG2V.js → FoxitFixedBoldItalic-IFYYA6RR.js} +1 -1
  49. package/dist/node/{FoxitFixedItalic-MM7OSGS6.js → FoxitFixedItalic-4PEFPCQV.js} +1 -1
  50. package/dist/node/{FoxitSerif-MLMJQPRP.js → FoxitSerif-7SSP2H2U.js} +1 -1
  51. package/dist/node/{FoxitSerifBold-AC7RJQWJ.js → FoxitSerifBold-KLMURJ6N.js} +1 -1
  52. package/dist/node/{FoxitSerifBoldItalic-YCQ4CLKE.js → FoxitSerifBoldItalic-VSYHWLRM.js} +1 -1
  53. package/dist/node/{FoxitSerifItalic-CXVTCST4.js → FoxitSerifItalic-NTOPMQDD.js} +1 -1
  54. package/dist/node/{FoxitSymbol-VUGMZN5C.js → FoxitSymbol-QPUM74UN.js} +1 -1
  55. package/dist/node/{LiberationSans-Bold-XSHQQBWB.js → LiberationSans-Bold-BXFYN4PV.js} +1 -1
  56. package/dist/node/LiberationSans-Bold-VIZ4XT4N.js +9 -0
  57. package/dist/node/{LiberationSans-BoldItalic-CTAZRFRL.js → LiberationSans-BoldItalic-DQQC5TNJ.js} +1 -1
  58. package/dist/node/LiberationSans-BoldItalic-WXMOSICD.js +9 -0
  59. package/dist/node/LiberationSans-Italic-34IBVQZ4.js +9 -0
  60. package/dist/node/{LiberationSans-Italic-WIOTUKLC.js → LiberationSans-Italic-Z4MFN6PY.js} +1 -1
  61. package/dist/node/LiberationSans-Regular-JOSGNSW5.js +9 -0
  62. package/dist/node/{LiberationSans-Regular-CDMMZL5S.js → LiberationSans-Regular-MACKS2VL.js} +1 -1
  63. package/dist/node/NodeUtils-SRP3N4DX.js +20 -0
  64. package/dist/node/chunk-4Y7OZIIX.js +1319 -0
  65. package/dist/node/chunk-R66TN6BM.js +2072 -0
  66. package/dist/node/chunk-T2JWSGAF.js +1225 -0
  67. package/dist/node/chunk-ZFIGV5OT.js +63 -0
  68. package/dist/node/index.js +19837 -5007
  69. package/dist/node/openjpeg-QFJSFVSJ.js +9 -0
  70. package/dist/node/qcms_bg-PRPVJQFC.js +9 -0
  71. package/dist/node/worker.js +8382 -7098
  72. package/dist/pdf.js/external/openjpeg/openjpeg.d.ts +2 -0
  73. package/dist/pdf.js/external/qcms/qcms.d.ts +92 -0
  74. package/dist/pdf.js/external/qcms/qcms_utils.d.ts +14 -0
  75. package/dist/pdf.js/src/core/arithmetic_decoder.d.ts +21 -0
  76. package/dist/pdf.js/src/core/ascii_85_stream.d.ts +8 -0
  77. package/dist/pdf.js/src/core/ascii_hex_stream.d.ts +8 -0
  78. package/dist/pdf.js/src/core/base_stream.d.ts +32 -0
  79. package/dist/pdf.js/src/core/binary_cmap.d.ts +3 -0
  80. package/dist/pdf.js/src/core/ccitt.d.ts +72 -0
  81. package/dist/pdf.js/src/core/ccitt_stream.d.ts +9 -0
  82. package/dist/pdf.js/src/core/cff_font.d.ts +15 -0
  83. package/dist/pdf.js/src/core/cff_parser.d.ts +166 -0
  84. package/dist/pdf.js/src/core/charsets.d.ts +3 -0
  85. package/dist/pdf.js/src/core/cmap.d.ts +37 -0
  86. package/dist/pdf.js/src/core/colorspace.d.ts +177 -0
  87. package/dist/pdf.js/src/core/colorspace_utils.d.ts +21 -0
  88. package/dist/pdf.js/src/core/core_utils.d.ts +140 -0
  89. package/dist/pdf.js/src/core/decode_stream.d.ts +25 -0
  90. package/dist/pdf.js/src/core/encodings.d.ts +7 -0
  91. package/dist/pdf.js/src/core/flate_stream.d.ts +15 -0
  92. package/dist/pdf.js/src/core/font_renderer.d.ts +34 -0
  93. package/dist/pdf.js/src/core/fonts.d.ts +98 -0
  94. package/dist/pdf.js/src/core/fonts_utils.d.ts +32 -0
  95. package/dist/pdf.js/src/core/glyf.d.ts +44 -0
  96. package/dist/pdf.js/src/core/glyphlist.d.ts +2 -0
  97. package/dist/pdf.js/src/core/icc_colorspace.d.ts +22 -0
  98. package/dist/pdf.js/src/core/jbig2.d.ts +12 -0
  99. package/dist/pdf.js/src/core/jbig2_stream.d.ts +17 -0
  100. package/dist/pdf.js/src/core/jpeg_stream.d.ts +25 -0
  101. package/dist/pdf.js/src/core/jpg.d.ts +62 -0
  102. package/dist/pdf.js/src/core/jpx.d.ts +35 -0
  103. package/dist/pdf.js/src/core/jpx_stream.d.ts +17 -0
  104. package/dist/pdf.js/src/core/lzw_stream.d.ts +21 -0
  105. package/dist/pdf.js/src/core/metrics.d.ts +2 -0
  106. package/dist/pdf.js/src/core/name_number_tree.d.ts +21 -0
  107. package/dist/pdf.js/src/core/opentype_file_builder.d.ts +12 -0
  108. package/dist/pdf.js/src/core/parser.d.ts +81 -0
  109. package/dist/pdf.js/src/core/predictor_stream.d.ts +15 -0
  110. package/dist/pdf.js/src/core/primitives.d.ts +78 -0
  111. package/dist/pdf.js/src/core/run_length_stream.d.ts +7 -0
  112. package/dist/pdf.js/src/core/standard_fonts.d.ts +18 -0
  113. package/dist/pdf.js/src/core/stream.d.ts +21 -0
  114. package/dist/pdf.js/src/core/struct_tree.d.ts +92 -0
  115. package/dist/pdf.js/src/core/to_unicode_map.d.ts +21 -0
  116. package/dist/pdf.js/src/core/type1_font.d.ts +17 -0
  117. package/dist/pdf.js/src/core/type1_parser.d.ts +29 -0
  118. package/dist/pdf.js/src/core/unicode.d.ts +5 -0
  119. package/dist/pdf.js/src/display/annotation_layer.d.ts +35 -5
  120. package/dist/pdf.js/src/display/annotation_storage.d.ts +3 -8
  121. package/dist/pdf.js/src/display/api.d.ts +86 -77
  122. package/dist/pdf.js/src/display/api_utils.d.ts +13 -0
  123. package/dist/pdf.js/src/display/canvas.d.ts +88 -94
  124. package/dist/pdf.js/src/display/canvas_dependency_tracker.d.ts +160 -0
  125. package/dist/pdf.js/src/display/display_utils.d.ts +34 -1
  126. package/dist/pdf.js/src/display/draw_layer.d.ts +2 -2
  127. package/dist/pdf.js/src/display/editor/alt_text.d.ts +1 -1
  128. package/dist/pdf.js/src/display/editor/annotation_editor_layer.d.ts +10 -8
  129. package/dist/pdf.js/src/display/editor/color_picker.d.ts +20 -1
  130. package/dist/pdf.js/src/display/editor/comment.d.ts +47 -0
  131. package/dist/pdf.js/src/display/editor/draw.d.ts +8 -8
  132. package/dist/pdf.js/src/display/editor/drawers/freedraw.d.ts +4 -3
  133. package/dist/pdf.js/src/display/editor/drawers/highlight.d.ts +2 -1
  134. package/dist/pdf.js/src/display/editor/drawers/signaturedraw.d.ts +13 -13
  135. package/dist/pdf.js/src/display/editor/editor.d.ts +117 -16
  136. package/dist/pdf.js/src/display/editor/freetext.d.ts +11 -7
  137. package/dist/pdf.js/src/display/editor/highlight.d.ts +9 -3
  138. package/dist/pdf.js/src/display/editor/ink.d.ts +6 -0
  139. package/dist/pdf.js/src/display/editor/signature.d.ts +3 -5
  140. package/dist/pdf.js/src/display/editor/stamp.d.ts +4 -3
  141. package/dist/pdf.js/src/display/editor/toolbar.d.ts +8 -3
  142. package/dist/pdf.js/src/display/editor/tools.d.ts +36 -12
  143. package/dist/pdf.js/src/display/font_loader.d.ts +27 -1
  144. package/dist/pdf.js/src/display/metadata.d.ts +1 -2
  145. package/dist/pdf.js/src/display/optional_content_config.d.ts +1 -1
  146. package/dist/pdf.js/src/display/pattern_helper.d.ts +6 -4
  147. package/dist/pdf.js/src/display/pdf_objects.d.ts +40 -0
  148. package/dist/pdf.js/src/display/text_layer.d.ts +9 -9
  149. package/dist/pdf.js/src/display/touch_manager.d.ts +5 -1
  150. package/dist/pdf.js/src/display/worker_options.d.ts +2 -2
  151. package/dist/pdf.js/src/pdf.d.ts +9 -1
  152. package/dist/pdf.js/src/shared/obj-bin-transform.d.ts +64 -0
  153. package/dist/pdf.js/src/shared/scripting_utils.d.ts +2 -0
  154. package/dist/pdf.js/src/shared/util.d.ts +129 -102
  155. package/dist/pdf.js/web/comment_manager.d.ts +20 -0
  156. package/dist/pdf.js/web/interfaces.d.ts +7 -0
  157. package/dist/pdf.js/web/text_accessibility.d.ts +1 -1
  158. package/package.json +16 -4
  159. package/dist/node/chunk-7MW5RQZ5.js +0 -30
  160. package/dist/node/chunk-KTTVPO2G.js +0 -1775
  161. package/dist/pdf.js/src/display/node_utils.d.ts +0 -32
@@ -0,0 +1,40 @@
1
+ /**
2
+ * A PDF document and page is built of many objects. E.g. there are objects for
3
+ * fonts, images, rendering code, etc. These objects may get processed inside of
4
+ * a worker. This class implements some basic methods to manage these objects.
5
+ */
6
+ export class PDFObjects {
7
+ /**
8
+ * If called *without* callback, this returns the data of `objId` but the
9
+ * object needs to be resolved. If it isn't, this method throws.
10
+ *
11
+ * If called *with* a callback, the callback is called with the data of the
12
+ * object once the object is resolved. That means, if you call this method
13
+ * and the object is already resolved, the callback gets called right away.
14
+ *
15
+ * @param {string} objId
16
+ * @param {function} [callback]
17
+ * @returns {any}
18
+ */
19
+ get(objId: string, callback?: Function): any;
20
+ /**
21
+ * @param {string} objId
22
+ * @returns {boolean}
23
+ */
24
+ has(objId: string): boolean;
25
+ /**
26
+ * @param {string} objId
27
+ * @returns {boolean}
28
+ */
29
+ delete(objId: string): boolean;
30
+ /**
31
+ * Resolves the object `objId` with optional `data`.
32
+ *
33
+ * @param {string} objId
34
+ * @param {any} [data]
35
+ */
36
+ resolve(objId: string, data?: any): void;
37
+ clear(): void;
38
+ [Symbol.iterator](): Generator<any[], void, unknown>;
39
+ #private;
40
+ }
@@ -31,24 +31,24 @@ export type TextLayerUpdateParameters = {
31
31
  onBefore?: Function | undefined;
32
32
  };
33
33
  export class TextLayer {
34
- static "__#54@#ascentCache": Map<any, any>;
35
- static "__#54@#canvasContexts": Map<any, any>;
36
- static "__#54@#canvasCtxFonts": WeakMap<WeakKey, any>;
37
- static "__#54@#minFontSize": null;
38
- static "__#54@#pendingTextLayers": Set<any>;
34
+ static "__#private@#ascentCache": Map<any, any>;
35
+ static "__#private@#canvasContexts": Map<any, any>;
36
+ static "__#private@#canvasCtxFonts": WeakMap<WeakKey, any>;
37
+ static "__#private@#minFontSize": null;
38
+ static "__#private@#pendingTextLayers": Set<any>;
39
39
  static get fontFamilyMap(): any;
40
40
  /**
41
41
  * Clean-up global textLayer data.
42
42
  * @returns {undefined}
43
43
  */
44
44
  static cleanup(): undefined;
45
- static "__#54@#getCtx"(lang?: null): any;
46
- static "__#54@#ensureCtxFont"(ctx: any, size: any, family: any): void;
45
+ static "__#private@#getCtx"(lang?: null): any;
46
+ static "__#private@#ensureCtxFont"(ctx: any, size: any, family: any): void;
47
47
  /**
48
48
  * Compute the minimum font size enforced by the browser.
49
49
  */
50
- static "__#54@#ensureMinFontSizeComputed"(): void;
51
- static "__#54@#getAscent"(fontFamily: any, style: any, lang: any): any;
50
+ static "__#private@#ensureMinFontSizeComputed"(): void;
51
+ static "__#private@#getAscent"(fontFamily: any, style: any, lang: any): any;
52
52
  /**
53
53
  * @param {TextLayerParameters} options
54
54
  */
@@ -8,7 +8,11 @@ export class TouchManager {
8
8
  onPinchEnd?: null | undefined;
9
9
  signal: any;
10
10
  });
11
- get MIN_TOUCH_DISTANCE_TO_PINCH(): any;
11
+ /**
12
+ * NOTE: Don't shadow this value since `devicePixelRatio` may change if the
13
+ * window resolution changes, e.g. if the viewer is moved to another monitor.
14
+ */
15
+ get MIN_TOUCH_DISTANCE_TO_PINCH(): number;
12
16
  destroy(): void;
13
17
  #private;
14
18
  }
@@ -1,6 +1,6 @@
1
1
  export class GlobalWorkerOptions {
2
- static "__#50@#port": null;
3
- static "__#50@#src": string;
2
+ static "__#private@#port": null;
3
+ static "__#private@#src": string;
4
4
  /**
5
5
  * @param {Worker | null} workerPort - Defines global port for worker process.
6
6
  * Overrides the `workerSrc` option.
@@ -12,16 +12,20 @@ import { AnnotationEditorUIManager } from "./display/editor/tools.js";
12
12
  import { AnnotationLayer } from "./display/annotation_layer.js";
13
13
  import { AnnotationMode } from "./shared/util.js";
14
14
  import { AnnotationType } from "./shared/util.js";
15
+ import { applyOpacity } from "./display/display_utils.js";
15
16
  import { build } from "./display/api.js";
16
17
  import { ColorPicker } from "./display/editor/color_picker.js";
17
18
  import { createValidAbsoluteUrl } from "./shared/util.js";
19
+ import { CSSConstants } from "./display/display_utils.js";
18
20
  import { DOMSVGFactory } from "./display/svg_factory.js";
19
21
  import { DrawLayer } from "./display/draw_layer.js";
20
22
  import { FeatureTest } from "./shared/util.js";
21
23
  import { fetchData } from "./display/display_utils.js";
24
+ import { findContrastColor } from "./display/display_utils.js";
22
25
  import { getDocument } from "./display/api.js";
23
26
  import { getFilenameFromUrl } from "./display/display_utils.js";
24
27
  import { getPdfFilenameFromUrl } from "./display/display_utils.js";
28
+ import { getRGB } from "./display/display_utils.js";
25
29
  import { getUuid } from "./shared/util.js";
26
30
  import { getXfaPageViewport } from "./display/display_utils.js";
27
31
  import { GlobalWorkerOptions } from "./display/worker_options.js";
@@ -29,6 +33,8 @@ import { ImageKind } from "./shared/util.js";
29
33
  import { InvalidPDFException } from "./shared/util.js";
30
34
  import { isDataScheme } from "./display/display_utils.js";
31
35
  import { isPdfFile } from "./display/display_utils.js";
36
+ import { isValidExplicitDest } from "./display/api_utils.js";
37
+ import { MathClamp } from "./shared/util.js";
32
38
  import { noContextMenu } from "./display/display_utils.js";
33
39
  import { normalizeUnicode } from "./shared/util.js";
34
40
  import { OPS } from "./shared/util.js";
@@ -40,6 +46,7 @@ import { PDFWorker } from "./display/api.js";
40
46
  import { PermissionFlag } from "./shared/util.js";
41
47
  import { PixelsPerInch } from "./display/display_utils.js";
42
48
  import { RenderingCancelledException } from "./display/display_utils.js";
49
+ import { renderRichText } from "./display/display_utils.js";
43
50
  import { ResponseException } from "./shared/util.js";
44
51
  import { setLayerDimensions } from "./display/display_utils.js";
45
52
  import { shadow } from "./shared/util.js";
@@ -48,8 +55,9 @@ import { stopEvent } from "./display/display_utils.js";
48
55
  import { SupportedImageMimeTypes } from "./display/display_utils.js";
49
56
  import { TextLayer } from "./display/text_layer.js";
50
57
  import { TouchManager } from "./display/touch_manager.js";
58
+ import { updateUrlHash } from "./shared/util.js";
51
59
  import { Util } from "./shared/util.js";
52
60
  import { VerbosityLevel } from "./shared/util.js";
53
61
  import { version } from "./display/api.js";
54
62
  import { XfaLayer } from "./display/xfa_layer.js";
55
- export { AbortException, AnnotationEditorLayer, AnnotationEditorParamsType, AnnotationEditorType, AnnotationEditorUIManager, AnnotationLayer, AnnotationMode, AnnotationType, build, ColorPicker, createValidAbsoluteUrl, DOMSVGFactory, DrawLayer, FeatureTest, fetchData, getDocument, getFilenameFromUrl, getPdfFilenameFromUrl, getUuid, getXfaPageViewport, GlobalWorkerOptions, ImageKind, InvalidPDFException, isDataScheme, isPdfFile, noContextMenu, normalizeUnicode, OPS, OutputScale, PasswordResponses, PDFDataRangeTransport, PDFDateString, PDFWorker, PermissionFlag, PixelsPerInch, RenderingCancelledException, ResponseException, setLayerDimensions, shadow, SignatureExtractor, stopEvent, SupportedImageMimeTypes, TextLayer, TouchManager, Util, VerbosityLevel, version, XfaLayer };
63
+ export { AbortException, AnnotationEditorLayer, AnnotationEditorParamsType, AnnotationEditorType, AnnotationEditorUIManager, AnnotationLayer, AnnotationMode, AnnotationType, applyOpacity, build, ColorPicker, createValidAbsoluteUrl, CSSConstants, DOMSVGFactory, DrawLayer, FeatureTest, fetchData, findContrastColor, getDocument, getFilenameFromUrl, getPdfFilenameFromUrl, getRGB, getUuid, getXfaPageViewport, GlobalWorkerOptions, ImageKind, InvalidPDFException, isDataScheme, isPdfFile, isValidExplicitDest, MathClamp, noContextMenu, normalizeUnicode, OPS, OutputScale, PasswordResponses, PDFDataRangeTransport, PDFDateString, PDFWorker, PermissionFlag, PixelsPerInch, RenderingCancelledException, renderRichText, ResponseException, setLayerDimensions, shadow, SignatureExtractor, stopEvent, SupportedImageMimeTypes, TextLayer, TouchManager, updateUrlHash, Util, VerbosityLevel, version, XfaLayer };
@@ -0,0 +1,64 @@
1
+ export class CssFontInfo {
2
+ static strings: string[];
3
+ static write(info: any): ArrayBuffer;
4
+ constructor(buffer: any);
5
+ get fontFamily(): string;
6
+ get fontWeight(): string;
7
+ get italicAngle(): string;
8
+ #private;
9
+ }
10
+ export class FontInfo {
11
+ static bools: string[];
12
+ static numbers: string[];
13
+ static strings: string[];
14
+ static "__#private@#OFFSET_NUMBERS": number;
15
+ static "__#private@#OFFSET_BBOX": number;
16
+ static "__#private@#OFFSET_FONT_MATRIX": number;
17
+ static "__#private@#OFFSET_DEFAULT_VMETRICS": number;
18
+ static "__#private@#OFFSET_STRINGS": number;
19
+ static write(font: any): ArrayBuffer;
20
+ constructor({ data, extra }: {
21
+ data: any;
22
+ extra: any;
23
+ });
24
+ get black(): boolean | undefined;
25
+ get bold(): boolean | undefined;
26
+ get disableFontFace(): boolean | undefined;
27
+ get fontExtraProperties(): boolean | undefined;
28
+ get isInvalidPDFjsFont(): boolean | undefined;
29
+ get isType3Font(): boolean | undefined;
30
+ get italic(): boolean | undefined;
31
+ get missingFile(): boolean | undefined;
32
+ get remeasure(): boolean | undefined;
33
+ get vertical(): boolean | undefined;
34
+ get ascent(): number;
35
+ get defaultWidth(): number;
36
+ get descent(): number;
37
+ get bbox(): number[] | undefined;
38
+ get fontMatrix(): number[] | undefined;
39
+ get defaultVMetrics(): number[] | undefined;
40
+ get fallbackName(): string;
41
+ get loadedName(): string;
42
+ get mimetype(): string;
43
+ get name(): string;
44
+ get data(): Uint8Array<any> | undefined;
45
+ clearData(): void;
46
+ get cssFontInfo(): CssFontInfo | null;
47
+ get systemFontInfo(): SystemFontInfo | null;
48
+ #private;
49
+ }
50
+ export class SystemFontInfo {
51
+ static strings: string[];
52
+ static write(info: any): ArrayBuffer;
53
+ constructor(buffer: any);
54
+ get guessFallback(): boolean;
55
+ get css(): string;
56
+ get loadedName(): string;
57
+ get baseFontName(): string;
58
+ get src(): string;
59
+ get style(): {
60
+ style: string;
61
+ weight: string;
62
+ };
63
+ #private;
64
+ }
@@ -14,3 +14,5 @@ export class ColorConverters {
14
14
  static CMYK_HTML(components: any): string;
15
15
  static RGB_CMYK([r, g, b]: [any, any, any]): (string | number)[];
16
16
  }
17
+ export const DateFormats: string[];
18
+ export const TimeFormats: string[];
@@ -1,3 +1,4 @@
1
+ export function _isValidExplicitDest(validRef: any, validName: any, dest: any): boolean;
1
2
  declare const AbortException_base: any;
2
3
  /**
3
4
  * Error used to indicate task cancellation.
@@ -39,7 +40,6 @@ export namespace AnnotationEditorParamsType {
39
40
  let INK_THICKNESS: number;
40
41
  let INK_OPACITY: number;
41
42
  let HIGHLIGHT_COLOR: number;
42
- let HIGHLIGHT_DEFAULT_COLOR: number;
43
43
  let HIGHLIGHT_THICKNESS: number;
44
44
  let HIGHLIGHT_FREE: number;
45
45
  let HIGHLIGHT_SHOW_ALL: number;
@@ -53,7 +53,9 @@ export namespace AnnotationEditorType {
53
53
  let HIGHLIGHT: number;
54
54
  let STAMP: number;
55
55
  let INK: number;
56
+ let POPUP: number;
56
57
  let SIGNATURE: number;
58
+ let COMMENT: number;
57
59
  }
58
60
  export namespace AnnotationFieldFlag {
59
61
  let READONLY: number;
@@ -122,7 +124,8 @@ export namespace AnnotationType {
122
124
  export let CARET: number;
123
125
  let INK_1: number;
124
126
  export { INK_1 as INK };
125
- export let POPUP: number;
127
+ let POPUP_1: number;
128
+ export { POPUP_1 as POPUP };
126
129
  export let FILEATTACHMENT: number;
127
130
  export let SOUND: number;
128
131
  export let MOVIE: number;
@@ -157,6 +160,12 @@ export namespace DocumentActionEventType {
157
160
  let WP: string;
158
161
  let DP: string;
159
162
  }
163
+ export namespace DrawOPS {
164
+ let moveTo: number;
165
+ let lineTo: number;
166
+ let curveTo: number;
167
+ let closePath: number;
168
+ }
160
169
  export class FeatureTest {
161
170
  static get isLittleEndian(): any;
162
171
  static get isEvalSupported(): any;
@@ -179,7 +188,6 @@ export function getModificationDate(date?: Date): string;
179
188
  export function getUuid(): string;
180
189
  export function getVerbosityLevel(): number;
181
190
  export const hexNumbers: string[];
182
- export const IDENTITY_MATRIX: number[];
183
191
  export namespace ImageKind {
184
192
  let GRAYSCALE_1BPP: number;
185
193
  let RGB_24BPP: number;
@@ -195,100 +203,105 @@ export function isArrayEqual(arr1: any, arr2: any): boolean;
195
203
  export const isNodeJS: any;
196
204
  export const LINE_DESCENT_FACTOR: 0.35;
197
205
  export const LINE_FACTOR: 1.35;
206
+ export function MathClamp(v: any, min: any, max: any): number;
198
207
  export function normalizeUnicode(str: any): any;
199
- export function objectFromMap(map: any): any;
200
208
  export function objectSize(obj: any): number;
201
209
  export namespace OPS {
202
- let dependency: number;
203
- let setLineWidth: number;
204
- let setLineCap: number;
205
- let setLineJoin: number;
206
- let setMiterLimit: number;
207
- let setDash: number;
208
- let setRenderingIntent: number;
209
- let setFlatness: number;
210
- let setGState: number;
211
- let save: number;
212
- let restore: number;
213
- let transform: number;
214
- let moveTo: number;
215
- let lineTo: number;
216
- let curveTo: number;
217
- let curveTo2: number;
218
- let curveTo3: number;
219
- let closePath: number;
220
- let rectangle: number;
221
- let stroke: number;
222
- let closeStroke: number;
223
- let fill: number;
224
- let eoFill: number;
225
- let fillStroke: number;
226
- let eoFillStroke: number;
227
- let closeFillStroke: number;
228
- let closeEOFillStroke: number;
229
- let endPath: number;
230
- let clip: number;
231
- let eoClip: number;
232
- let beginText: number;
233
- let endText: number;
234
- let setCharSpacing: number;
235
- let setWordSpacing: number;
236
- let setHScale: number;
237
- let setLeading: number;
238
- let setFont: number;
239
- let setTextRenderingMode: number;
240
- let setTextRise: number;
241
- let moveText: number;
242
- let setLeadingMoveText: number;
243
- let setTextMatrix: number;
244
- let nextLine: number;
245
- let showText: number;
246
- let showSpacedText: number;
247
- let nextLineShowText: number;
248
- let nextLineSetSpacingShowText: number;
249
- let setCharWidth: number;
250
- let setCharWidthAndBounds: number;
251
- let setStrokeColorSpace: number;
252
- let setFillColorSpace: number;
253
- let setStrokeColor: number;
254
- let setStrokeColorN: number;
255
- let setFillColor: number;
256
- let setFillColorN: number;
257
- let setStrokeGray: number;
258
- let setFillGray: number;
259
- let setStrokeRGBColor: number;
260
- let setFillRGBColor: number;
261
- let setStrokeCMYKColor: number;
262
- let setFillCMYKColor: number;
263
- let shadingFill: number;
264
- let beginInlineImage: number;
265
- let beginImageData: number;
266
- let endInlineImage: number;
267
- let paintXObject: number;
268
- let markPoint: number;
269
- let markPointProps: number;
270
- let beginMarkedContent: number;
271
- let beginMarkedContentProps: number;
272
- let endMarkedContent: number;
273
- let beginCompat: number;
274
- let endCompat: number;
275
- let paintFormXObjectBegin: number;
276
- let paintFormXObjectEnd: number;
277
- let beginGroup: number;
278
- let endGroup: number;
279
- let beginAnnotation: number;
280
- let endAnnotation: number;
281
- let paintImageMaskXObject: number;
282
- let paintImageMaskXObjectGroup: number;
283
- let paintImageXObject: number;
284
- let paintInlineImageXObject: number;
285
- let paintInlineImageXObjectGroup: number;
286
- let paintImageXObjectRepeat: number;
287
- let paintImageMaskXObjectRepeat: number;
288
- let paintSolidColorImageMask: number;
289
- let constructPath: number;
290
- let setStrokeTransparent: number;
291
- let setFillTransparent: number;
210
+ export let dependency: number;
211
+ export let setLineWidth: number;
212
+ export let setLineCap: number;
213
+ export let setLineJoin: number;
214
+ export let setMiterLimit: number;
215
+ export let setDash: number;
216
+ export let setRenderingIntent: number;
217
+ export let setFlatness: number;
218
+ export let setGState: number;
219
+ export let save: number;
220
+ export let restore: number;
221
+ export let transform: number;
222
+ let moveTo_1: number;
223
+ export { moveTo_1 as moveTo };
224
+ let lineTo_1: number;
225
+ export { lineTo_1 as lineTo };
226
+ let curveTo_1: number;
227
+ export { curveTo_1 as curveTo };
228
+ export let curveTo2: number;
229
+ export let curveTo3: number;
230
+ let closePath_1: number;
231
+ export { closePath_1 as closePath };
232
+ export let rectangle: number;
233
+ export let stroke: number;
234
+ export let closeStroke: number;
235
+ export let fill: number;
236
+ export let eoFill: number;
237
+ export let fillStroke: number;
238
+ export let eoFillStroke: number;
239
+ export let closeFillStroke: number;
240
+ export let closeEOFillStroke: number;
241
+ export let endPath: number;
242
+ export let clip: number;
243
+ export let eoClip: number;
244
+ export let beginText: number;
245
+ export let endText: number;
246
+ export let setCharSpacing: number;
247
+ export let setWordSpacing: number;
248
+ export let setHScale: number;
249
+ export let setLeading: number;
250
+ export let setFont: number;
251
+ export let setTextRenderingMode: number;
252
+ export let setTextRise: number;
253
+ export let moveText: number;
254
+ export let setLeadingMoveText: number;
255
+ export let setTextMatrix: number;
256
+ export let nextLine: number;
257
+ export let showText: number;
258
+ export let showSpacedText: number;
259
+ export let nextLineShowText: number;
260
+ export let nextLineSetSpacingShowText: number;
261
+ export let setCharWidth: number;
262
+ export let setCharWidthAndBounds: number;
263
+ export let setStrokeColorSpace: number;
264
+ export let setFillColorSpace: number;
265
+ export let setStrokeColor: number;
266
+ export let setStrokeColorN: number;
267
+ export let setFillColor: number;
268
+ export let setFillColorN: number;
269
+ export let setStrokeGray: number;
270
+ export let setFillGray: number;
271
+ export let setStrokeRGBColor: number;
272
+ export let setFillRGBColor: number;
273
+ export let setStrokeCMYKColor: number;
274
+ export let setFillCMYKColor: number;
275
+ export let shadingFill: number;
276
+ export let beginInlineImage: number;
277
+ export let beginImageData: number;
278
+ export let endInlineImage: number;
279
+ export let paintXObject: number;
280
+ export let markPoint: number;
281
+ export let markPointProps: number;
282
+ export let beginMarkedContent: number;
283
+ export let beginMarkedContentProps: number;
284
+ export let endMarkedContent: number;
285
+ export let beginCompat: number;
286
+ export let endCompat: number;
287
+ export let paintFormXObjectBegin: number;
288
+ export let paintFormXObjectEnd: number;
289
+ export let beginGroup: number;
290
+ export let endGroup: number;
291
+ export let beginAnnotation: number;
292
+ export let endAnnotation: number;
293
+ export let paintImageMaskXObject: number;
294
+ export let paintImageMaskXObjectGroup: number;
295
+ export let paintImageXObject: number;
296
+ export let paintInlineImageXObject: number;
297
+ export let paintInlineImageXObjectGroup: number;
298
+ export let paintImageXObjectRepeat: number;
299
+ export let paintImageMaskXObjectRepeat: number;
300
+ export let paintSolidColorImageMask: number;
301
+ export let constructPath: number;
302
+ export let setStrokeTransparent: number;
303
+ export let setFillTransparent: number;
304
+ export let rawFillPath: number;
292
305
  }
293
306
  export namespace PageActionEventType {
294
307
  export let O: string;
@@ -339,7 +352,7 @@ export function setVerbosityLevel(level: any): void;
339
352
  export function shadow(obj: any, prop: any, value: any, nonSerializable?: boolean): any;
340
353
  export function string32(value: any): string;
341
354
  export function stringToBytes(str: any): Uint8Array<any>;
342
- export function stringToPDFString(str: any): string;
355
+ export function stringToPDFString(str: any, keepEscapeSequence?: boolean): string;
343
356
  export function stringToUTF8String(str: any): string;
344
357
  export namespace TextRenderingMode {
345
358
  export let FILL: number;
@@ -363,21 +376,35 @@ export class UnknownErrorException extends UnknownErrorException_base {
363
376
  details: any;
364
377
  }
365
378
  export function unreachable(msg: any): void;
379
+ /**
380
+ * Remove, or replace, the hash property of the URL.
381
+ *
382
+ * @param {URL|string} url - The absolute, or relative, URL.
383
+ * @param {string} hash - The hash property (use an empty string to remove it).
384
+ * @param {boolean} [allowRel] - Allow relative URLs.
385
+ * @returns {string} The resulting URL string.
386
+ */
387
+ export function updateUrlHash(url: URL | string, hash: string, allowRel?: boolean): string;
366
388
  export function utf8StringToString(str: any): string;
367
389
  export class Util {
368
390
  static makeHexColor(r: any, g: any, b: any): string;
391
+ static domMatrixToTransform(dm: any): any[];
369
392
  static scaleMinMax(transform: any, minMax: any): void;
370
393
  static transform(m1: any, m2: any): any[];
371
- static applyTransform(p: any, m: any): any[];
372
- static applyInverseTransform(p: any, m: any): number[];
373
- static getAxialAlignedBoundingBox(r: any, m: any): number[];
394
+ static multiplyByDOMMatrix(m: any, md: any): any[];
395
+ static applyTransform(p: any, m: any, pos?: number): void;
396
+ static applyTransformToBezier(p: any, transform: any, pos?: number): void;
397
+ static applyInverseTransform(p: any, m: any): void;
398
+ static axialAlignedBoundingBox(rect: any, transform: any, output: any): void;
374
399
  static inverseTransform(m: any): number[];
375
- static singularValueDecompose2dScale(m: any): number[];
400
+ static singularValueDecompose2dScale(matrix: any, output: any): void;
376
401
  static normalizeRect(rect: any): any;
377
402
  static intersect(rect1: any, rect2: any): number[] | null;
378
- static "__#1@#getExtremumOnCurve"(x0: any, x1: any, x2: any, x3: any, y0: any, y1: any, y2: any, y3: any, t: any, minMax: any): void;
379
- static "__#1@#getExtremum"(x0: any, x1: any, x2: any, x3: any, y0: any, y1: any, y2: any, y3: any, a: any, b: any, c: any, minMax: any): void;
380
- static bezierBoundingBox(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any, x3: any, y3: any, minMax: any): any;
403
+ static pointBoundingBox(x: any, y: any, minMax: any): void;
404
+ static rectBoundingBox(x0: any, y0: any, x1: any, y1: any, minMax: any): void;
405
+ static "__#private@#getExtremumOnCurve"(x0: any, x1: any, x2: any, x3: any, y0: any, y1: any, y2: any, y3: any, t: any, minMax: any): void;
406
+ static "__#private@#getExtremum"(x0: any, x1: any, x2: any, x3: any, y0: any, y1: any, y2: any, y3: any, a: any, b: any, c: any, minMax: any): void;
407
+ static bezierBoundingBox(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any, x3: any, y3: any, minMax: any): void;
381
408
  }
382
409
  export namespace VerbosityLevel {
383
410
  let ERRORS: number;
@@ -0,0 +1,20 @@
1
+ export class CommentManager {
2
+ static "__#private@#hasForcedColors": null;
3
+ static _makeCommentColor(color: any, opacity: any): any;
4
+ constructor(commentDialog: any, sidebar: any, eventBus: any, linkService: any, overlayManager: any, ltr: any, hasForcedColors: any);
5
+ dialogElement: any;
6
+ setSidebarUiManager(uiManager: any): void;
7
+ showSidebar(annotations: any): void;
8
+ hideSidebar(): void;
9
+ removeComments(ids: any): void;
10
+ selectComment(id: any): void;
11
+ addComment(annotation: any): void;
12
+ updateComment(annotation: any): void;
13
+ toggleCommentPopup(editor: any, isSelected: any, visibility: any, isEditable: any): void;
14
+ destroyPopup(): void;
15
+ updatePopupColor(editor: any): void;
16
+ showDialog(uiManager: any, editor: any, posX: any, posY: any, options: any): Promise<void>;
17
+ makeCommentColor(color: any, opacity: any): any;
18
+ destroy(): void;
19
+ #private;
20
+ }
@@ -109,6 +109,13 @@ export class IPDFLinkService {
109
109
  * @param {number|string} val - The page number, or page label.
110
110
  */
111
111
  goToPage(val: number | string): void;
112
+ /**
113
+ * Scrolls to a specific location in the PDF document.
114
+ * @param {number} pageNumber - The page number to scroll to.
115
+ * @param {number} x - The x-coordinate to scroll to in page coordinates.
116
+ * @param {number} y - The y-coordinate to scroll to in page coordinates.
117
+ */
118
+ goToXY(pageNumber: number, x: number, y: number): void;
112
119
  /**
113
120
  * @param {HTMLAnchorElement} link
114
121
  * @param {string} url
@@ -14,7 +14,7 @@ export class TextAccessibilityManager {
14
14
  * @param {HTMLElement} e2
15
15
  * @returns {number}
16
16
  */
17
- static "__#6@#compareElementPositions"(e1: HTMLElement, e2: HTMLElement): number;
17
+ static "__#private@#compareElementPositions"(e1: HTMLElement, e2: HTMLElement): number;
18
18
  setTextMapping(textDivs: any): void;
19
19
  /**
20
20
  * Function called when the text layer has finished rendering.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chialab/pdfjs-lib",
3
3
  "description": "A custom Mozilla's PDF.js build with better Node support and extras.",
4
- "version": "1.0.0-alpha.3",
4
+ "version": "1.0.0-alpha.32",
5
5
  "type": "module",
6
6
  "author": "Chialab <dev@chialab.it>",
7
7
  "license": "MIT",
@@ -12,6 +12,8 @@
12
12
  "scripts": {
13
13
  "build": "rimraf 'dist' && tsc && node build.js",
14
14
  "check": "biome check",
15
+ "test": "vitest",
16
+ "screenshots": "docker run --rm -v \"$(pwd)\":/app -w /app node:latest bash -c \"rm -rf node_modules && yarn install && yarn playwright install chromium --with-deps --only-shell && yarn test\"",
15
17
  "publint": "publint --pack npm",
16
18
  "prepack": "yarn build && publint --pack npm"
17
19
  },
@@ -27,16 +29,26 @@
27
29
  }
28
30
  },
29
31
  "dependencies": {
30
- "@napi-rs/canvas": "^0.1.67"
32
+ "skia-canvas": "^3.0.0"
31
33
  },
32
34
  "devDependencies": {
33
35
  "@biomejs/biome": "^1.9.4",
34
36
  "@changesets/cli": "^2.28.1",
35
37
  "@types/node": "^22.13.5",
38
+ "@types/opentype.js": "^1.3.8",
39
+ "@types/pngjs": "^6.0.5",
36
40
  "esbuild": "^0.25.0",
37
41
  "magic-string": "^0.30.17",
42
+ "opentype.js": "^1.3.4",
43
+ "pixelmatch": "^7.1.0",
44
+ "playwright": "^1.56.0",
45
+ "pngjs": "^7.0.0",
38
46
  "publint": "^0.3.7",
39
47
  "rimraf": "^6.0.1",
40
- "typescript": "^5.7.3"
41
- }
48
+ "sharp": "^0.34.4",
49
+ "typescript": "^5.7.3",
50
+ "vite": "^7.1.9",
51
+ "vitest": "^3.1.1"
52
+ },
53
+ "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
42
54
  }
@@ -1,30 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __typeError = (msg) => {
3
- throw TypeError(msg);
4
- };
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
8
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
9
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
12
- var __privateWrapper = (obj, member, setter, getter) => ({
13
- set _(value) {
14
- __privateSet(obj, member, value, setter);
15
- },
16
- get _() {
17
- return __privateGet(obj, member, getter);
18
- }
19
- });
20
- var __toBinaryNode = (base64) => new Uint8Array(Buffer.from(base64, "base64"));
21
-
22
- export {
23
- __publicField,
24
- __privateGet,
25
- __privateAdd,
26
- __privateSet,
27
- __privateMethod,
28
- __privateWrapper,
29
- __toBinaryNode
30
- };