@embedpdf/engines 1.0.4 → 1.0.5

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
@@ -1,4 +1,4 @@
1
- import { SearchTarget, PdfImage, PdfEngine, Logger, Task, PdfErrorReason, PdfFileUrl, PdfUrlOptions, PdfDocumentObject, PdfFile, PdfFileLoader, PdfSignatureObject, PdfBookmarkObject, PdfPageObject, Rotation, PdfRenderOptions, PdfTask, Rect, PdfAnnotationObject, PdfAnnotationTransformation, PdfTextRectObject, PdfAttachmentObject, PdfWidgetAnnoObject, FormFieldValue, PdfPageFlattenFlag, PdfPageFlattenResult, PdfInkListObject, PdfStampAnnoObjectContents, Position, PdfPageGeometry, PdfGlyphObject, MatchFlag, SearchAllPagesResult, PdfEngineMethodName, PdfEngineMethodArgs, TaskReturn, PdfEngineMethodReturnType, PdfMetadataObject, PdfBookmarksObject } from '@embedpdf/models';
1
+ import { SearchTarget, PdfImage, ImageConversionTypes, PdfEngine, Logger, Task, PdfErrorReason, PdfFileUrl, PdfUrlOptions, PdfDocumentObject, PdfFile, PdfFileLoader, PdfSignatureObject, PdfBookmarkObject, PdfPageObject, Rotation, PdfRenderOptions, PdfTask, Rect, PdfAnnotationObject, PdfAnnotationTransformation, PdfTextRectObject, PdfAttachmentObject, PdfWidgetAnnoObject, FormFieldValue, PdfPageFlattenFlag, PdfPageFlattenResult, PdfInkListObject, PdfStampAnnoObjectContents, Position, PdfPageGeometry, PdfGlyphObject, MatchFlag, SearchAllPagesResult, PdfEngineMethodName, PdfEngineMethodArgs, TaskReturn, PdfEngineMethodReturnType, PdfMetadataObject, PdfBookmarksObject } from '@embedpdf/models';
2
2
  import { WrappedPdfiumModule, PdfiumRuntimeMethods, PdfiumModule } from '@embedpdf/pdfium';
3
3
 
4
4
  /**
@@ -61,7 +61,7 @@ declare enum PdfiumErrorCode {
61
61
  * In browser: uses OffscreenCanvas
62
62
  * In Node.js: can use Sharp or other image processing libraries
63
63
  */
64
- type ImageDataConverter<T = Blob> = (imageData: PdfImage) => Promise<T>;
64
+ type ImageDataConverter<T = Blob> = (imageData: PdfImage, imageType?: ImageConversionTypes) => Promise<T>;
65
65
  declare const browserImageDataToBlobConverter: ImageDataConverter<Blob>;
66
66
  /**
67
67
  * Pdf engine that based on pdfium wasm
@@ -183,13 +183,13 @@ declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
183
183
  *
184
184
  * @public
185
185
  */
186
- renderPage(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor?: number, rotation?: Rotation, dpr?: number, options?: PdfRenderOptions): PdfTask<T>;
186
+ renderPage(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor?: number, rotation?: Rotation, dpr?: number, options?: PdfRenderOptions, imageType?: ImageConversionTypes): PdfTask<T>;
187
187
  /**
188
188
  * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}
189
189
  *
190
190
  * @public
191
191
  */
192
- renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions): PdfTask<T>;
192
+ renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions, imageType?: ImageConversionTypes): PdfTask<T>;
193
193
  /**
194
194
  * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
195
195
  *
@@ -1334,13 +1334,13 @@ declare class WebWorkerEngine implements PdfEngine {
1334
1334
  *
1335
1335
  * @public
1336
1336
  */
1337
- renderPage(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, options: PdfRenderOptions): WorkerTask<Blob>;
1337
+ renderPage(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, options: PdfRenderOptions, imageType?: ImageConversionTypes): WorkerTask<Blob>;
1338
1338
  /**
1339
1339
  * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}
1340
1340
  *
1341
1341
  * @public
1342
1342
  */
1343
- renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions): WorkerTask<Blob>;
1343
+ renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions, imageType?: ImageConversionTypes): WorkerTask<Blob>;
1344
1344
  /**
1345
1345
  * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
1346
1346
  *
package/dist/index.js CHANGED
@@ -265,7 +265,7 @@ var PdfiumErrorCode;
265
265
  PdfiumErrorCode[PdfiumErrorCode["XFALoad"] = 7] = "XFALoad";
266
266
  PdfiumErrorCode[PdfiumErrorCode["XFALayout"] = 8] = "XFALayout";
267
267
  })(PdfiumErrorCode || (PdfiumErrorCode = {}));
268
- const browserImageDataToBlobConverter = (pdfImageData) => {
268
+ const browserImageDataToBlobConverter = (pdfImageData, imageType = 'image/webp') => {
269
269
  // Check if we're in a browser environment
270
270
  if (typeof OffscreenCanvas === 'undefined') {
271
271
  throw new Error('OffscreenCanvas is not available in this environment. ' +
@@ -275,7 +275,7 @@ const browserImageDataToBlobConverter = (pdfImageData) => {
275
275
  const imageData = new ImageData(pdfImageData.data, pdfImageData.width, pdfImageData.height);
276
276
  const off = new OffscreenCanvas(imageData.width, imageData.height);
277
277
  off.getContext('2d').putImageData(imageData, 0, 0);
278
- return off.convertToBlob({ type: 'image/webp' });
278
+ return off.convertToBlob({ type: imageType });
279
279
  };
280
280
  /**
281
281
  * Pdf engine that based on pdfium wasm
@@ -781,7 +781,7 @@ class PdfiumEngine {
781
781
  *
782
782
  * @public
783
783
  */
784
- renderPage(doc, page, scaleFactor = 1, rotation = Rotation.Degree0, dpr = 1, options = { withAnnotations: false }) {
784
+ renderPage(doc, page, scaleFactor = 1, rotation = Rotation.Degree0, dpr = 1, options = { withAnnotations: false }, imageType = 'image/webp') {
785
785
  const task = new Task();
786
786
  this.logger.debug(LOG_SOURCE$2, LOG_CATEGORY$2, 'renderPage', doc, page, scaleFactor, rotation, dpr, options);
787
787
  this.logger.perf(LOG_SOURCE$2, LOG_CATEGORY$2, `RenderPage`, 'Begin', `${doc.id}-${page.index}`);
@@ -798,7 +798,7 @@ class PdfiumEngine {
798
798
  size: page.size,
799
799
  }, scaleFactor, rotation, dpr, options);
800
800
  this.logger.perf(LOG_SOURCE$2, LOG_CATEGORY$2, `RenderPage`, 'End', `${doc.id}-${page.index}`);
801
- this.imageDataConverter(imageData).then((blob) => task.resolve(blob));
801
+ this.imageDataConverter(imageData, imageType).then((blob) => task.resolve(blob));
802
802
  return task;
803
803
  }
804
804
  /**
@@ -806,7 +806,7 @@ class PdfiumEngine {
806
806
  *
807
807
  * @public
808
808
  */
809
- renderPageRect(doc, page, scaleFactor, rotation, dpr, rect, options) {
809
+ renderPageRect(doc, page, scaleFactor, rotation, dpr, rect, options, imageType = 'image/webp') {
810
810
  const task = new Task();
811
811
  this.logger.debug(LOG_SOURCE$2, LOG_CATEGORY$2, 'renderPageRect', doc, page, scaleFactor, rotation, dpr, rect, options);
812
812
  this.logger.perf(LOG_SOURCE$2, LOG_CATEGORY$2, `RenderPageRect`, 'Begin', `${doc.id}-${page.index}`);
@@ -820,7 +820,7 @@ class PdfiumEngine {
820
820
  }
821
821
  const imageData = this.renderPageRectToImageData(ctx, page, rect, scaleFactor, rotation, dpr, options);
822
822
  this.logger.perf(LOG_SOURCE$2, LOG_CATEGORY$2, `RenderPageRect`, 'End', `${doc.id}-${page.index}`);
823
- this.imageDataConverter(imageData).then((blob) => task.resolve(blob));
823
+ this.imageDataConverter(imageData, imageType).then((blob) => task.resolve(blob));
824
824
  return task;
825
825
  }
826
826
  /**
@@ -4600,7 +4600,7 @@ class WebWorkerEngine {
4600
4600
  *
4601
4601
  * @public
4602
4602
  */
4603
- renderPage(doc, page, scaleFactor, rotation, dpr, options) {
4603
+ renderPage(doc, page, scaleFactor, rotation, dpr, options, imageType = 'image/webp') {
4604
4604
  this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderPage', doc, page, scaleFactor, rotation, dpr, options);
4605
4605
  const requestId = this.generateRequestId(doc.id);
4606
4606
  const task = new WorkerTask(this.worker, requestId);
@@ -4609,7 +4609,7 @@ class WebWorkerEngine {
4609
4609
  type: 'ExecuteRequest',
4610
4610
  data: {
4611
4611
  name: 'renderPage',
4612
- args: [doc, page, scaleFactor, rotation, dpr, options],
4612
+ args: [doc, page, scaleFactor, rotation, dpr, options, imageType],
4613
4613
  },
4614
4614
  };
4615
4615
  this.proxy(task, request);
@@ -4620,7 +4620,7 @@ class WebWorkerEngine {
4620
4620
  *
4621
4621
  * @public
4622
4622
  */
4623
- renderPageRect(doc, page, scaleFactor, rotation, dpr, rect, options) {
4623
+ renderPageRect(doc, page, scaleFactor, rotation, dpr, rect, options, imageType = 'image/webp') {
4624
4624
  this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderPageRect', doc, page, scaleFactor, rotation, dpr, rect, options);
4625
4625
  const requestId = this.generateRequestId(doc.id);
4626
4626
  const task = new WorkerTask(this.worker, requestId);
@@ -4629,7 +4629,7 @@ class WebWorkerEngine {
4629
4629
  type: 'ExecuteRequest',
4630
4630
  data: {
4631
4631
  name: 'renderPageRect',
4632
- args: [doc, page, scaleFactor, rotation, dpr, rect, options],
4632
+ args: [doc, page, scaleFactor, rotation, dpr, rect, options, imageType],
4633
4633
  },
4634
4634
  };
4635
4635
  this.proxy(task, request);