@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/converters.cjs +10 -29
- package/dist/converters.cjs.map +1 -1
- package/dist/converters.d.ts +6 -12
- package/dist/converters.js +11 -29
- package/dist/converters.js.map +1 -1
- package/dist/index.cjs +10 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/pdfium-direct-engine.cjs +6 -6
- package/dist/pdfium-direct-engine.cjs.map +1 -1
- package/dist/pdfium-direct-engine.d.ts +4 -4
- package/dist/pdfium-direct-engine.js +6 -6
- package/dist/pdfium-direct-engine.js.map +1 -1
- package/dist/pdfium-worker-engine.cjs +5 -5
- package/dist/pdfium-worker-engine.cjs.map +1 -1
- package/dist/pdfium-worker-engine.d.ts +3 -3
- package/dist/pdfium-worker-engine.js +5 -5
- package/dist/pdfium-worker-engine.js.map +1 -1
- package/dist/pdfium.cjs +6 -6
- package/dist/pdfium.cjs.map +1 -1
- package/dist/pdfium.d.ts +4 -4
- package/dist/pdfium.js +6 -6
- package/dist/pdfium.js.map +1 -1
- package/dist/worker.cjs +4 -4
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.ts +3 -3
- package/dist/worker.js +4 -4
- package/dist/worker.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { 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, PdfImage } from '@embedpdf/models';
|
|
1
|
+
import { PdfEngine, Logger, Task, PdfErrorReason, PdfFileUrl, PdfUrlOptions, PdfDocumentObject, PdfFile, PdfFileLoader, PdfSignatureObject, PdfBookmarkObject, PdfPageObject, Rotation, PdfRenderOptions, ImageConversionTypes, PdfTask, Rect, PdfAnnotationObject, PdfAnnotationTransformation, PdfTextRectObject, PdfAttachmentObject, PdfWidgetAnnoObject, FormFieldValue, PdfPageFlattenFlag, PdfPageFlattenResult, PdfInkListObject, PdfStampAnnoObjectContents, Position, PdfPageGeometry, PdfGlyphObject, MatchFlag, SearchAllPagesResult, PdfImage } from '@embedpdf/models';
|
|
2
2
|
import { WrappedPdfiumModule } from '@embedpdf/pdfium';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -6,7 +6,7 @@ import { WrappedPdfiumModule } from '@embedpdf/pdfium';
|
|
|
6
6
|
* In browser: uses OffscreenCanvas
|
|
7
7
|
* In Node.js: can use Sharp or other image processing libraries
|
|
8
8
|
*/
|
|
9
|
-
type ImageDataConverter<T = Blob> = (imageData: PdfImage) => Promise<T>;
|
|
9
|
+
type ImageDataConverter<T = Blob> = (imageData: PdfImage, imageType?: ImageConversionTypes) => Promise<T>;
|
|
10
10
|
/**
|
|
11
11
|
* Pdf engine that based on pdfium wasm
|
|
12
12
|
*/
|
|
@@ -127,13 +127,13 @@ declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
127
127
|
*
|
|
128
128
|
* @public
|
|
129
129
|
*/
|
|
130
|
-
renderPage(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor?: number, rotation?: Rotation, dpr?: number, options?: PdfRenderOptions): PdfTask<T>;
|
|
130
|
+
renderPage(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor?: number, rotation?: Rotation, dpr?: number, options?: PdfRenderOptions, imageType?: ImageConversionTypes): PdfTask<T>;
|
|
131
131
|
/**
|
|
132
132
|
* {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}
|
|
133
133
|
*
|
|
134
134
|
* @public
|
|
135
135
|
*/
|
|
136
|
-
renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions): PdfTask<T>;
|
|
136
|
+
renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions, imageType?: ImageConversionTypes): PdfTask<T>;
|
|
137
137
|
/**
|
|
138
138
|
* {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
|
|
139
139
|
*
|
|
@@ -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:
|
|
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, LOG_CATEGORY, 'renderPage', doc, page, scaleFactor, rotation, dpr, options);
|
|
787
787
|
this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `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, LOG_CATEGORY, `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, LOG_CATEGORY, 'renderPageRect', doc, page, scaleFactor, rotation, dpr, rect, options);
|
|
812
812
|
this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `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, LOG_CATEGORY, `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
|
/**
|