@embedpdf/engines 1.0.12 → 1.0.14
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/engine-1ZSXSAtm.cjs +2 -0
- package/dist/engine-1ZSXSAtm.cjs.map +1 -0
- package/dist/{engine-M0_XZhss.js → engine-O49988D4.js} +716 -189
- package/dist/engine-O49988D4.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/pdfium/engine.d.ts +180 -29
- package/dist/lib/pdfium/index.cjs +1 -1
- package/dist/lib/pdfium/index.js +2 -2
- package/dist/lib/pdfium/web/direct-engine.cjs +1 -1
- package/dist/lib/pdfium/web/direct-engine.js +1 -1
- package/dist/lib/pdfium/web/worker-engine.cjs +1 -1
- package/dist/lib/pdfium/web/worker-engine.js +1 -1
- package/dist/lib/webworker/engine.cjs +1 -1
- package/dist/lib/webworker/engine.cjs.map +1 -1
- package/dist/lib/webworker/engine.d.ts +1 -2
- package/dist/lib/webworker/engine.js +1 -16
- package/dist/lib/webworker/engine.js.map +1 -1
- package/dist/preact/index.cjs +1 -1
- package/dist/preact/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +1 -1
- package/dist/runner-Br_PKNmU.cjs +2 -0
- package/dist/{runner-BcS-WEof.cjs.map → runner-Br_PKNmU.cjs.map} +1 -1
- package/dist/{runner-DUp_7Uu_.js → runner-CABEqeFp.js} +2 -5
- package/dist/{runner-DUp_7Uu_.js.map → runner-CABEqeFp.js.map} +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.js +1 -1
- package/package.json +3 -3
- package/dist/engine-B7CS6Qyp.cjs +0 -2
- package/dist/engine-B7CS6Qyp.cjs.map +0 -1
- package/dist/engine-M0_XZhss.js.map +0 -1
- package/dist/runner-BcS-WEof.cjs +0 -2
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./engine-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./engine-1ZSXSAtm.cjs"),r=require("./runner-Br_PKNmU.cjs"),t=require("./lib/webworker/engine.cjs"),n=require("@embedpdf/models");exports.BitmapFormat=e.BitmapFormat,exports.PdfiumEngine=e.PdfiumEngine,exports.PdfiumErrorCode=e.PdfiumErrorCode,exports.RenderFlag=e.RenderFlag,exports.browserImageDataToBlobConverter=e.browserImageDataToBlobConverter,exports.readArrayBuffer=e.readArrayBuffer,exports.readString=e.readString,exports.EngineRunner=r.EngineRunner,exports.PdfiumEngineRunner=r.PdfiumEngineRunner,exports.WebWorkerEngine=t.WebWorkerEngine,exports.WorkerTask=t.WorkerTask,exports.createMockPdfDocument=function(e){const r=[];for(let t=0;t<10;t++)r.push({index:t,size:{width:100,height:200}});return{id:"id",pageCount:10,pages:r,...e}},exports.createMockPdfEngine=function(e){return{openDocumentUrl:jest.fn(((e,r)=>n.PdfTaskHelper.create())),openDocumentFromBuffer:jest.fn(((e,r)=>n.PdfTaskHelper.create())),openDocumentFromLoader:jest.fn(((e,r)=>n.PdfTaskHelper.create())),getMetadata:()=>n.PdfTaskHelper.resolve({title:"title",author:"author",subject:"subject",keywords:"keywords",producer:"producer",creator:"creator",creationDate:"creationDate",modificationDate:"modificationDate"}),getDocPermissions:e=>n.PdfTaskHelper.resolve(4294967295),getDocUserPermissions:e=>n.PdfTaskHelper.resolve(4294967295),getSignatures:e=>n.PdfTaskHelper.resolve([]),getBookmarks:e=>{const r=[];return r.push({title:"Page 1",target:{type:"destination",destination:{pageIndex:1,zoom:{mode:n.PdfZoomMode.FitPage},view:[]}}},{title:"Page 2",target:{type:"destination",destination:{pageIndex:2,zoom:{mode:n.PdfZoomMode.FitPage},view:[]}},children:[{title:"Page 3",target:{type:"destination",destination:{pageIndex:3,zoom:{mode:n.PdfZoomMode.FitPage},view:[]}}}]}),n.PdfTaskHelper.resolve({bookmarks:r})},renderPage:jest.fn(((e,r,t,o,a,s)=>{const i=o%2==0?r.size:n.swap(r.size),d=Math.ceil(i.width*t)*Math.ceil(i.height*t),f=new Uint8ClampedArray(4*d),l=r.index%255;for(let n=0;n<d;n++){for(let e=0;e<3;e++){f[4*n+e]=l}f[4*n+3]=255}const p=f.buffer,c=p instanceof ArrayBuffer?p:new Uint8Array(f).buffer,g=new Blob([c],{type:"application/octet-stream"});return n.PdfTaskHelper.resolve(g)})),renderPageRect:jest.fn(((e,r,t,o,a,s,i)=>{const d=o%2==0?r.size:n.swap(r.size),f=Math.ceil(d.width*t)*Math.ceil(d.height*t),l=new Uint8ClampedArray(4*f),p=r.index%255;for(let n=0;n<f;n++){for(let e=0;e<3;e++){l[4*n+e]=p}l[4*n+3]=255}const c=l.buffer,g=c instanceof ArrayBuffer?c:new Uint8Array(l).buffer,u=new Blob([g],{type:"application/octet-stream"});return n.PdfTaskHelper.resolve(u)})),renderThumbnail:jest.fn(((e,r)=>{const t=r.size.width/4*(r.size.height/4),o=new Uint8ClampedArray(4*t),a=r.index%255;for(let n=0;n<t;n++){for(let e=0;e<3;e++){o[4*n+e]=a}o[4*n+3]=255}const s=o.buffer,i=s instanceof ArrayBuffer?s:new Uint8Array(o).buffer,d=new Blob([i],{type:"image/png"});return n.PdfTaskHelper.resolve(d)})),renderAnnotation:jest.fn(((e,r,t,o,a,s,i,d)=>n.PdfTaskHelper.resolve(new Blob([],{type:"image/png"})))),getAllAnnotations:jest.fn((e=>n.PdfTaskHelper.resolve({}))),getPageAnnotations:jest.fn(((e,r)=>{const t={pageIndex:r.index,id:r.index+1,type:n.PdfAnnotationSubtype.LINK,target:{type:"action",action:{type:n.PdfActionType.URI,uri:"https://localhost"}},text:"localhost",rect:{origin:{x:0,y:0},size:{width:100,height:100}}},o=[];return o.push(t),n.PdfTaskHelper.resolve(o)})),createPageAnnotation:jest.fn((()=>n.PdfTaskHelper.resolve(1))),updatePageAnnotation:jest.fn((()=>n.PdfTaskHelper.resolve(!0))),removePageAnnotation:jest.fn((()=>n.PdfTaskHelper.resolve(!0))),getPageTextRects:jest.fn(((e,r,t,o)=>n.PdfTaskHelper.resolve([{content:"pdf text",font:{family:"sans-serif",size:12},rect:{origin:{x:0,y:0},size:{width:100,height:100}}}]))),closeDocument:e=>n.PdfTaskHelper.resolve(!0),saveAsCopy:e=>n.PdfTaskHelper.resolve(new ArrayBuffer(0)),flattenPage:(e,r,t)=>n.PdfTaskHelper.resolve(n.PdfPageFlattenResult.Success),extractPages:(e,r)=>n.PdfTaskHelper.resolve(new ArrayBuffer(0)),extractText:(e,r)=>n.PdfTaskHelper.resolve(""),getTextSlices:(e,r)=>n.PdfTaskHelper.resolve([]),getPageGlyphs:(e,r)=>n.PdfTaskHelper.resolve([]),getPageGeometry:(e,r)=>n.PdfTaskHelper.resolve({runs:[]}),merge:e=>n.PdfTaskHelper.resolve({id:"id",content:new ArrayBuffer(0)}),mergePages:e=>n.PdfTaskHelper.resolve({id:"id",content:new ArrayBuffer(0)}),searchAllPages:(e,r,t)=>{const o={pageIndex:0,charIndex:0,charCount:r.length,rects:[{origin:{x:0,y:0},size:{width:50,height:20}}],context:{before:"",match:"",after:"",truncatedLeft:!1,truncatedRight:!1}};return n.PdfTaskHelper.resolve({results:[o],total:1})},getAttachments:e=>n.PdfTaskHelper.resolve([]),readAttachmentContent:(e,r)=>n.PdfTaskHelper.resolve(new ArrayBuffer(0)),setFormFieldValue:(e,r,t,o)=>n.PdfTaskHelper.resolve(!0),...e}},exports.createMockPdfFile=function(e){return{id:"id",content:new ArrayBuffer(0)}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/lib/mock/index.ts"],"sourcesContent":["import {\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n PdfAnnotationSubtype,\n PdfLinkAnnoObject,\n Rotation,\n swap,\n PdfZoomMode,\n PdfActionType,\n PdfAnnotationObject,\n PdfBookmarkObject,\n PdfTextRectObject,\n SearchTarget,\n SearchResult,\n PdfAttachmentObject,\n PdfSignatureObject,\n Rect,\n PdfRenderOptions,\n PdfFile,\n PdfAnnotationObjectStatus,\n PdfWidgetAnnoObject,\n FormFieldValue,\n PdfTaskHelper,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationTransformation,\n PdfEngineError,\n PdfMetadataObject,\n PdfErrorCode,\n PdfErrorReason,\n PdfBookmarksObject,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n PageTextSlice,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n WebAlphaColor,\n AppearanceMode,\n ImageConversionTypes,\n} from '@embedpdf/models';\n\n/**\n * Create mock of pdf engine\n * @param partialEngine - partial configuration of engine\n * @returns - mock of pdf engine\n *\n * @public\n */\nexport function createMockPdfEngine(partialEngine?: Partial<PdfEngine>): PdfEngine {\n const engine: PdfEngine = {\n openDocumentUrl: jest.fn((file: PdfFileUrl, options?: PdfUrlOptions) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromBuffer: jest.fn((file: PdfFile, password: string) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromLoader: jest.fn((file: PdfFileLoader, password: string) => {\n return PdfTaskHelper.create();\n }),\n getMetadata: () => {\n return PdfTaskHelper.resolve({\n title: 'title',\n author: 'author',\n subject: 'subject',\n keywords: 'keywords',\n producer: 'producer',\n creator: 'creator',\n creationDate: 'creationDate',\n modificationDate: 'modificationDate',\n });\n },\n getDocPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getDocUserPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getSignatures: (doc: PdfDocumentObject) => {\n const signatures: PdfSignatureObject[] = [];\n return PdfTaskHelper.resolve(signatures);\n },\n updateAnnotationColor: (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObjectBase,\n color: WebAlphaColor,\n which: number = 0,\n ) => {\n return PdfTaskHelper.resolve(true);\n },\n getBookmarks: (doc: PdfDocumentObject) => {\n const bookmarks: PdfBookmarkObject[] = [];\n bookmarks.push(\n {\n title: 'Page 1',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 1,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n {\n title: 'Page 2',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 2,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n children: [\n {\n title: 'Page 3',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 3,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n ],\n },\n );\n return PdfTaskHelper.resolve({\n bookmarks,\n });\n },\n renderPage: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderPageRect: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderThumbnail: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const thumbnailWidth = page.size.width / 4;\n const thumbnailHeight = page.size.height / 4;\n const pixelCount = thumbnailWidth * thumbnailHeight;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'image/png' });\n\n return PdfTaskHelper.resolve(blob);\n }),\n renderAnnotation: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n mode: AppearanceMode,\n imageType: ImageConversionTypes,\n ) => {\n return PdfTaskHelper.resolve(new Blob([], { type: 'image/png' }));\n },\n ),\n getAllAnnotations: jest.fn((doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve({});\n }),\n getPageAnnotations: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const link: PdfLinkAnnoObject = {\n pageIndex: page.index,\n id: page.index + 1,\n type: PdfAnnotationSubtype.LINK,\n target: {\n type: 'action',\n action: {\n type: PdfActionType.URI,\n uri: 'https://localhost',\n },\n },\n text: 'localhost',\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n };\n const annotations: PdfAnnotationObject[] = [];\n annotations.push(link);\n return PdfTaskHelper.resolve(annotations);\n }),\n createPageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(1);\n }),\n updatePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n removePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n getPageTextRects: jest.fn(\n (doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation) => {\n const textRects: PdfTextRectObject[] = [\n {\n content: 'pdf text',\n font: {\n family: 'sans-serif',\n size: 12,\n },\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n },\n ];\n return PdfTaskHelper.resolve(textRects);\n },\n ),\n closeDocument: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(true);\n },\n saveAsCopy: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n flattenPage: (pdf: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) => {\n return PdfTaskHelper.resolve<PdfPageFlattenResult>(PdfPageFlattenResult.Success);\n },\n extractPages: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n extractText: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve('');\n },\n getTextSlices: (doc: PdfDocumentObject, slices: PageTextSlice[]) => {\n return PdfTaskHelper.resolve([] as string[]);\n },\n getPageGlyphs: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve([] as PdfGlyphObject[]);\n },\n getPageGeometry: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve({\n runs: [],\n } as PdfPageGeometry);\n },\n merge: (files: PdfFile[]) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n mergePages: (mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n searchAllPages: (doc: PdfDocumentObject, keyword: string, flags?: MatchFlag[]) => {\n // Create a mock search result\n const mockResult: SearchResult = {\n pageIndex: 0,\n charIndex: 0,\n charCount: keyword.length,\n rects: [\n {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 50,\n height: 20,\n },\n },\n ],\n context: {\n before: '',\n match: '',\n after: '',\n truncatedLeft: false,\n truncatedRight: false,\n },\n };\n\n // Return a mock SearchAllPagesResult with a single result\n return PdfTaskHelper.resolve<SearchAllPagesResult>({\n results: [mockResult],\n total: 1,\n });\n },\n getAttachments: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve([] as PdfAttachmentObject[]);\n },\n readAttachmentContent: (doc: PdfDocumentObject, attachment: PdfAttachmentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n setFormFieldValue: (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n text: FormFieldValue,\n ) => {\n return PdfTaskHelper.resolve(true);\n },\n ...partialEngine,\n };\n\n return engine;\n}\n/**\n * Create mock of pdf document\n * @param doc - partial configuration of document\n * @returns mock of pdf document\n *\n * @public\n */\nexport function createMockPdfDocument(doc?: Partial<PdfDocumentObject>): PdfDocumentObject {\n const pageCount = 10;\n const pageWidth = 100;\n const pageHeight = 200;\n const pages = [];\n for (let i = 0; i < pageCount; i++) {\n pages.push({\n index: i,\n size: {\n width: pageWidth,\n height: pageHeight,\n },\n });\n }\n\n return {\n id: 'id',\n pageCount: pageCount,\n pages: pages,\n ...doc,\n };\n}\n\n/**\n * Create mock of pdf file\n * @param file - partial configuration of file\n * @returns mock of pdf file\n *\n * @public\n */\nexport function createMockPdfFile(file?: Partial<PdfFile>): PdfFile {\n return {\n id: 'id',\n content: new ArrayBuffer(0),\n };\n}\n"],"names":["doc","pages","i","push","index","size","width","height","id","pageCount","partialEngine","engine","openDocumentUrl","jest","fn","file","options","PdfTaskHelper","create","openDocumentFromBuffer","password","openDocumentFromLoader","getMetadata","resolve","title","author","subject","keywords","producer","creator","creationDate","modificationDate","getDocPermissions","getDocUserPermissions","getSignatures","updateAnnotationColor","page","annotation","color","which","getBookmarks","bookmarks","target","type","destination","pageIndex","zoom","mode","PdfZoomMode","FitPage","view","children","renderPage","scaleFactor","rotation","dpr","pageSize","swap","pixelCount","Math","ceil","array","Uint8ClampedArray","rgbValue","j","ab","buffer","realBuffer","ArrayBuffer","Uint8Array","blob","Blob","renderPageRect","rect","renderThumbnail","renderAnnotation","imageType","getAllAnnotations","getPageAnnotations","link","PdfAnnotationSubtype","LINK","action","PdfActionType","URI","uri","text","origin","x","y","annotations","createPageAnnotation","updatePageAnnotation","removePageAnnotation","getPageTextRects","content","font","family","closeDocument","pdf","saveAsCopy","flattenPage","flag","PdfPageFlattenResult","Success","extractPages","pageIndexes","extractText","getTextSlices","slices","getPageGlyphs","getPageGeometry","runs","merge","files","mergePages","mergeConfigs","searchAllPages","keyword","flags","mockResult","charIndex","charCount","length","rects","context","before","match","after","truncatedLeft","truncatedRight","results","total","getAttachments","readAttachmentContent","attachment","setFormFieldValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/lib/mock/index.ts"],"sourcesContent":["import {\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n PdfAnnotationSubtype,\n PdfLinkAnnoObject,\n Rotation,\n swap,\n PdfZoomMode,\n PdfActionType,\n PdfAnnotationObject,\n PdfBookmarkObject,\n PdfTextRectObject,\n SearchTarget,\n SearchResult,\n PdfAttachmentObject,\n PdfSignatureObject,\n Rect,\n PdfRenderOptions,\n PdfFile,\n PdfAnnotationObjectStatus,\n PdfWidgetAnnoObject,\n FormFieldValue,\n PdfTaskHelper,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationTransformation,\n PdfEngineError,\n PdfMetadataObject,\n PdfErrorCode,\n PdfErrorReason,\n PdfBookmarksObject,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n PageTextSlice,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n WebAlphaColor,\n AppearanceMode,\n ImageConversionTypes,\n} from '@embedpdf/models';\n\n/**\n * Create mock of pdf engine\n * @param partialEngine - partial configuration of engine\n * @returns - mock of pdf engine\n *\n * @public\n */\nexport function createMockPdfEngine(partialEngine?: Partial<PdfEngine>): PdfEngine {\n const engine: PdfEngine = {\n openDocumentUrl: jest.fn((file: PdfFileUrl, options?: PdfUrlOptions) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromBuffer: jest.fn((file: PdfFile, password: string) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromLoader: jest.fn((file: PdfFileLoader, password: string) => {\n return PdfTaskHelper.create();\n }),\n getMetadata: () => {\n return PdfTaskHelper.resolve({\n title: 'title',\n author: 'author',\n subject: 'subject',\n keywords: 'keywords',\n producer: 'producer',\n creator: 'creator',\n creationDate: 'creationDate',\n modificationDate: 'modificationDate',\n });\n },\n getDocPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getDocUserPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getSignatures: (doc: PdfDocumentObject) => {\n const signatures: PdfSignatureObject[] = [];\n return PdfTaskHelper.resolve(signatures);\n },\n getBookmarks: (doc: PdfDocumentObject) => {\n const bookmarks: PdfBookmarkObject[] = [];\n bookmarks.push(\n {\n title: 'Page 1',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 1,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n {\n title: 'Page 2',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 2,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n children: [\n {\n title: 'Page 3',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 3,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n ],\n },\n );\n return PdfTaskHelper.resolve({\n bookmarks,\n });\n },\n renderPage: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderPageRect: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderThumbnail: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const thumbnailWidth = page.size.width / 4;\n const thumbnailHeight = page.size.height / 4;\n const pixelCount = thumbnailWidth * thumbnailHeight;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'image/png' });\n\n return PdfTaskHelper.resolve(blob);\n }),\n renderAnnotation: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n mode: AppearanceMode,\n imageType: ImageConversionTypes,\n ) => {\n return PdfTaskHelper.resolve(new Blob([], { type: 'image/png' }));\n },\n ),\n getAllAnnotations: jest.fn((doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve({});\n }),\n getPageAnnotations: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const link: PdfLinkAnnoObject = {\n pageIndex: page.index,\n id: page.index + 1,\n type: PdfAnnotationSubtype.LINK,\n target: {\n type: 'action',\n action: {\n type: PdfActionType.URI,\n uri: 'https://localhost',\n },\n },\n text: 'localhost',\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n };\n const annotations: PdfAnnotationObject[] = [];\n annotations.push(link);\n return PdfTaskHelper.resolve(annotations);\n }),\n createPageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(1);\n }),\n updatePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n removePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n getPageTextRects: jest.fn(\n (doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation) => {\n const textRects: PdfTextRectObject[] = [\n {\n content: 'pdf text',\n font: {\n family: 'sans-serif',\n size: 12,\n },\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n },\n ];\n return PdfTaskHelper.resolve(textRects);\n },\n ),\n closeDocument: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(true);\n },\n saveAsCopy: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n flattenPage: (pdf: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) => {\n return PdfTaskHelper.resolve<PdfPageFlattenResult>(PdfPageFlattenResult.Success);\n },\n extractPages: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n extractText: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve('');\n },\n getTextSlices: (doc: PdfDocumentObject, slices: PageTextSlice[]) => {\n return PdfTaskHelper.resolve([] as string[]);\n },\n getPageGlyphs: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve([] as PdfGlyphObject[]);\n },\n getPageGeometry: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve({\n runs: [],\n } as PdfPageGeometry);\n },\n merge: (files: PdfFile[]) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n mergePages: (mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n searchAllPages: (doc: PdfDocumentObject, keyword: string, flags?: MatchFlag[]) => {\n // Create a mock search result\n const mockResult: SearchResult = {\n pageIndex: 0,\n charIndex: 0,\n charCount: keyword.length,\n rects: [\n {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 50,\n height: 20,\n },\n },\n ],\n context: {\n before: '',\n match: '',\n after: '',\n truncatedLeft: false,\n truncatedRight: false,\n },\n };\n\n // Return a mock SearchAllPagesResult with a single result\n return PdfTaskHelper.resolve<SearchAllPagesResult>({\n results: [mockResult],\n total: 1,\n });\n },\n getAttachments: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve([] as PdfAttachmentObject[]);\n },\n readAttachmentContent: (doc: PdfDocumentObject, attachment: PdfAttachmentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n setFormFieldValue: (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n text: FormFieldValue,\n ) => {\n return PdfTaskHelper.resolve(true);\n },\n ...partialEngine,\n };\n\n return engine;\n}\n/**\n * Create mock of pdf document\n * @param doc - partial configuration of document\n * @returns mock of pdf document\n *\n * @public\n */\nexport function createMockPdfDocument(doc?: Partial<PdfDocumentObject>): PdfDocumentObject {\n const pageCount = 10;\n const pageWidth = 100;\n const pageHeight = 200;\n const pages = [];\n for (let i = 0; i < pageCount; i++) {\n pages.push({\n index: i,\n size: {\n width: pageWidth,\n height: pageHeight,\n },\n });\n }\n\n return {\n id: 'id',\n pageCount: pageCount,\n pages: pages,\n ...doc,\n };\n}\n\n/**\n * Create mock of pdf file\n * @param file - partial configuration of file\n * @returns mock of pdf file\n *\n * @public\n */\nexport function createMockPdfFile(file?: Partial<PdfFile>): PdfFile {\n return {\n id: 'id',\n content: new ArrayBuffer(0),\n };\n}\n"],"names":["doc","pages","i","push","index","size","width","height","id","pageCount","partialEngine","engine","openDocumentUrl","jest","fn","file","options","PdfTaskHelper","create","openDocumentFromBuffer","password","openDocumentFromLoader","getMetadata","resolve","title","author","subject","keywords","producer","creator","creationDate","modificationDate","getDocPermissions","getDocUserPermissions","getSignatures","getBookmarks","bookmarks","target","type","destination","pageIndex","zoom","mode","PdfZoomMode","FitPage","view","children","renderPage","page","scaleFactor","rotation","dpr","pageSize","swap","pixelCount","Math","ceil","array","Uint8ClampedArray","rgbValue","j","ab","buffer","realBuffer","ArrayBuffer","Uint8Array","blob","Blob","renderPageRect","rect","renderThumbnail","renderAnnotation","annotation","imageType","getAllAnnotations","getPageAnnotations","link","PdfAnnotationSubtype","LINK","action","PdfActionType","URI","uri","text","origin","x","y","annotations","createPageAnnotation","updatePageAnnotation","removePageAnnotation","getPageTextRects","content","font","family","closeDocument","pdf","saveAsCopy","flattenPage","flag","PdfPageFlattenResult","Success","extractPages","pageIndexes","extractText","getTextSlices","slices","getPageGlyphs","getPageGeometry","runs","merge","files","mergePages","mergeConfigs","searchAllPages","keyword","flags","mockResult","charIndex","charCount","length","rects","context","before","match","after","truncatedLeft","truncatedRight","results","total","getAttachments","readAttachmentContent","attachment","setFormFieldValue"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B, a, P, R, b, c, r } from "./engine-
|
|
2
|
-
import { E, P as P2 } from "./runner-
|
|
1
|
+
import { B, a, P, R, b, c, r } from "./engine-O49988D4.js";
|
|
2
|
+
import { E, P as P2 } from "./runner-CABEqeFp.js";
|
|
3
3
|
import { WebWorkerEngine, WorkerTask } from "./lib/webworker/engine.js";
|
|
4
4
|
import { PdfTaskHelper, PdfActionType, PdfAnnotationSubtype, swap, PdfPageFlattenResult, PdfZoomMode } from "@embedpdf/models";
|
|
5
5
|
function createMockPdfEngine(partialEngine) {
|
|
@@ -35,9 +35,6 @@ function createMockPdfEngine(partialEngine) {
|
|
|
35
35
|
const signatures = [];
|
|
36
36
|
return PdfTaskHelper.resolve(signatures);
|
|
37
37
|
},
|
|
38
|
-
updateAnnotationColor: (doc, page, annotation, color, which = 0) => {
|
|
39
|
-
return PdfTaskHelper.resolve(true);
|
|
40
|
-
},
|
|
41
38
|
getBookmarks: (doc) => {
|
|
42
39
|
const bookmarks = [];
|
|
43
40
|
bookmarks.push(
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/lib/mock/index.ts"],"sourcesContent":["import {\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n PdfAnnotationSubtype,\n PdfLinkAnnoObject,\n Rotation,\n swap,\n PdfZoomMode,\n PdfActionType,\n PdfAnnotationObject,\n PdfBookmarkObject,\n PdfTextRectObject,\n SearchTarget,\n SearchResult,\n PdfAttachmentObject,\n PdfSignatureObject,\n Rect,\n PdfRenderOptions,\n PdfFile,\n PdfAnnotationObjectStatus,\n PdfWidgetAnnoObject,\n FormFieldValue,\n PdfTaskHelper,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationTransformation,\n PdfEngineError,\n PdfMetadataObject,\n PdfErrorCode,\n PdfErrorReason,\n PdfBookmarksObject,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n PageTextSlice,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n WebAlphaColor,\n AppearanceMode,\n ImageConversionTypes,\n} from '@embedpdf/models';\n\n/**\n * Create mock of pdf engine\n * @param partialEngine - partial configuration of engine\n * @returns - mock of pdf engine\n *\n * @public\n */\nexport function createMockPdfEngine(partialEngine?: Partial<PdfEngine>): PdfEngine {\n const engine: PdfEngine = {\n openDocumentUrl: jest.fn((file: PdfFileUrl, options?: PdfUrlOptions) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromBuffer: jest.fn((file: PdfFile, password: string) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromLoader: jest.fn((file: PdfFileLoader, password: string) => {\n return PdfTaskHelper.create();\n }),\n getMetadata: () => {\n return PdfTaskHelper.resolve({\n title: 'title',\n author: 'author',\n subject: 'subject',\n keywords: 'keywords',\n producer: 'producer',\n creator: 'creator',\n creationDate: 'creationDate',\n modificationDate: 'modificationDate',\n });\n },\n getDocPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getDocUserPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getSignatures: (doc: PdfDocumentObject) => {\n const signatures: PdfSignatureObject[] = [];\n return PdfTaskHelper.resolve(signatures);\n },\n updateAnnotationColor: (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObjectBase,\n color: WebAlphaColor,\n which: number = 0,\n ) => {\n return PdfTaskHelper.resolve(true);\n },\n getBookmarks: (doc: PdfDocumentObject) => {\n const bookmarks: PdfBookmarkObject[] = [];\n bookmarks.push(\n {\n title: 'Page 1',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 1,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n {\n title: 'Page 2',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 2,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n children: [\n {\n title: 'Page 3',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 3,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n ],\n },\n );\n return PdfTaskHelper.resolve({\n bookmarks,\n });\n },\n renderPage: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderPageRect: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderThumbnail: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const thumbnailWidth = page.size.width / 4;\n const thumbnailHeight = page.size.height / 4;\n const pixelCount = thumbnailWidth * thumbnailHeight;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'image/png' });\n\n return PdfTaskHelper.resolve(blob);\n }),\n renderAnnotation: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n mode: AppearanceMode,\n imageType: ImageConversionTypes,\n ) => {\n return PdfTaskHelper.resolve(new Blob([], { type: 'image/png' }));\n },\n ),\n getAllAnnotations: jest.fn((doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve({});\n }),\n getPageAnnotations: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const link: PdfLinkAnnoObject = {\n pageIndex: page.index,\n id: page.index + 1,\n type: PdfAnnotationSubtype.LINK,\n target: {\n type: 'action',\n action: {\n type: PdfActionType.URI,\n uri: 'https://localhost',\n },\n },\n text: 'localhost',\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n };\n const annotations: PdfAnnotationObject[] = [];\n annotations.push(link);\n return PdfTaskHelper.resolve(annotations);\n }),\n createPageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(1);\n }),\n updatePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n removePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n getPageTextRects: jest.fn(\n (doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation) => {\n const textRects: PdfTextRectObject[] = [\n {\n content: 'pdf text',\n font: {\n family: 'sans-serif',\n size: 12,\n },\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n },\n ];\n return PdfTaskHelper.resolve(textRects);\n },\n ),\n closeDocument: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(true);\n },\n saveAsCopy: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n flattenPage: (pdf: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) => {\n return PdfTaskHelper.resolve<PdfPageFlattenResult>(PdfPageFlattenResult.Success);\n },\n extractPages: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n extractText: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve('');\n },\n getTextSlices: (doc: PdfDocumentObject, slices: PageTextSlice[]) => {\n return PdfTaskHelper.resolve([] as string[]);\n },\n getPageGlyphs: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve([] as PdfGlyphObject[]);\n },\n getPageGeometry: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve({\n runs: [],\n } as PdfPageGeometry);\n },\n merge: (files: PdfFile[]) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n mergePages: (mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n searchAllPages: (doc: PdfDocumentObject, keyword: string, flags?: MatchFlag[]) => {\n // Create a mock search result\n const mockResult: SearchResult = {\n pageIndex: 0,\n charIndex: 0,\n charCount: keyword.length,\n rects: [\n {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 50,\n height: 20,\n },\n },\n ],\n context: {\n before: '',\n match: '',\n after: '',\n truncatedLeft: false,\n truncatedRight: false,\n },\n };\n\n // Return a mock SearchAllPagesResult with a single result\n return PdfTaskHelper.resolve<SearchAllPagesResult>({\n results: [mockResult],\n total: 1,\n });\n },\n getAttachments: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve([] as PdfAttachmentObject[]);\n },\n readAttachmentContent: (doc: PdfDocumentObject, attachment: PdfAttachmentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n setFormFieldValue: (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n text: FormFieldValue,\n ) => {\n return PdfTaskHelper.resolve(true);\n },\n ...partialEngine,\n };\n\n return engine;\n}\n/**\n * Create mock of pdf document\n * @param doc - partial configuration of document\n * @returns mock of pdf document\n *\n * @public\n */\nexport function createMockPdfDocument(doc?: Partial<PdfDocumentObject>): PdfDocumentObject {\n const pageCount = 10;\n const pageWidth = 100;\n const pageHeight = 200;\n const pages = [];\n for (let i = 0; i < pageCount; i++) {\n pages.push({\n index: i,\n size: {\n width: pageWidth,\n height: pageHeight,\n },\n });\n }\n\n return {\n id: 'id',\n pageCount: pageCount,\n pages: pages,\n ...doc,\n };\n}\n\n/**\n * Create mock of pdf file\n * @param file - partial configuration of file\n * @returns mock of pdf file\n *\n * @public\n */\nexport function createMockPdfFile(file?: Partial<PdfFile>): PdfFile {\n return {\n id: 'id',\n content: new ArrayBuffer(0),\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/lib/mock/index.ts"],"sourcesContent":["import {\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n PdfAnnotationSubtype,\n PdfLinkAnnoObject,\n Rotation,\n swap,\n PdfZoomMode,\n PdfActionType,\n PdfAnnotationObject,\n PdfBookmarkObject,\n PdfTextRectObject,\n SearchTarget,\n SearchResult,\n PdfAttachmentObject,\n PdfSignatureObject,\n Rect,\n PdfRenderOptions,\n PdfFile,\n PdfAnnotationObjectStatus,\n PdfWidgetAnnoObject,\n FormFieldValue,\n PdfTaskHelper,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationTransformation,\n PdfEngineError,\n PdfMetadataObject,\n PdfErrorCode,\n PdfErrorReason,\n PdfBookmarksObject,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n PageTextSlice,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n WebAlphaColor,\n AppearanceMode,\n ImageConversionTypes,\n} from '@embedpdf/models';\n\n/**\n * Create mock of pdf engine\n * @param partialEngine - partial configuration of engine\n * @returns - mock of pdf engine\n *\n * @public\n */\nexport function createMockPdfEngine(partialEngine?: Partial<PdfEngine>): PdfEngine {\n const engine: PdfEngine = {\n openDocumentUrl: jest.fn((file: PdfFileUrl, options?: PdfUrlOptions) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromBuffer: jest.fn((file: PdfFile, password: string) => {\n return PdfTaskHelper.create();\n }),\n openDocumentFromLoader: jest.fn((file: PdfFileLoader, password: string) => {\n return PdfTaskHelper.create();\n }),\n getMetadata: () => {\n return PdfTaskHelper.resolve({\n title: 'title',\n author: 'author',\n subject: 'subject',\n keywords: 'keywords',\n producer: 'producer',\n creator: 'creator',\n creationDate: 'creationDate',\n modificationDate: 'modificationDate',\n });\n },\n getDocPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getDocUserPermissions: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(0xffffffff);\n },\n getSignatures: (doc: PdfDocumentObject) => {\n const signatures: PdfSignatureObject[] = [];\n return PdfTaskHelper.resolve(signatures);\n },\n getBookmarks: (doc: PdfDocumentObject) => {\n const bookmarks: PdfBookmarkObject[] = [];\n bookmarks.push(\n {\n title: 'Page 1',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 1,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n {\n title: 'Page 2',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 2,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n children: [\n {\n title: 'Page 3',\n target: {\n type: 'destination',\n destination: {\n pageIndex: 3,\n zoom: {\n mode: PdfZoomMode.FitPage,\n },\n view: [],\n },\n },\n },\n ],\n },\n );\n return PdfTaskHelper.resolve({\n bookmarks,\n });\n },\n renderPage: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderPageRect: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n ) => {\n const pageSize = rotation % 2 === 0 ? page.size : swap(page.size);\n const imageSize = {\n width: Math.ceil(pageSize.width * scaleFactor),\n height: Math.ceil(pageSize.height * scaleFactor),\n };\n const pixelCount = imageSize.width * imageSize.height;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'application/octet-stream' });\n return PdfTaskHelper.resolve(blob);\n },\n ),\n renderThumbnail: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const thumbnailWidth = page.size.width / 4;\n const thumbnailHeight = page.size.height / 4;\n const pixelCount = thumbnailWidth * thumbnailHeight;\n const array = new Uint8ClampedArray(pixelCount * 4);\n const rgbValue = page.index % 255;\n const alphaValue = 255;\n for (let i = 0; i < pixelCount; i++) {\n for (let j = 0; j < 3; j++) {\n const index = i * 4 + j;\n array[index] = rgbValue;\n }\n array[i * 4 + 3] = alphaValue;\n }\n\n const ab = array.buffer;\n const realBuffer = ab instanceof ArrayBuffer ? ab : new Uint8Array(array).buffer;\n const blob = new Blob([realBuffer], { type: 'image/png' });\n\n return PdfTaskHelper.resolve(blob);\n }),\n renderAnnotation: jest.fn(\n (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n mode: AppearanceMode,\n imageType: ImageConversionTypes,\n ) => {\n return PdfTaskHelper.resolve(new Blob([], { type: 'image/png' }));\n },\n ),\n getAllAnnotations: jest.fn((doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve({});\n }),\n getPageAnnotations: jest.fn((doc: PdfDocumentObject, page: PdfPageObject) => {\n const link: PdfLinkAnnoObject = {\n pageIndex: page.index,\n id: page.index + 1,\n type: PdfAnnotationSubtype.LINK,\n target: {\n type: 'action',\n action: {\n type: PdfActionType.URI,\n uri: 'https://localhost',\n },\n },\n text: 'localhost',\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n };\n const annotations: PdfAnnotationObject[] = [];\n annotations.push(link);\n return PdfTaskHelper.resolve(annotations);\n }),\n createPageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(1);\n }),\n updatePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n removePageAnnotation: jest.fn(() => {\n return PdfTaskHelper.resolve(true);\n }),\n getPageTextRects: jest.fn(\n (doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation) => {\n const textRects: PdfTextRectObject[] = [\n {\n content: 'pdf text',\n font: {\n family: 'sans-serif',\n size: 12,\n },\n rect: {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 100,\n height: 100,\n },\n },\n },\n ];\n return PdfTaskHelper.resolve(textRects);\n },\n ),\n closeDocument: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(true);\n },\n saveAsCopy: (pdf: PdfDocumentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n flattenPage: (pdf: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) => {\n return PdfTaskHelper.resolve<PdfPageFlattenResult>(PdfPageFlattenResult.Success);\n },\n extractPages: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n extractText: (pdf: PdfDocumentObject, pageIndexes: number[]) => {\n return PdfTaskHelper.resolve('');\n },\n getTextSlices: (doc: PdfDocumentObject, slices: PageTextSlice[]) => {\n return PdfTaskHelper.resolve([] as string[]);\n },\n getPageGlyphs: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve([] as PdfGlyphObject[]);\n },\n getPageGeometry: (doc: PdfDocumentObject, page: PdfPageObject) => {\n return PdfTaskHelper.resolve({\n runs: [],\n } as PdfPageGeometry);\n },\n merge: (files: PdfFile[]) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n mergePages: (mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) => {\n return PdfTaskHelper.resolve({\n id: 'id',\n content: new ArrayBuffer(0),\n });\n },\n searchAllPages: (doc: PdfDocumentObject, keyword: string, flags?: MatchFlag[]) => {\n // Create a mock search result\n const mockResult: SearchResult = {\n pageIndex: 0,\n charIndex: 0,\n charCount: keyword.length,\n rects: [\n {\n origin: {\n x: 0,\n y: 0,\n },\n size: {\n width: 50,\n height: 20,\n },\n },\n ],\n context: {\n before: '',\n match: '',\n after: '',\n truncatedLeft: false,\n truncatedRight: false,\n },\n };\n\n // Return a mock SearchAllPagesResult with a single result\n return PdfTaskHelper.resolve<SearchAllPagesResult>({\n results: [mockResult],\n total: 1,\n });\n },\n getAttachments: (doc: PdfDocumentObject) => {\n return PdfTaskHelper.resolve([] as PdfAttachmentObject[]);\n },\n readAttachmentContent: (doc: PdfDocumentObject, attachment: PdfAttachmentObject) => {\n return PdfTaskHelper.resolve(new ArrayBuffer(0));\n },\n setFormFieldValue: (\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n text: FormFieldValue,\n ) => {\n return PdfTaskHelper.resolve(true);\n },\n ...partialEngine,\n };\n\n return engine;\n}\n/**\n * Create mock of pdf document\n * @param doc - partial configuration of document\n * @returns mock of pdf document\n *\n * @public\n */\nexport function createMockPdfDocument(doc?: Partial<PdfDocumentObject>): PdfDocumentObject {\n const pageCount = 10;\n const pageWidth = 100;\n const pageHeight = 200;\n const pages = [];\n for (let i = 0; i < pageCount; i++) {\n pages.push({\n index: i,\n size: {\n width: pageWidth,\n height: pageHeight,\n },\n });\n }\n\n return {\n id: 'id',\n pageCount: pageCount,\n pages: pages,\n ...doc,\n };\n}\n\n/**\n * Create mock of pdf file\n * @param file - partial configuration of file\n * @returns mock of pdf file\n *\n * @public\n */\nexport function createMockPdfFile(file?: Partial<PdfFile>): PdfFile {\n return {\n id: 'id',\n content: new ArrayBuffer(0),\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PdfAnnotationObject, PdfTextRectObject, PdfWidgetAnnoObject, Logger, SearchTarget, MatchFlag, PdfBookmarkObject, PdfDocumentObject, PdfEngine, PdfPageObject, Rotation, Rect, PdfAttachmentObject, PdfSignatureObject, PdfRenderOptions, PdfInkAnnoObject, Position, PdfSquigglyAnnoObject, PdfStrikeOutAnnoObject, PdfUnderlineAnnoObject, PdfFile, AppearanceMode, PdfHighlightAnnoObject, PdfStampAnnoObjectContents, FormFieldValue, PdfPageFlattenFlag, PdfPageFlattenResult, PdfTask, PdfFileLoader, SearchAllPagesResult, PdfUrlOptions, PdfFileUrl, Task, PdfErrorReason, PdfGlyphObject, PdfPageGeometry, PdfImage, ImageConversionTypes,
|
|
1
|
+
import { PdfAnnotationObject, PdfTextRectObject, PdfWidgetAnnoObject, Logger, SearchTarget, MatchFlag, PdfBookmarkObject, PdfDocumentObject, PdfEngine, PdfPageObject, Rotation, Rect, PdfAttachmentObject, PdfSignatureObject, PdfRenderOptions, PdfInkAnnoObject, Position, PdfCircleAnnoObject, PdfSquareAnnoObject, PdfFreeTextAnnoObject, PdfSquigglyAnnoObject, PdfStrikeOutAnnoObject, PdfUnderlineAnnoObject, PdfFile, AppearanceMode, PdfHighlightAnnoObject, PdfStampAnnoObjectContents, FormFieldValue, PdfPageFlattenFlag, PdfPageFlattenResult, PdfTask, PdfFileLoader, SearchAllPagesResult, PdfUrlOptions, PdfFileUrl, Task, PdfErrorReason, PdfGlyphObject, PdfPageGeometry, PdfImage, ImageConversionTypes, PageTextSlice } from '@embedpdf/models';
|
|
2
2
|
import { WrappedPdfiumModule } from '@embedpdf/pdfium';
|
|
3
3
|
/**
|
|
4
4
|
* Format of bitmap
|
|
@@ -322,6 +322,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
322
322
|
* @public
|
|
323
323
|
*/
|
|
324
324
|
free(ptr: number): void;
|
|
325
|
+
addFreeTextContent(page: PdfPageObject, pagePtr: number, annotationPtr: number, annotation: PdfFreeTextAnnoObject): boolean;
|
|
325
326
|
/**
|
|
326
327
|
* Set the rect of specified annotation
|
|
327
328
|
* @param page - page info that the annotation is belonged to
|
|
@@ -333,6 +334,39 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
333
334
|
* @private
|
|
334
335
|
*/
|
|
335
336
|
addInkStroke(page: PdfPageObject, pagePtr: number, annotationPtr: number, annotation: PdfInkAnnoObject): boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Add line content to annotation
|
|
339
|
+
* @param page - page info
|
|
340
|
+
* @param pagePtr - pointer to page object
|
|
341
|
+
* @param annotationPtr - pointer to line annotation
|
|
342
|
+
* @param annotation - line annotation
|
|
343
|
+
* @returns whether line content is added to annotation
|
|
344
|
+
*
|
|
345
|
+
* @private
|
|
346
|
+
*/
|
|
347
|
+
private addLineContent;
|
|
348
|
+
/**
|
|
349
|
+
* Add polygon or polyline content to annotation
|
|
350
|
+
* @param page - page info
|
|
351
|
+
* @param pagePtr - pointer to page object
|
|
352
|
+
* @param annotationPtr - pointer to polygon or polyline annotation
|
|
353
|
+
* @param annotation - polygon or polyline annotation
|
|
354
|
+
* @returns whether polygon or polyline content is added to annotation
|
|
355
|
+
*
|
|
356
|
+
* @private
|
|
357
|
+
*/
|
|
358
|
+
private addPolyContent;
|
|
359
|
+
/**
|
|
360
|
+
* Add shape content to annotation
|
|
361
|
+
* @param page - page info
|
|
362
|
+
* @param pagePtr - pointer to page object
|
|
363
|
+
* @param annotationPtr - pointer to shape annotation
|
|
364
|
+
* @param annotation - shape annotation
|
|
365
|
+
* @returns whether shape content is added to annotation
|
|
366
|
+
*
|
|
367
|
+
* @private
|
|
368
|
+
*/
|
|
369
|
+
addShapeContent(page: PdfPageObject, pagePtr: number, annotationPtr: number, annotation: PdfCircleAnnoObject | PdfSquareAnnoObject): boolean;
|
|
336
370
|
/**
|
|
337
371
|
* Add highlight content to annotation
|
|
338
372
|
* @param page - page info
|
|
@@ -499,21 +533,15 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
499
533
|
*/
|
|
500
534
|
private readAnnotationColor;
|
|
501
535
|
/**
|
|
502
|
-
*
|
|
503
|
-
* Squiggly** markup annotations.
|
|
504
|
-
*
|
|
505
|
-
* Resolution order (first non-`undefined` wins):
|
|
506
|
-
* 1. `/C` dictionary entry – fast, present in Acrobat / Office PDFs
|
|
507
|
-
* 2. Appearance-stream objects – drills into paths & nested forms
|
|
508
|
-
* 3. Hard-coded fallback (Acrobat-style opaque yellow)
|
|
536
|
+
* Get the fill/stroke colour annotation.
|
|
509
537
|
*
|
|
510
|
-
* @param annotationPtr - pointer to
|
|
511
|
-
* @param
|
|
512
|
-
* @returns
|
|
538
|
+
* @param annotationPtr - pointer to the annotation whose colour is being set
|
|
539
|
+
* @param colorType - which colour to get (0 = fill, 1 = stroke)
|
|
540
|
+
* @returns WebColor with hex color
|
|
513
541
|
*
|
|
514
542
|
* @private
|
|
515
543
|
*/
|
|
516
|
-
private
|
|
544
|
+
private getAnnotationColor;
|
|
517
545
|
/**
|
|
518
546
|
* Set the fill/stroke colour for a **Highlight / Underline / StrikeOut / Squiggly** markup annotation.
|
|
519
547
|
*
|
|
@@ -526,6 +554,78 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
526
554
|
* @private
|
|
527
555
|
*/
|
|
528
556
|
private setAnnotationColor;
|
|
557
|
+
/**
|
|
558
|
+
* Get the opacity of the annotation.
|
|
559
|
+
*
|
|
560
|
+
* @param annotationPtr - pointer to the annotation whose opacity is being set
|
|
561
|
+
* @returns opacity (0-1)
|
|
562
|
+
*
|
|
563
|
+
* @private
|
|
564
|
+
*/
|
|
565
|
+
private getAnnotationOpacity;
|
|
566
|
+
/**
|
|
567
|
+
* Set the opacity of the annotation.
|
|
568
|
+
*
|
|
569
|
+
* @param annotationPtr - pointer to the annotation whose opacity is being set
|
|
570
|
+
* @param opacity - opacity (0-1)
|
|
571
|
+
* @returns true on success
|
|
572
|
+
*
|
|
573
|
+
* @private
|
|
574
|
+
*/
|
|
575
|
+
private setAnnotationOpacity;
|
|
576
|
+
/**
|
|
577
|
+
* Fetch the `/Q` text-alignment value from a **FreeText** annotation.
|
|
578
|
+
*
|
|
579
|
+
* @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
|
|
580
|
+
* @returns `PdfTextAlignment`
|
|
581
|
+
*/
|
|
582
|
+
private getAnnotationTextAlignment;
|
|
583
|
+
/**
|
|
584
|
+
* Write the `/Q` text-alignment value into a **FreeText** annotation
|
|
585
|
+
* and clear the existing appearance stream so it can be regenerated.
|
|
586
|
+
*
|
|
587
|
+
* @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
|
|
588
|
+
* @param alignment `PdfTextAlignment`
|
|
589
|
+
* @returns `true` on success
|
|
590
|
+
*/
|
|
591
|
+
private setAnnotationTextAlignment;
|
|
592
|
+
/**
|
|
593
|
+
* Fetch the `/EPDF:VerticalAlignment` vertical-alignment value from a **FreeText** annotation.
|
|
594
|
+
*
|
|
595
|
+
* @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
|
|
596
|
+
* @returns `PdfVerticalAlignment`
|
|
597
|
+
*/
|
|
598
|
+
private getAnnotationVerticalAlignment;
|
|
599
|
+
/**
|
|
600
|
+
* Write the `/EPDF:VerticalAlignment` vertical-alignment value into a **FreeText** annotation
|
|
601
|
+
* and clear the existing appearance stream so it can be regenerated.
|
|
602
|
+
*
|
|
603
|
+
* @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
|
|
604
|
+
* @param alignment `PdfVerticalAlignment`
|
|
605
|
+
* @returns `true` on success
|
|
606
|
+
*/
|
|
607
|
+
private setAnnotationVerticalAlignment;
|
|
608
|
+
/**
|
|
609
|
+
* Return the **default appearance** (font, size, colour) declared in the
|
|
610
|
+
* `/DA` string of a **FreeText** annotation.
|
|
611
|
+
*
|
|
612
|
+
* @param annotationPtr pointer to `FPDF_ANNOTATION`
|
|
613
|
+
* @returns `{ font, fontSize, color }` or `undefined` when PDFium returns false
|
|
614
|
+
*
|
|
615
|
+
* NOTE – `font` is the raw `FPDF_STANDARD_FONT` enum value that PDFium uses
|
|
616
|
+
* (same range as the C API: 0 = Courier, 12 = ZapfDingbats, …).
|
|
617
|
+
*/
|
|
618
|
+
private getAnnotationDefaultAppearance;
|
|
619
|
+
/**
|
|
620
|
+
* Write a **default appearance** (`/DA`) into a FreeText annotation.
|
|
621
|
+
*
|
|
622
|
+
* @param annotationPtr pointer to `FPDF_ANNOTATION`
|
|
623
|
+
* @param font `FPDF_STANDARD_FONT` enum value
|
|
624
|
+
* @param fontSize size in points (≥ 0)
|
|
625
|
+
* @param color CSS-style `#rrggbb` string (alpha ignored)
|
|
626
|
+
* @returns `true` on success
|
|
627
|
+
*/
|
|
628
|
+
private setAnnotationDefaultAppearance;
|
|
529
629
|
/**
|
|
530
630
|
* Border‐style + width helper
|
|
531
631
|
*
|
|
@@ -577,6 +677,51 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
577
677
|
* • `pattern` – numeric array of dash/space lengths (empty when `ok` is false)
|
|
578
678
|
*/
|
|
579
679
|
private getBorderDashPattern;
|
|
680
|
+
/**
|
|
681
|
+
* Write the /BS /D dash pattern array for an annotation border.
|
|
682
|
+
*
|
|
683
|
+
* @param annotationPtr Pointer to FPDF_ANNOTATION
|
|
684
|
+
* @param pattern Array of dash/space lengths in *points* (e.g. [3, 2])
|
|
685
|
+
* Empty array clears the pattern (solid line).
|
|
686
|
+
* @returns true on success
|
|
687
|
+
*
|
|
688
|
+
* @private
|
|
689
|
+
*/
|
|
690
|
+
private setBorderDashPattern;
|
|
691
|
+
/**
|
|
692
|
+
* Return the `/LE` array (start/end line-ending styles) for a LINE / POLYLINE annot.
|
|
693
|
+
*
|
|
694
|
+
* @param annotationPtr - pointer to an `FPDF_ANNOTATION`
|
|
695
|
+
* @returns `{ start, end }` or `undefined` when PDFium can't read them
|
|
696
|
+
*
|
|
697
|
+
* @private
|
|
698
|
+
*/
|
|
699
|
+
private getLineEndings;
|
|
700
|
+
/**
|
|
701
|
+
* Write the `/LE` array (start/end line-ending styles) for a LINE / POLYLINE annot.
|
|
702
|
+
* @param annotationPtr - pointer to an `FPDF_ANNOTATION`
|
|
703
|
+
* @param start - start line ending style
|
|
704
|
+
* @param end - end line ending style
|
|
705
|
+
* @returns `true` on success
|
|
706
|
+
*/
|
|
707
|
+
private setLineEndings;
|
|
708
|
+
/**
|
|
709
|
+
* Get the start and end points of a LINE / POLYLINE annot.
|
|
710
|
+
* @param annotationPtr - pointer to an `FPDF_ANNOTATION`
|
|
711
|
+
* @param page - logical page info object (`PdfPageObject`)
|
|
712
|
+
* @returns `{ start, end }` or `undefined` when PDFium can't read them
|
|
713
|
+
*/
|
|
714
|
+
private getLinePoints;
|
|
715
|
+
/**
|
|
716
|
+
* Set the two end‑points of a **Line** annotation
|
|
717
|
+
* by writing a new /L array `[ x1 y1 x2 y2 ]`.
|
|
718
|
+
* @param page - logical page info object (`PdfPageObject`)
|
|
719
|
+
* @param annotPtr - pointer to the annotation whose line points are needed
|
|
720
|
+
* @param start - start point
|
|
721
|
+
* @param end - end point
|
|
722
|
+
* @returns true on success
|
|
723
|
+
*/
|
|
724
|
+
private setLinePoints;
|
|
580
725
|
/**
|
|
581
726
|
* Read `/QuadPoints` from any annotation and convert each quadrilateral to
|
|
582
727
|
* device-space coordinates.
|
|
@@ -856,6 +1001,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
856
1001
|
* • `flags` – object with individual booleans
|
|
857
1002
|
*/
|
|
858
1003
|
private getAnnotationFlags;
|
|
1004
|
+
private setAnnotationFlags;
|
|
859
1005
|
/**
|
|
860
1006
|
* Read circle annotation
|
|
861
1007
|
* @param page - pdf page infor
|
|
@@ -915,6 +1061,17 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
915
1061
|
* Returns `undefined` if no intent present.
|
|
916
1062
|
*/
|
|
917
1063
|
private getAnnotIntent;
|
|
1064
|
+
/**
|
|
1065
|
+
* Write the `/IT` (Intent) name into an annotation dictionary.
|
|
1066
|
+
*
|
|
1067
|
+
* Mirrors EPDFAnnot_SetIntent in PDFium (expects a UTF‑8 FPDF_BYTESTRING).
|
|
1068
|
+
*
|
|
1069
|
+
* @param annotationPtr Pointer returned by FPDFPage_GetAnnot
|
|
1070
|
+
* @param intent Name without leading slash, e.g. `"PolygonCloud"`
|
|
1071
|
+
* A leading “/” will be stripped for convenience.
|
|
1072
|
+
* @returns true on success, false otherwise
|
|
1073
|
+
*/
|
|
1074
|
+
private setAnnotIntent;
|
|
918
1075
|
/**
|
|
919
1076
|
* Returns the rich‑content string stored in the annotation’s `/RC` entry.
|
|
920
1077
|
*
|
|
@@ -940,6 +1097,17 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
940
1097
|
* @private
|
|
941
1098
|
*/
|
|
942
1099
|
private readPdfAnnoVertices;
|
|
1100
|
+
/**
|
|
1101
|
+
* Sync the vertices of a polygon or polyline annotation.
|
|
1102
|
+
*
|
|
1103
|
+
* @param page - pdf page infor
|
|
1104
|
+
* @param annotPtr - pointer to pdf annotation
|
|
1105
|
+
* @param vertices - the vertices to be set
|
|
1106
|
+
* @returns true on success
|
|
1107
|
+
*
|
|
1108
|
+
* @private
|
|
1109
|
+
*/
|
|
1110
|
+
private setPdfAnnoVertices;
|
|
943
1111
|
/**
|
|
944
1112
|
* Read the target of pdf bookmark
|
|
945
1113
|
* @param docPtr - pointer to pdf document object
|
|
@@ -1062,23 +1230,6 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
|
|
|
1062
1230
|
* @private
|
|
1063
1231
|
*/
|
|
1064
1232
|
private readPageAnnoAppearanceStream;
|
|
1065
|
-
/**
|
|
1066
|
-
* Change the visible colour (and opacity) of an existing annotation.
|
|
1067
|
-
*
|
|
1068
|
-
* For markup annotations (highlight / underline / strikeout / squiggly) we
|
|
1069
|
-
* first clear the AP dictionary entry, otherwise the stored appearance stream
|
|
1070
|
-
* will override the new tint. For all other sub-types we keep the existing
|
|
1071
|
-
* AP so custom artwork isn't lost.
|
|
1072
|
-
*
|
|
1073
|
-
* @param doc logical document object
|
|
1074
|
-
* @param page logical page object
|
|
1075
|
-
* @param annotation the annotation we want to recolour
|
|
1076
|
-
* @param colour RGBA tuple (0-255 per channel)
|
|
1077
|
-
* @param which 0 = stroke/fill colour (PDFium's "colourType" param)
|
|
1078
|
-
*
|
|
1079
|
-
* @returns `true` when the operation succeeded
|
|
1080
|
-
*/
|
|
1081
|
-
updateAnnotationColor(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObjectBase, color: WebAlphaColor, which?: number): PdfTask<boolean>;
|
|
1082
1233
|
/**
|
|
1083
1234
|
* Set the rect of specified annotation
|
|
1084
1235
|
* @param page - page info that the annotation is belonged to
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../engine-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../engine-1ZSXSAtm.cjs"),e=require("../../runner-Br_PKNmU.cjs");exports.BitmapFormat=r.BitmapFormat,exports.PdfiumEngine=r.PdfiumEngine,exports.PdfiumErrorCode=r.PdfiumErrorCode,exports.RenderFlag=r.RenderFlag,exports.browserImageDataToBlobConverter=r.browserImageDataToBlobConverter,exports.readArrayBuffer=r.readArrayBuffer,exports.readString=r.readString,exports.PdfiumEngineRunner=e.PdfiumEngineRunner;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/lib/pdfium/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B, a, P, R, b, c, r } from "../../engine-
|
|
2
|
-
import { P as P2 } from "../../runner-
|
|
1
|
+
import { B, a, P, R, b, c, r } from "../../engine-O49988D4.js";
|
|
2
|
+
import { P as P2 } from "../../runner-CABEqeFp.js";
|
|
3
3
|
export {
|
|
4
4
|
B as BitmapFormat,
|
|
5
5
|
a as PdfiumEngine,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/pdfium"),i=require("../../../engine-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/pdfium"),i=require("../../../engine-1ZSXSAtm.cjs");exports.createPdfiumEngine=async function(t,n){const r=await fetch(t),a=await r.arrayBuffer(),u=await e.init({wasmBinary:a});return new i.PdfiumEngine(u,n)};
|
|
2
2
|
//# sourceMappingURL=direct-engine.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { init } from "@embedpdf/pdfium";
|
|
2
|
-
import { a as PdfiumEngine } from "../../../engine-
|
|
2
|
+
import { a as PdfiumEngine } from "../../../engine-O49988D4.js";
|
|
3
3
|
async function createPdfiumEngine(wasmUrl, logger) {
|
|
4
4
|
const response = await fetch(wasmUrl);
|
|
5
5
|
const wasmBinary = await response.arrayBuffer();
|