@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/pdfium.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 } 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 } 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
  *
package/dist/pdfium.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$1, LOG_CATEGORY$1, 'renderPage', doc, page, scaleFactor, rotation, dpr, options);
787
787
  this.logger.perf(LOG_SOURCE$1, LOG_CATEGORY$1, `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$1, LOG_CATEGORY$1, `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$1, LOG_CATEGORY$1, 'renderPageRect', doc, page, scaleFactor, rotation, dpr, rect, options);
812
812
  this.logger.perf(LOG_SOURCE$1, LOG_CATEGORY$1, `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$1, LOG_CATEGORY$1, `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
  /**