vue-pdfjs-headless 4.3.1 → 4.3.3

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.
package/dist/index.d.ts CHANGED
@@ -3,19 +3,12 @@ import * as PdfJs from "pdfjs-dist";
3
3
  import { PDFDocumentLoadingTask, PDFDocumentProxy, PageViewport } from "pdfjs-dist";
4
4
  import * as PdfJsViewer from "pdfjs-dist/web/pdf_viewer.mjs";
5
5
  import { PDFViewer } from "pdfjs-dist/web/pdf_viewer.mjs";
6
- //#region src/models/PdfApi.d.ts
7
6
  export type PdfApi = Pick<typeof PdfJs, "getDocument" | "GlobalWorkerOptions" | "PasswordResponses">;
8
- //#endregion
9
- //#region src/models/PdfDocumentParameters.d.ts
10
7
  export type PdfDocumentParameters = Partial<Parameters<PdfApi["getDocument"]>[0]>;
11
- //#endregion
12
- //#region src/models/PdfLoadingProgress.d.ts
13
8
  export interface PdfLoadingProgress {
14
9
  loaded: number;
15
10
  total: number;
16
11
  }
17
- //#endregion
18
- //#region src/models/PdfDocumentState.d.ts
19
12
  export interface PdfDocumentState {
20
13
  isFailed: Ref<boolean>;
21
14
  isPasswordRequested: Ref<boolean>;
@@ -24,8 +17,6 @@ export interface PdfDocumentState {
24
17
  progress: Ref<PdfLoadingProgress>;
25
18
  submitPassword: (password: string) => void;
26
19
  }
27
- //#endregion
28
- //#region src/models/PdfRenderer.d.ts
29
20
  export interface PdfRenderer {
30
21
  api: PdfApi;
31
22
  cMapUrl: string;
@@ -33,19 +24,13 @@ export interface PdfRenderer {
33
24
  wasmUrl: string;
34
25
  workerSrc: string;
35
26
  }
36
- //#endregion
37
- //#region src/models/PdfSource.d.ts
38
27
  export type PdfSource = File | string | Uint8Array;
39
- //#endregion
40
- //#region src/composables/usePdfDocument.d.ts
41
28
  interface UsePdfDocumentOptions {
42
29
  parameters?: PdfDocumentParameters;
43
30
  renderer: MaybeRefOrGetter<PdfRenderer | undefined>;
44
31
  source: MaybeRefOrGetter<PdfSource | undefined>;
45
32
  }
46
33
  export declare const usePdfDocument: ({ parameters, renderer, source }: UsePdfDocumentOptions) => PdfDocumentState;
47
- //#endregion
48
- //#region src/composables/usePdfPage.d.ts
49
34
  interface UsePdfPageOptions {
50
35
  canvas: MaybeRefOrGetter<HTMLCanvasElement | undefined>;
51
36
  isVisible?: MaybeRefOrGetter<boolean>;
@@ -53,43 +38,29 @@ interface UsePdfPageOptions {
53
38
  pdfDocument: MaybeRefOrGetter<PDFDocumentProxy | undefined>;
54
39
  }
55
40
  export declare const usePdfPage: ({ canvas, isVisible, pageNumber, pdfDocument }: UsePdfPageOptions) => void;
56
- //#endregion
57
- //#region src/models/PdfThumbnail.d.ts
58
41
  export interface PdfThumbnail {
59
42
  canvas: ShallowRef<HTMLCanvasElement | undefined>;
60
43
  isCurrent: ComputedRef<boolean>;
61
44
  isVisible: Ref<boolean>;
62
45
  pageNumber: number;
63
46
  }
64
- //#endregion
65
- //#region src/composables/usePdfThumbnails.d.ts
66
47
  interface UsePdfThumbnailsOptions {
67
48
  currentPageNumber: MaybeRefOrGetter<number>;
68
49
  pdfDocument: MaybeRefOrGetter<PDFDocumentProxy | undefined>;
69
50
  root: MaybeRefOrGetter<HTMLElement | undefined>;
70
51
  }
71
52
  export declare const usePdfThumbnails: ({ currentPageNumber, pdfDocument, root }: UsePdfThumbnailsOptions) => ShallowRef<PdfThumbnail[]>;
72
- //#endregion
73
- //#region src/models/PdfViewerApi.d.ts
74
53
  export type PdfViewerApi = Pick<typeof PdfJsViewer, "EventBus" | "FindState" | "LinkTarget" | "PDFFindController" | "PDFLinkService" | "PDFViewer">;
75
- //#endregion
76
- //#region src/models/PdfMatchesCount.d.ts
77
54
  export interface PdfMatchesCount {
78
55
  current: number;
79
56
  total: number;
80
57
  }
81
- //#endregion
82
- //#region src/models/PdfOutline.d.ts
83
58
  export type PdfOutline = NonNullable<Awaited<ReturnType<PDFDocumentProxy["getOutline"]>>>;
84
- //#endregion
85
- //#region src/models/PdfPageOverlay.d.ts
86
59
  export interface PdfPageOverlay {
87
60
  element: HTMLElement;
88
61
  pageNumber: number;
89
62
  viewport: PageViewport;
90
63
  }
91
- //#endregion
92
- //#region src/models/PdfViewerState.d.ts
93
64
  export interface PdfViewerState {
94
65
  actualSize: () => void;
95
66
  currentPageNumber: Ref<number>;
@@ -120,8 +91,6 @@ export interface PdfViewerState {
120
91
  zoomIn: () => void;
121
92
  zoomOut: () => void;
122
93
  }
123
- //#endregion
124
- //#region src/composables/usePdfViewer.d.ts
125
94
  interface UsePdfViewerOptions {
126
95
  container: MaybeRefOrGetter<HTMLDivElement | undefined>;
127
96
  highlightTerms?: MaybeRefOrGetter<string[]>;
@@ -130,15 +99,11 @@ interface UsePdfViewerOptions {
130
99
  viewerApi: MaybeRefOrGetter<PdfViewerApi | undefined>;
131
100
  }
132
101
  export declare const usePdfViewer: ({ container, highlightTerms, pdfDocument, viewer, viewerApi }: UsePdfViewerOptions) => PdfViewerState;
133
- //#endregion
134
- //#region src/composables/usePdfZoomGesture.d.ts
135
102
  interface UsePdfZoomGestureOptions {
136
103
  container: MaybeRefOrGetter<HTMLDivElement | undefined>;
137
104
  getViewer: () => PDFViewer | undefined;
138
105
  }
139
106
  export declare const usePdfZoomGesture: ({ container, getViewer }: UsePdfZoomGestureOptions) => void;
140
- //#endregion
141
- //#region src/services/constants.d.ts
142
107
  export declare const PDF_MAX_CANVAS_AREA = 16777216;
143
108
  export declare const PDF_MIN_SCALE = .1;
144
109
  export declare const PDF_MAX_SCALE = 10;
@@ -150,11 +115,7 @@ export declare const PDF_PRINT_CLASS = "pdf-print";
150
115
  export declare const PDF_MIME_TYPE = "application/pdf";
151
116
  export declare const PDF_PRINT_STYLE: string;
152
117
  export declare const PDF_WHEEL_ZOOM_DIVISOR = 500;
153
- //#endregion
154
- //#region src/services/destroyLoadingTask.d.ts
155
118
  export declare const destroyLoadingTask: (task: PDFDocumentLoadingTask) => void;
156
- //#endregion
157
- //#region src/services/getCanvasScale.d.ts
158
119
  interface Props {
159
120
  cssWidth: number;
160
121
  pageHeight: number;
@@ -162,28 +123,17 @@ interface Props {
162
123
  pixelRatio: number;
163
124
  }
164
125
  export declare const getCanvasScale: ({ cssWidth, pageHeight, pageWidth, pixelRatio }: Props) => number;
165
- //#endregion
166
- //#region src/services/getSourceParameters.d.ts
167
126
  export declare const getSourceParameters: (source: PdfSource) => Promise<{
168
127
  data: Uint8Array;
169
128
  } | {
170
129
  url: string;
171
130
  }>;
172
- //#endregion
173
- //#region src/services/getZoomedScroll.d.ts
174
131
  export declare const getZoomedScroll: ({ point, ratio, scroll }: {
175
132
  point: number;
176
133
  ratio: number;
177
134
  scroll: number;
178
135
  }) => number;
179
- //#endregion
180
- //#region src/services/loadPdfDocument.d.ts
181
136
  export declare const loadPdfDocument: (renderer: PdfRenderer, source: PdfSource, parameters: PdfDocumentParameters) => Promise<PDFDocumentLoadingTask>;
182
- //#endregion
183
- //#region src/services/renderPrintImage.d.ts
184
137
  export declare const renderPrintImage: (pdfDocument: PDFDocumentProxy, pageNumber: number) => Promise<HTMLImageElement>;
185
- //#endregion
186
- //#region src/services/renderPrintSheets.d.ts
187
138
  export declare const renderPrintSheets: (pdfDocument: PDFDocumentProxy, checkIsCancelled: () => boolean) => Promise<HTMLDivElement | undefined>;
188
- //#endregion
189
139
  export {};
package/dist/index.js CHANGED
@@ -1,18 +1,16 @@
1
1
  import { downloadFile, getResultAsync, getSynchronizedFunction, noop } from "@esposter/shared";
2
2
  import { computed, effectScope, onScopeDispose, ref, shallowRef, toValue, watch } from "vue";
3
- //#region src/services/destroyLoadingTask.ts
3
+ // src/services/destroyLoadingTask.ts
4
4
  const destroyLoadingTask = getSynchronizedFunction(async (task) => {
5
5
  await task.destroy();
6
6
  });
7
- //#endregion
8
- //#region src/services/getSourceParameters.ts
7
+ // src/services/getSourceParameters.ts
9
8
  const getSourceParameters = async (source) => {
10
9
  if (typeof source === "string") return { url: source };
11
10
  if (source instanceof File) return { data: new Uint8Array(await source.arrayBuffer()) };
12
11
  return { data: new Uint8Array(source) };
13
12
  };
14
- //#endregion
15
- //#region src/services/loadPdfDocument.ts
13
+ // src/services/loadPdfDocument.ts
16
14
  const loadPdfDocument = async (renderer, source, parameters) => {
17
15
  renderer.api.GlobalWorkerOptions.workerSrc = renderer.workerSrc;
18
16
  const sourceParameters = await getSourceParameters(source);
@@ -25,8 +23,7 @@ const loadPdfDocument = async (renderer, source, parameters) => {
25
23
  ...sourceParameters
26
24
  });
27
25
  };
28
- //#endregion
29
- //#region src/composables/usePdfDocument.ts
26
+ // src/composables/usePdfDocument.ts
30
27
  const EMPTY_PROGRESS = {
31
28
  loaded: 0,
32
29
  total: 0
@@ -101,8 +98,7 @@ const usePdfDocument = ({ parameters = {}, renderer, source }) => {
101
98
  submitPassword
102
99
  };
103
100
  };
104
- //#endregion
105
- //#region src/services/constants.ts
101
+ // src/services/constants.ts
106
102
  const PDF_MAX_CANVAS_AREA = 16777216;
107
103
  const PDF_MIN_SCALE = .1;
108
104
  const PDF_MAX_SCALE = 10;
@@ -114,15 +110,13 @@ const PDF_PRINT_CLASS = "pdf-print";
114
110
  const PDF_MIME_TYPE = "application/pdf";
115
111
  const PDF_PRINT_STYLE = `@page { margin: 3mm } .${PDF_PRINT_CLASS} { display: none } .${PDF_PRINT_CLASS} img { display: block; page-break-after: always; width: 100% } @media print { .${PDF_PRINT_CLASS} { display: block } body > :not(.${PDF_PRINT_CLASS}) { display: none !important } }`;
116
112
  const PDF_WHEEL_ZOOM_DIVISOR = 500;
117
- //#endregion
118
- //#region src/services/getCanvasScale.ts
113
+ // src/services/getCanvasScale.ts
119
114
  const getCanvasScale = ({ cssWidth, pageHeight, pageWidth, pixelRatio }) => {
120
115
  const scale = cssWidth / pageWidth * pixelRatio;
121
116
  if (pageWidth * pageHeight * scale ** 2 <= 16777216) return scale;
122
117
  return Math.sqrt(PDF_MAX_CANVAS_AREA / (pageWidth * pageHeight));
123
118
  };
124
- //#endregion
125
- //#region src/composables/usePdfPage.ts
119
+ // src/composables/usePdfPage.ts
126
120
  const usePdfPage = ({ canvas, isVisible = true, pageNumber, pdfDocument }) => {
127
121
  let cssWidth = 0;
128
122
  let loadGeneration = 0;
@@ -196,8 +190,7 @@ const usePdfPage = ({ canvas, isVisible = true, pageNumber, pdfDocument }) => {
196
190
  cancelRender();
197
191
  });
198
192
  };
199
- //#endregion
200
- //#region src/composables/usePdfThumbnails.ts
193
+ // src/composables/usePdfThumbnails.ts
201
194
  const usePdfThumbnails = ({ currentPageNumber, pdfDocument, root }) => {
202
195
  const thumbnails = shallowRef([]);
203
196
  const rows = /* @__PURE__ */ new Map();
@@ -251,11 +244,9 @@ const usePdfThumbnails = ({ currentPageNumber, pdfDocument, root }) => {
251
244
  onScopeDispose(disposeThumbnails);
252
245
  return thumbnails;
253
246
  };
254
- //#endregion
255
- //#region src/services/getZoomedScroll.ts
247
+ // src/services/getZoomedScroll.ts
256
248
  const getZoomedScroll = ({ point, ratio, scroll }) => (scroll + point) * ratio - point;
257
- //#endregion
258
- //#region src/composables/usePdfZoomGesture.ts
249
+ // src/composables/usePdfZoomGesture.ts
259
250
  const usePdfZoomGesture = ({ container, getViewer }) => {
260
251
  const abortController = new AbortController();
261
252
  const pointers = /* @__PURE__ */ new Map();
@@ -351,8 +342,7 @@ const usePdfZoomGesture = ({ container, getViewer }) => {
351
342
  abortController.abort();
352
343
  });
353
344
  };
354
- //#endregion
355
- //#region src/services/renderPrintImage.ts
345
+ // src/services/renderPrintImage.ts
356
346
  const renderPrintImage = async (pdfDocument, pageNumber) => {
357
347
  const page = await pdfDocument.getPage(pageNumber);
358
348
  const { height, width } = page.getViewport({ scale: 1 });
@@ -374,8 +364,7 @@ const renderPrintImage = async (pdfDocument, pageNumber) => {
374
364
  image.src = canvas.toDataURL("image/png");
375
365
  return image;
376
366
  };
377
- //#endregion
378
- //#region src/services/renderPrintSheets.ts
367
+ // src/services/renderPrintSheets.ts
379
368
  const renderPrintSheets = async (pdfDocument, checkIsCancelled) => {
380
369
  const style = window.document.createElement("style");
381
370
  style.textContent = PDF_PRINT_STYLE;
@@ -392,8 +381,7 @@ const renderPrintSheets = async (pdfDocument, checkIsCancelled) => {
392
381
  await renderBatch(1);
393
382
  return checkIsCancelled() ? void 0 : printRoot;
394
383
  };
395
- //#endregion
396
- //#region src/composables/usePdfViewer.ts
384
+ // src/composables/usePdfViewer.ts
397
385
  const usePdfViewer = ({ container, highlightTerms = [], pdfDocument, viewer, viewerApi }) => {
398
386
  const currentPageNumber = ref(0);
399
387
  const isFullscreen = ref(false);
@@ -663,5 +651,4 @@ const usePdfViewer = ({ container, highlightTerms = [], pdfDocument, viewer, vie
663
651
  zoomOut
664
652
  };
665
653
  };
666
- //#endregion
667
654
  export { PDF_FULL_TURN, PDF_MAX_CANVAS_AREA, PDF_MAX_SCALE, PDF_MIME_TYPE, PDF_MIN_SCALE, PDF_PRINT_BATCH_SIZE, PDF_PRINT_CLASS, PDF_PRINT_SCALE, PDF_PRINT_STYLE, PDF_ROTATION_STEP, PDF_WHEEL_ZOOM_DIVISOR, destroyLoadingTask, getCanvasScale, getSourceParameters, getZoomedScroll, loadPdfDocument, renderPrintImage, renderPrintSheets, usePdfDocument, usePdfPage, usePdfThumbnails, usePdfViewer, usePdfZoomGesture };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-pdfjs-headless",
3
- "version": "4.3.1",
3
+ "version": "4.3.3",
4
4
  "description": "Headless Vue composables over pdfjs-dist: a document's loading, a page's drawing and the viewer's state, with no styling and no renderer of its own.",
5
5
  "keywords": [
6
6
  "headless",
@@ -46,10 +46,10 @@
46
46
  "typecheck": "tsc"
47
47
  },
48
48
  "dependencies": {
49
- "@esposter/shared": "4.3.1"
49
+ "@esposter/shared": "4.3.3"
50
50
  },
51
51
  "devDependencies": {
52
- "@esposter/configuration": "4.3.1",
52
+ "@esposter/configuration": "4.3.3",
53
53
  "@vue/test-utils": "^2.5.1",
54
54
  "happy-dom": "^21.0.4",
55
55
  "tsdown": "^0.23.1"
@@ -58,5 +58,5 @@
58
58
  "pdfjs-dist": "^6.4.299",
59
59
  "vue": "^3.5.44"
60
60
  },
61
- "gitHead": "777a39636b789c13af33ed13370246ccf6dbaf31"
61
+ "gitHead": "955bbc130ad9b28877fd4ae8efc73a045141ce01"
62
62
  }