@embedpdf/models 2.0.0-next.1 → 2.0.0-next.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/logger.d.ts CHANGED
@@ -147,6 +147,7 @@ export declare class LevelLogger implements Logger {
147
147
  * @public
148
148
  */
149
149
  export declare class PerfLogger implements Logger {
150
+ private marks;
150
151
  /**
151
152
  * create new PerfLogger
152
153
  */
package/dist/pdf.d.ts CHANGED
@@ -352,6 +352,18 @@ export type PdfImage = {
352
352
  width: number;
353
353
  height: number;
354
354
  };
355
+ /**
356
+ * Image data type that matches both browser's ImageData and plain objects.
357
+ * Used for raw rendering output that may include colorSpace from browser APIs.
358
+ *
359
+ * @public
360
+ */
361
+ export type ImageDataLike = {
362
+ data: Uint8ClampedArray<ArrayBuffer>;
363
+ width: number;
364
+ height: number;
365
+ colorSpace?: PredefinedColorSpace;
366
+ };
355
367
  /**
356
368
  * Representation of pdf action
357
369
  *
@@ -2051,7 +2063,7 @@ export interface PdfFileLoader extends PdfFileWithoutContent {
2051
2063
  }
2052
2064
  export interface PdfAnnotationsProgress {
2053
2065
  page: number;
2054
- annotations: PdfAnnotationObject[];
2066
+ result: PdfAnnotationObject[];
2055
2067
  }
2056
2068
  /**
2057
2069
  * Progress of search all pages
@@ -2598,6 +2610,75 @@ export interface PdfEngine<T = Blob> {
2598
2610
  * @public
2599
2611
  */
2600
2612
  export type PdfEngineMethodName = keyof Required<PdfEngine>;
2613
+ /**
2614
+ * Progress info for batch operations
2615
+ * Emitted per-page as the batch is processed
2616
+ *
2617
+ * @public
2618
+ */
2619
+ export interface BatchProgress<T> {
2620
+ /** Index of the page that was just processed */
2621
+ pageIndex: number;
2622
+ /** Result for this page */
2623
+ result: T;
2624
+ /** Number of pages completed so far */
2625
+ completed: number;
2626
+ /** Total number of pages in this batch */
2627
+ total: number;
2628
+ }
2629
+ /**
2630
+ * Executor interface for PDFium implementations.
2631
+ * Can be either PdfiumNative (direct) or RemoteExecutor (worker proxy).
2632
+ *
2633
+ * @public
2634
+ */
2635
+ export interface IPdfiumExecutor {
2636
+ initialize(): void;
2637
+ destroy(): void;
2638
+ openDocumentBuffer(file: PdfFile, options?: PdfOpenDocumentBufferOptions): PdfTask<PdfDocumentObject>;
2639
+ getMetadata(doc: PdfDocumentObject): PdfTask<PdfMetadataObject>;
2640
+ setMetadata(doc: PdfDocumentObject, metadata: Partial<PdfMetadataObject>): PdfTask<boolean>;
2641
+ getDocPermissions(doc: PdfDocumentObject): PdfTask<number>;
2642
+ getDocUserPermissions(doc: PdfDocumentObject): PdfTask<number>;
2643
+ getSignatures(doc: PdfDocumentObject): PdfTask<PdfSignatureObject[]>;
2644
+ getBookmarks(doc: PdfDocumentObject): PdfTask<PdfBookmarksObject>;
2645
+ setBookmarks(doc: PdfDocumentObject, bookmarks: PdfBookmarkObject[]): PdfTask<boolean>;
2646
+ deleteBookmarks(doc: PdfDocumentObject): PdfTask<boolean>;
2647
+ renderPageRaw(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderPageOptions): PdfTask<ImageDataLike>;
2648
+ renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, rect: Rect, options?: PdfRenderPageOptions): PdfTask<ImageDataLike>;
2649
+ renderThumbnailRaw(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderThumbnailOptions): PdfTask<ImageDataLike>;
2650
+ renderPageAnnotationRaw(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject, options?: PdfRenderPageAnnotationOptions): PdfTask<ImageDataLike>;
2651
+ getPageAnnotationsRaw(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfAnnotationObject[]>;
2652
+ getPageAnnotations(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfAnnotationObject[]>;
2653
+ createPageAnnotation<A extends PdfAnnotationObject>(doc: PdfDocumentObject, page: PdfPageObject, annotation: A, context?: AnnotationCreateContext<A>): PdfTask<string>;
2654
+ updatePageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
2655
+ removePageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
2656
+ getPageTextRects(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfTextRectObject[]>;
2657
+ searchInPage(doc: PdfDocumentObject, page: PdfPageObject, keyword: string, flags: number): PdfTask<SearchResult[]>;
2658
+ getAnnotationsBatch(doc: PdfDocumentObject, pages: PdfPageObject[]): PdfTask<Record<number, PdfAnnotationObject[]>, BatchProgress<PdfAnnotationObject[]>>;
2659
+ searchBatch(doc: PdfDocumentObject, pages: PdfPageObject[], keyword: string, flags: number): PdfTask<Record<number, SearchResult[]>, BatchProgress<SearchResult[]>>;
2660
+ getAttachments(doc: PdfDocumentObject): PdfTask<PdfAttachmentObject[]>;
2661
+ addAttachment(doc: PdfDocumentObject, params: PdfAddAttachmentParams): PdfTask<boolean>;
2662
+ removeAttachment(doc: PdfDocumentObject, attachment: PdfAttachmentObject): PdfTask<boolean>;
2663
+ readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject): PdfTask<ArrayBuffer>;
2664
+ setFormFieldValue(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, value: FormFieldValue): PdfTask<boolean>;
2665
+ flattenPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfFlattenPageOptions): PdfTask<PdfPageFlattenResult>;
2666
+ extractPages(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<ArrayBuffer>;
2667
+ extractText(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<string>;
2668
+ redactTextInRects(doc: PdfDocumentObject, page: PdfPageObject, rects: Rect[], options?: PdfRedactTextOptions): PdfTask<boolean>;
2669
+ getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]): PdfTask<string[]>;
2670
+ getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfGlyphObject[]>;
2671
+ getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfPageGeometry>;
2672
+ merge(files: PdfFile[]): PdfTask<PdfFile>;
2673
+ mergePages(mergeConfigs: Array<{
2674
+ docId: string;
2675
+ pageIndices: number[];
2676
+ }>): PdfTask<PdfFile>;
2677
+ preparePrintDocument(doc: PdfDocumentObject, options?: PdfPrintOptions): PdfTask<ArrayBuffer>;
2678
+ saveAsCopy(doc: PdfDocumentObject): PdfTask<ArrayBuffer>;
2679
+ closeDocument(doc: PdfDocumentObject): PdfTask<boolean>;
2680
+ closeAllDocuments(): PdfTask<boolean>;
2681
+ }
2601
2682
  /**
2602
2683
  * Arguments of PdfEngine method
2603
2684
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embedpdf/models",
3
- "version": "2.0.0-next.1",
3
+ "version": "2.0.0-next.3",
4
4
  "private": false,
5
5
  "description": "Shared type definitions, data models, and utility helpers (geometry, tasks, logging, PDF primitives) that underpin every package in the EmbedPDF ecosystem.",
6
6
  "type": "module",