unpdf 0.10.0 → 0.10.1

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/README.md CHANGED
@@ -194,7 +194,7 @@ await writeFile("dummy-page-1.png", Buffer.from(result));
194
194
 
195
195
  ```ts
196
196
  declare function renderPageAsImage(
197
- data: BinaryData | PDFDocumentProxy,
197
+ data: BinaryData,
198
198
  pageNumber: number,
199
199
  options?: {
200
200
  canvas?: () => Promise<typeof import("canvas")>;
package/dist/index.cjs CHANGED
@@ -26,12 +26,10 @@ async function resolvePDFJSImports(pdfjsResolver, { force = false } = {}) {
26
26
  }
27
27
  if (pdfjsResolver) {
28
28
  try {
29
- const _import = await pdfjsResolver();
30
- if ("resolvePDFJS" in _import) {
31
- resolvedModule = await _import.resolvePDFJS();
32
- return;
29
+ resolvedModule = await interopDefault(pdfjsResolver());
30
+ if (resolvedModule && "resolvePDFJS" in resolvedModule) {
31
+ resolvedModule = await resolvedModule.resolvePDFJS();
33
32
  }
34
- resolvedModule = _import.default || _import;
35
33
  return;
36
34
  } catch {
37
35
  throw new Error(
@@ -51,6 +49,10 @@ async function resolvePDFJSImports(pdfjsResolver, { force = false } = {}) {
51
49
  function isPDFDocumentProxy(data) {
52
50
  return typeof data === "object" && data !== null && "_pdfInfo" in data;
53
51
  }
52
+ async function interopDefault(m) {
53
+ const resolved = await m;
54
+ return resolved.default || resolved;
55
+ }
54
56
 
55
57
  async function getMeta$1(data) {
56
58
  const pdf = isPDFDocumentProxy(data) ? data : await getDocumentProxy(data);
@@ -106,7 +108,8 @@ async function extractImages$1(data, pageNumber) {
106
108
  return images;
107
109
  }
108
110
  async function renderPageAsImage$1(data, pageNumber, options = {}) {
109
- const pdf = isPDFDocumentProxy(data) ? data : await getDocumentProxy(data);
111
+ const canvasFactory = await createIsomorphicCanvasFactory(options.canvas);
112
+ const pdf = await getDocumentProxy(data, { canvasFactory });
110
113
  const page = await pdf.getPage(pageNumber);
111
114
  if (pageNumber < 1 || pageNumber > pdf.numPages) {
112
115
  throw new Error(
@@ -123,7 +126,6 @@ async function renderPageAsImage$1(data, pageNumber, options = {}) {
123
126
  if (outputScale !== 1 && outputScale > 0) {
124
127
  viewport = page.getViewport({ scale: outputScale });
125
128
  }
126
- const canvasFactory = await createIsomorphicCanvasFactory(options.canvas);
127
129
  const ctx = canvasFactory.create(viewport.width, viewport.height);
128
130
  await page.render({
129
131
  canvasContext: ctx.context,
@@ -134,7 +136,7 @@ async function renderPageAsImage$1(data, pageNumber, options = {}) {
134
136
  return await response.arrayBuffer();
135
137
  }
136
138
  async function createIsomorphicCanvasFactory(canvas) {
137
- const _canvas = await canvas?.();
139
+ const _canvas = canvas ? await interopDefault(canvas()) : void 0;
138
140
  return {
139
141
  _createCanvas(width, height) {
140
142
  if (isBrowser) {
package/dist/index.d.cts CHANGED
@@ -15,7 +15,7 @@ declare function extractText$1(data: BinaryData | PDFDocumentProxy, options?: {
15
15
  }>;
16
16
 
17
17
  declare function extractImages$1(data: BinaryData | PDFDocumentProxy, pageNumber: number): Promise<Uint8ClampedArray[]>;
18
- declare function renderPageAsImage$1(data: BinaryData | PDFDocumentProxy, pageNumber: number, options?: {
18
+ declare function renderPageAsImage$1(data: BinaryData, pageNumber: number, options?: {
19
19
  canvas?: () => Promise<typeof canvas>;
20
20
  /** @default 1 */
21
21
  scale?: number;
package/dist/index.d.mts CHANGED
@@ -15,7 +15,7 @@ declare function extractText$1(data: BinaryData | PDFDocumentProxy, options?: {
15
15
  }>;
16
16
 
17
17
  declare function extractImages$1(data: BinaryData | PDFDocumentProxy, pageNumber: number): Promise<Uint8ClampedArray[]>;
18
- declare function renderPageAsImage$1(data: BinaryData | PDFDocumentProxy, pageNumber: number, options?: {
18
+ declare function renderPageAsImage$1(data: BinaryData, pageNumber: number, options?: {
19
19
  canvas?: () => Promise<typeof canvas>;
20
20
  /** @default 1 */
21
21
  scale?: number;
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ declare function extractText$1(data: BinaryData | PDFDocumentProxy, options?: {
15
15
  }>;
16
16
 
17
17
  declare function extractImages$1(data: BinaryData | PDFDocumentProxy, pageNumber: number): Promise<Uint8ClampedArray[]>;
18
- declare function renderPageAsImage$1(data: BinaryData | PDFDocumentProxy, pageNumber: number, options?: {
18
+ declare function renderPageAsImage$1(data: BinaryData, pageNumber: number, options?: {
19
19
  canvas?: () => Promise<typeof canvas>;
20
20
  /** @default 1 */
21
21
  scale?: number;
package/dist/index.mjs CHANGED
@@ -24,12 +24,10 @@ async function resolvePDFJSImports(pdfjsResolver, { force = false } = {}) {
24
24
  }
25
25
  if (pdfjsResolver) {
26
26
  try {
27
- const _import = await pdfjsResolver();
28
- if ("resolvePDFJS" in _import) {
29
- resolvedModule = await _import.resolvePDFJS();
30
- return;
27
+ resolvedModule = await interopDefault(pdfjsResolver());
28
+ if (resolvedModule && "resolvePDFJS" in resolvedModule) {
29
+ resolvedModule = await resolvedModule.resolvePDFJS();
31
30
  }
32
- resolvedModule = _import.default || _import;
33
31
  return;
34
32
  } catch {
35
33
  throw new Error(
@@ -49,6 +47,10 @@ async function resolvePDFJSImports(pdfjsResolver, { force = false } = {}) {
49
47
  function isPDFDocumentProxy(data) {
50
48
  return typeof data === "object" && data !== null && "_pdfInfo" in data;
51
49
  }
50
+ async function interopDefault(m) {
51
+ const resolved = await m;
52
+ return resolved.default || resolved;
53
+ }
52
54
 
53
55
  async function getMeta$1(data) {
54
56
  const pdf = isPDFDocumentProxy(data) ? data : await getDocumentProxy(data);
@@ -104,7 +106,8 @@ async function extractImages$1(data, pageNumber) {
104
106
  return images;
105
107
  }
106
108
  async function renderPageAsImage$1(data, pageNumber, options = {}) {
107
- const pdf = isPDFDocumentProxy(data) ? data : await getDocumentProxy(data);
109
+ const canvasFactory = await createIsomorphicCanvasFactory(options.canvas);
110
+ const pdf = await getDocumentProxy(data, { canvasFactory });
108
111
  const page = await pdf.getPage(pageNumber);
109
112
  if (pageNumber < 1 || pageNumber > pdf.numPages) {
110
113
  throw new Error(
@@ -121,7 +124,6 @@ async function renderPageAsImage$1(data, pageNumber, options = {}) {
121
124
  if (outputScale !== 1 && outputScale > 0) {
122
125
  viewport = page.getViewport({ scale: outputScale });
123
126
  }
124
- const canvasFactory = await createIsomorphicCanvasFactory(options.canvas);
125
127
  const ctx = canvasFactory.create(viewport.width, viewport.height);
126
128
  await page.render({
127
129
  canvasContext: ctx.context,
@@ -132,7 +134,7 @@ async function renderPageAsImage$1(data, pageNumber, options = {}) {
132
134
  return await response.arrayBuffer();
133
135
  }
134
136
  async function createIsomorphicCanvasFactory(canvas) {
135
- const _canvas = await canvas?.();
137
+ const _canvas = canvas ? await interopDefault(canvas()) : void 0;
136
138
  return {
137
139
  _createCanvas(width, height) {
138
140
  if (isBrowser) {