{"_id":"@imgly/pdf-importer","_rev":"11-f46237ea1e704bd4cfcb56d2d09d3e21","name":"@imgly/pdf-importer","dist-tags":{"rc":"0.1.0-rc.2","latest":"0.2.4"},"versions":{"0.1.0-rc.0":{"name":"@imgly/pdf-importer","version":"0.1.0-rc.0","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"_id":"@imgly/pdf-importer@0.1.0-rc.0","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"keiwando","email":"keiwan.donyagard@gmail.com"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"8246d7bfd04cd05ba305ff6d1a07227413be8051","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.1.0-rc.0.tgz","fileCount":7,"integrity":"sha512-Dqc2Ii94W4V37gZvPco2GVT55gBUMIlZhNeuyo6wIsocbT738mwR7N7ZKfVkqkSmk8bnIRGPbv2SD9NDVAUvUw==","signatures":[{"sig":"MEQCIBTTptocpjG7aTg2LE0JUUok0ZsU3qnZo6iZQmAalK2rAiAUnQ0gZxOgRAyy9deJv08F7Zi7MLKN5oVy4lQDIaBBHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1502863},"type":"module","types":"dist/browser.d.ts","module":"dist/browser.js","engines":{"node":">=20"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.ts","default":"./dist/node.js"}},"default":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh && op inject -i .env.example -o .env","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"cd scripts/dashboard && pnpm install --silent && pnpm run dev","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","dashboard:build":"cd scripts/dashboard && pnpm install --silent && pnpm run build","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"cd scripts/dashboard && pnpm run preview","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56","@imgly/pdfjs-dist":"4.10.38-imgly.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"npm:@cesdk/node@1.72.1","@types/glob":"^7.2.0","@types/node":"^20.19.37","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","@cesdk/engine":"npm:@cesdk/engine@1.72.1","@changesets/cli":"^2.29.4","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.1.0-rc.0_1777906800514_0.9675718628125587","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.1":{"name":"@imgly/pdf-importer","version":"0.1.0-rc.1","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"_id":"@imgly/pdf-importer@0.1.0-rc.1","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"keiwando","email":"keiwan.donyagard@gmail.com"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"72d6b338544007c75d1f9b4b9499a91914f1b662","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.1.0-rc.1.tgz","fileCount":24,"integrity":"sha512-81xHakpTQBm0Sru0jWCkQq3NFjXLmBpmWKk7eAHjKmkFune10CXkRek//0+0wv/SGcDt37gHB2lYxyUumBh1mg==","signatures":[{"sig":"MEUCIQClTruk0jB9/5tyYb3tHz4ACfRPhYx88xlmTUIne/h0bAIgPqAfXQejgIwq8PbigYVq9Kl++AqBir8yTR8HFMC9mes=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4634144},"type":"module","types":"dist/browser.d.ts","module":"dist/browser.js","engines":{"node":">=20"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.ts","default":"./dist/node.js"}},"default":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh && op inject -i .env.example -o .env","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"cd scripts/dashboard && pnpm install --silent && pnpm run dev","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","dashboard:build":"cd scripts/dashboard && pnpm install --silent && pnpm run build","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"cd scripts/dashboard && pnpm run preview","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"npm:@cesdk/node@1.72.1","@types/glob":"^7.2.0","@types/node":"^20.19.37","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","@cesdk/engine":"npm:@cesdk/engine@1.72.1","@changesets/cli":"^2.29.4","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.1.0-rc.1_1777964367287_0.7232083186811629","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.2":{"name":"@imgly/pdf-importer","version":"0.1.0-rc.2","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"_id":"@imgly/pdf-importer@0.1.0-rc.2","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"keiwando","email":"keiwan.donyagard@gmail.com"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"4f917bb78dfde3237ed01495c49aa8b4edda274a","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.1.0-rc.2.tgz","fileCount":24,"integrity":"sha512-OtopWNb3jAWCu5quWq+pqXr2mOrTxCzNcLCf2V/3vlneejLsA1retMK+QYu/x9bBfdpZuFLnluZAGAVtTQqdCA==","signatures":[{"sig":"MEYCIQCS5CTlyb8CpmKtEPSw+oWZHwnPbeoM6m1wdIlouu72YAIhAOwzeJTP1tWS2IPIu5smjStjXlKgzfFv4oMcXq9Mi9GR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4633251},"type":"module","types":"dist/browser.d.ts","module":"dist/browser.js","engines":{"node":">=20"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.ts","default":"./dist/node.js"}},"default":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh && op inject -i .env.example -o .env","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"cd scripts/dashboard && pnpm install --silent && pnpm run dev","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","dashboard:build":"cd scripts/dashboard && pnpm install --silent && pnpm run build","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"cd scripts/dashboard && pnpm run preview","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"npm:@cesdk/node@1.72.1","@types/glob":"^7.2.0","@types/node":"^20.19.37","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","@cesdk/engine":"npm:@cesdk/engine@1.72.1","@changesets/cli":"^2.29.4","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.1.0-rc.2_1777993504623_0.32377072936878504","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@imgly/pdf-importer","version":"0.1.0","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"_id":"@imgly/pdf-importer@0.1.0","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"keiwando","email":"keiwan.donyagard@gmail.com"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"8a6dba3bf2e569cbd1371413a603e345c8575173","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.1.0.tgz","fileCount":28,"integrity":"sha512-8muZF5ObNrRAd8ZP37WGofvIxGd5mBHACK2e340G3MFNYikUcrFyKPT0xyT+vb5WdgFvSBYOdBAZpnyOC00GDQ==","signatures":[{"sig":"MEQCIFCf/wQ+sbvO2AgAZrzcyXdY/ANKxuYmuefIKydu8eq8AiA4sRPEZ+vt+LvlIJWDvROLIj+aHifV5/DfkTGHhDOffg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7096087},"main":"./dist/node.cjs","type":"module","types":"./dist/browser.d.ts","module":"./dist/browser.js","engines":{"node":">=20"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.cts","default":"./dist/node.cjs"}},"default":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh && op inject -i .env.example -o .env","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"importer-dashboard --fixtures src/test/examples","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","dashboard:build":"importer-dashboard build --fixtures src/test/examples","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"importer-dashboard preview --fixtures src/test/examples","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","test:fetch-fixtures":"git lfs pull --include='packages/pdf-importer/**' --exclude=''","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"workspace:*","@types/glob":"^7.2.0","@types/node":"^20.19.37","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","@cesdk/engine":"workspace:*","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1","@imgly/importer-dashboard":"workspace:*","@imgly/importer-exporter-utils":"workspace:*"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.1.0_1779401313530_0.5777445898674325","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@imgly/pdf-importer","version":"0.2.0","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"license":"SEE LICENSE IN LICENSE.md","_id":"@imgly/pdf-importer@0.2.0","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"keiwando","email":"keiwan.donyagard@gmail.com"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"ebed3e22839d67df72d7fe1ac21e185defd8fbbe","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.2.0.tgz","fileCount":28,"integrity":"sha512-hZnIusd4mFL+JbYdLyLbbgrFQvGe3CyNlgmwnneDdJHYBYGRkc7957evGfk0VHv278pEpbqABRP62FvDqWPmLg==","signatures":[{"sig":"MEQCIEeR+KUvIzwZabEeXNI0HXa5/py4vcLNpVgHlY15NXtfAiA16dmJA5IzAmZua0ahCxWW1ItRj2QAasFiyv+yQYiUlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5551622},"main":"./dist/node.cjs","type":"module","types":"./dist/browser.d.ts","module":"./dist/browser.js","engines":{"node":">=22"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.cts","default":"./dist/node.cjs"}},"default":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"pnpm exec nx run @imgly/pdf-importer:dashboard","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env.example -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","dashboard:build":"importer-dashboard build --fixtures src/test/examples","dashboard:serve":"importer-dashboard --fixtures src/test/examples","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"importer-dashboard preview --fixtures src/test/examples","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","test:fetch-fixtures":"git lfs pull --include='packages/pdf-importer/**' --exclude=''","test:min-peer:types":"imgly-test-min-peer-types","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"workspace:*","@types/glob":"^7.2.0","@types/node":"^22.0.0","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","@cesdk/engine":"workspace:*","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1","@imgly/importer-dashboard":"workspace:*","@imgly/importer-exporter-utils":"workspace:*"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.2.0_1781266691287_0.8082352537695152","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@imgly/pdf-importer","version":"0.2.1","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"license":"SEE LICENSE IN LICENSE.md","_id":"@imgly/pdf-importer@0.2.1","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"keiwando","email":"keiwan.donyagard@gmail.com"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"cbf2c22ff2ee595a665ef8233c135cfa686db899","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.2.1.tgz","fileCount":28,"integrity":"sha512-JxxVp2r2GuIOnlWtFW17vz9R8K4nW3PUf7emIjs+z+7bljJd0JeAz4UB5KWAInKhlzSZM7O8b+wIWDh1n6TA1A==","signatures":[{"sig":"MEUCIBdUImRzLzP3Y1zkNy6Sb2i7e+7KRpVPj4zitB1bR8hiAiEAsFCwoKmK7h7iNeJ0fRuRqGVwvfbO86AwjLTI+7FgpIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5553584},"main":"./dist/node.cjs","type":"module","types":"./dist/browser.d.ts","module":"./dist/browser.js","engines":{"node":">=22"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.cts","default":"./dist/node.cjs"}},"default":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"pnpm exec nx run @imgly/pdf-importer:dashboard","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env.example -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","dashboard:build":"importer-dashboard build --fixtures src/test/examples","dashboard:serve":"importer-dashboard --fixtures src/test/examples","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"importer-dashboard preview --fixtures src/test/examples","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","test:fetch-fixtures":"git lfs pull --include='packages/pdf-importer/**' --exclude=''","test:min-peer:types":"imgly-test-min-peer-types","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"workspace:*","@types/glob":"^7.2.0","@types/node":"^22.0.0","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","undici-types":"~6.21.0","@cesdk/engine":"workspace:*","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1","@imgly/importer-dashboard":"workspace:*","@imgly/importer-exporter-utils":"workspace:*"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.2.1_1782460615110_0.1888815457027102","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@imgly/pdf-importer","version":"0.2.2","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"license":"SEE LICENSE IN LICENSE.md","_id":"@imgly/pdf-importer@0.2.2","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"341cd586c3bdcfec455e260f42073122a1e04b7b","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.2.2.tgz","fileCount":28,"integrity":"sha512-lCANCEo2/ZAE1VUK/QlFy5RYIeW2Y0KCSz855pA+qphRSSapcltHQNYPX780Kc55hGWCqZ4lY69ExK671TD6qQ==","signatures":[{"sig":"MEYCIQCUbc3lTxyC3LRakpJsbIGK8xLYwqnY7gqPbCsz2xN0zAIhAO3O7LZQXvq4/XmE5mA8ZyOatE3XibadD4JpstU3g5yJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5557285},"main":"./dist/node.cjs","type":"module","types":"./dist/browser.d.ts","module":"./dist/browser.js","engines":{"node":">=22"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.cts","default":"./dist/node.cjs"}},"default":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"pnpm exec nx run @imgly/pdf-importer:dashboard","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env.example -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","test:native":"vitest run --config vitest.native.config.ts","dashboard:build":"importer-dashboard build --fixtures src/test/examples","dashboard:serve":"importer-dashboard --fixtures src/test/examples","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"importer-dashboard preview --fixtures src/test/examples","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","test:fetch-fixtures":"git lfs pull --include='packages/pdf-importer/**' --exclude=''","test:min-peer:types":"imgly-test-min-peer-types","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"workspace:*","@types/glob":"^7.2.0","@types/node":"^22.0.0","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","undici-types":"~6.21.0","@cesdk/engine":"workspace:*","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1","@imgly/importer-dashboard":"workspace:*","@imgly/importer-exporter-utils":"workspace:*"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.2.2_1785329237771_0.7635599915330173","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@imgly/pdf-importer","version":"0.2.3","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"license":"SEE LICENSE IN LICENSE.md","_id":"@imgly/pdf-importer@0.2.3","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"9737fec6b91b8d215fa049221d04d64bebefa417","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.2.3.tgz","fileCount":28,"integrity":"sha512-S0R00sOrQltyFJE9skw5U4raBTbBOJMkXCmRGWME4Gzjtbmn3kx+BC2+PERnSkPp//GzjHD1KeAUZWFXohtzsg==","signatures":[{"sig":"MEUCIGzSUewJooWKWSTJmCid3Tr1Jek3BclBWTnu3jcey6ucAiEAw40cNRKgTJ8tjhV9f49dxffhByNFaMdKwHeo8sL0FhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5559778},"main":"./dist/node.cjs","type":"module","types":"./dist/browser.d.ts","module":"./dist/browser.js","engines":{"node":">=22"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.cts","default":"./dist/node.cjs"}},"default":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"pnpm exec nx run @imgly/pdf-importer:dashboard","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env.example -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","test:native":"vitest run --config vitest.native.config.ts","dashboard:build":"importer-dashboard build --fixtures src/test/examples","dashboard:serve":"importer-dashboard --fixtures src/test/examples","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"importer-dashboard preview --fixtures src/test/examples","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","test:fetch-fixtures":"git lfs pull --include='packages/pdf-importer/**' --exclude=''","test:min-peer:types":"imgly-test-min-peer-types","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},"_npmVersion":"11.6.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"workspace:*","@types/glob":"^7.2.0","@types/node":"^22.0.0","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","undici-types":"~6.21.0","@cesdk/engine":"workspace:*","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1","@imgly/importer-dashboard":"workspace:*","@imgly/importer-exporter-utils":"workspace:*"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.2.3_1786481661496_0.7350700393214165","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@imgly/pdf-importer","version":"0.2.4","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"license":"SEE LICENSE IN LICENSE.md","_id":"@imgly/pdf-importer@0.2.4","maintainers":[{"name":"danielhauschildt","email":"daniel.hauschildt@img.ly"},{"name":"schiewe","email":"alexander.schiewe+npm@img.ly"},{"name":"sascha_","email":"sascha.schwabbauer@img.ly"},{"name":"svendvd","email":"sven.naehler@img.ly"},{"name":"leon_dud","email":"leon.dudlik@img.ly"},{"name":"mirko314-imgly","email":"mirko.budszuhn@img.ly"},{"name":"maerch","email":"marcin.skirzynski@gmail.com"},{"name":"ravenszewczyk-imgly","email":"raven.szewczyk@img.ly"},{"name":"elia-darwish","email":"darwish.elia@gmail.com"},{"name":"maltebaumann","email":"malte.baumann@img.ly"},{"name":"jonashartwig","email":"jonas.hartwig@img.ly"},{"name":"hiyeon","email":"hiyeon.kim@img.ly"}],"homepage":"https://img.ly","bugs":{"email":"support@img.ly"},"dist":{"shasum":"61c4772340dd6c388f866ea0a5e2505e3e096ee0","tarball":"https://registry.npmjs.org/@imgly/pdf-importer/-/pdf-importer-0.2.4.tgz","fileCount":28,"integrity":"sha512-o29p/9QL+ssjYhWJ+LTKLynVZu6T1OWkCGA9ggGAT6Ij/WKZjuWIBtHbVIcpadR6kPghIwQu5t5OhiP0FCfDAA==","signatures":[{"sig":"MEQCIHLixb40099LNzmu5WW3JvvbMLmAFIDzyNyXtTTXaVvBAiBZiA5+o6v3SURsYueogmnFWNBJNGX8iKBc/6Zs9pjfAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5560990},"main":"./dist/node.cjs","type":"module","types":"./dist/browser.d.ts","module":"./dist/browser.js","engines":{"node":">=22"},"exports":{".":{"node":{"import":{"types":"./dist/node.d.ts","default":"./dist/node.js"},"require":{"types":"./dist/node.d.cts","default":"./dist/node.cjs"}},"default":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"}}},"imports":{"#canvas-factory":{"node":"./src/lib/pdf-parser/extract/canvas-factory.node.ts","browser":"./src/lib/pdf-parser/extract/canvas-factory.browser.ts","default":"./src/lib/pdf-parser/extract/canvas-factory.node.ts"},"#pdfjs-resolvers":{"node":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts","browser":"./src/lib/pdf-parser/extract/pdfjs-resolvers.browser.ts","default":"./src/lib/pdf-parser/extract/pdfjs-resolvers.node.ts"}},"scripts":{"dump":"tsx scripts/dump-pdf.ts","test":"vitest run src/test/regression.test.ts","build":"rm -rf dist/ && node build.mjs","setup":"./scripts/download-test-fixtures.sh","publish":"pnpm run build && npm publish --access public","dump:all":"tsx scripts/dump-pdf.ts --all","test:all":"vitest run","dashboard":"pnpm exec nx run @imgly/pdf-importer:dashboard","test:unit":"vitest run src/test/unit","typecheck":"tsc --noEmit","add-sample":"./scripts/add-sample.sh","deploy:cdn":"op run --env-file=.env.example -- rclone sync ./dist r2:imgly-cdn/imgly/pdf-importer/$npm_package_version/dist/","dump:check":"tsx scripts/dump-pdf.ts --all --check","test:native":"vitest run --config vitest.native.config.ts","dashboard:build":"importer-dashboard build --fixtures src/test/examples","dashboard:serve":"importer-dashboard --fixtures src/test/examples","test:regression":"vitest run src/test/regression.test.ts","test:structural":"vitest run src/test/structural.test.ts","dashboard:preview":"importer-dashboard preview --fixtures src/test/examples","generate:roundtrip":"tsx scripts/generate-roundtrip-fixtures.ts","test:fetch-fixtures":"git lfs pull --include='packages/pdf-importer/**' --exclude=''","test:min-peer:types":"imgly-test-min-peer-types","download-test-fixtures":"./scripts/download-test-fixtures.sh","test:regression:update":"UPDATE_BASELINES=1 vitest run src/test/regression.test.ts"},"_npmUser":{"name":"elia-darwish","email":"darwish.elia@gmail.com"},"_npmVersion":"11.11.0","description":"Import PDF files into the Creative Editor Ecosystem","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pngjs":"^7.0.0","opentype.js":"^1.3.4","@napi-rs/canvas":"^0.1.56"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","glob":"7.0.3","jsdom":"^22.1.0","dotenv":"^17.2.3","undici":"^8.0.0","vitest":"^3.2.4","esbuild":"^0.25.9","pdf-lib":"^1.17.1","pixelmatch":"^7.1.0","typescript":"^5.7.0","@cesdk/node":"workspace:*","@types/glob":"^7.2.0","@types/node":"^22.0.0","@types/jsdom":"^21.1.7","@types/pngjs":"^6.0.5","undici-types":"~6.21.0","@cesdk/engine":"workspace:*","@imgly/pdfjs-dist":"4.10.38-imgly.2","@types/pixelmatch":"^5.2.6","@types/opentype.js":"^1.3.9","jest-image-snapshot":"^6.2.0","dts-bundle-generator":"^9.5.1","@imgly/importer-dashboard":"workspace:*","@imgly/importer-exporter-utils":"workspace:*"},"peerDependencies":{"@cesdk/node":">=1.70.0","@cesdk/engine":">=1.70.0"},"peerDependenciesMeta":{"@cesdk/node":{"optional":true},"@cesdk/engine":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdf-importer_0.2.4_1786964013653_0.23752063263150802","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-05-04T15:00:00.444Z","modified":"2026-09-22T15:36:18.809Z","0.1.0-rc.0":"2026-05-04T15:00:00.880Z","0.1.0-rc.1":"2026-05-05T06:59:27.494Z","0.1.0-rc.2":"2026-05-05T15:05:04.860Z","0.1.0":"2026-05-21T22:08:33.718Z","0.2.0":"2026-06-12T12:18:11.526Z","0.2.1":"2026-06-26T07:56:55.279Z","0.2.2":"2026-07-29T12:47:17.967Z","0.2.3":"2026-08-11T20:54:21.709Z","0.2.4":"2026-08-17T10:53:33.835Z"},"bugs":{"email":"support@img.ly"},"author":{"url":"https://img.ly","name":"IMG.LY GmbH","email":"support@img.ly"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://img.ly","keywords":["creative-editor-sdk","pdf","import","importer","cesdk","imgly"],"description":"Import PDF files into the Creative Editor Ecosystem","maintainers":[{"email":"daniel.hauschildt@img.ly","name":"danielhauschildt"},{"email":"alexander.schiewe+npm@img.ly","name":"schiewe"},{"email":"sascha.schwabbauer@img.ly","name":"sascha_"},{"email":"sven.naehler@img.ly","name":"svendvd"},{"email":"leon.dudlik@img.ly","name":"leon_dud"},{"email":"mirko.budszuhn@img.ly","name":"mirko314-imgly"},{"email":"marcin.skirzynski@gmail.com","name":"maerch"},{"email":"raven.szewczyk@img.ly","name":"ravenszewczyk-imgly"},{"email":"darwish.elia@gmail.com","name":"elia-darwish"},{"email":"malte.baumann@img.ly","name":"maltebaumann"},{"email":"svendvd@googlemail.com","name":"sven_imgly"},{"email":"jonas.hartwig@img.ly","name":"jonashartwig"},{"email":"hiyeon.kim@img.ly","name":"hiyeon"}],"readme":"# PDF Importer for the CE.SDK\n\n## Overview\n\nThe PDF Importer for the CE.SDK allows you to seamlessly integrate PDF files into the editor while retaining essential design attributes.\n\nHere's an overview of the main features:\n\n- _File Format Translation_: The importer converts **PDF files** into the CE.SDK scene file format using [`pdfjs-dist`](https://github.com/mozilla/pdf.js) (Mozilla's pdf.js), in its legacy/CJS-safe build.\n- _Bulk Importing_: The codebase is adaptable for bulk importing, streamlining large-scale projects.\n- _Color Translation_: RGB, CMYK, and Separation spot colors from PDFs are translated into CE.SDK's native `RGBAColor`, `CMYKColor`, and `SpotColor` variants. CMYK values are preserved end-to-end instead of collapsed to sRGB; Separation inks are registered on the document's spot-color registry (via `engine.editor.setSpotColorCMYK`) with their declared alternate CMYK values. DeviceN inks degrade to their alternate-space solid for now.\n\nThe following PDF design elements will be preserved by the import:\n\n- _Positioning and Rotation_: Elements' positioning and rotation are accurately transferred.\n- _Image Elements_: Embedded images (JPEG, PNG) are extracted and placed as graphic blocks. Note that only images with formats that are [supported by CE.SDK](https://img.ly/docs/cesdk/js/file-format-support-3c4b2a/#importing-media) will be rendered.\n- _Text Elements_: Font family continuity is maintained, with options to supply font URIs or use Google fonts. Bold, italic, and weight styles are supported.\n- _Vector Paths_: SVG path data from the PDF is imported as vector path blocks.\n- _Colors and Gradients_: Solid colors, linear gradients, and radial gradients are faithfully reproduced.\n- _Spot Color Detection_: Cut/fold marks using spot colors (CutContour, Thru-cut, etc.) are detected and can be handled separately. Brand spot inks (Separation / DeviceN entries in the page's `/ColorSpace` resource dictionary) are preserved as `SpotColor` fills and registered on the CE.SDK document-level spot registry.\n\n## How It Works\n\nThe importer runs a three-stage pipeline on each PDF page:\n\n1. **Extract** — a `pdfjs-dist` operator walker emits drawable blocks (images, vector paths, text outlines) in paint order. `page.getTextContent()` produces one editable text run per line.\n2. **Post-process** — adjacent text runs with the same font/size and horizontal overlap are merged into multi-line paragraph blocks.\n3. **Emit** — the intermediate representation is written as CE.SDK blocks: text, image, vector, outline.\n\nPDF points are converted to inches (1pt = 1/72 inch) for CE.SDK design units. Embedded images become `buffer://` URIs; engine-provided fonts use `bundle://` URIs.\n\n## Installation\n\nYou can install `@imgly/pdf-importer` via npm or yarn. Use the following commands to install the package:\n\n```shell\nnpm install @imgly/pdf-importer\nyarn add @imgly/pdf-importer\n```\n\n## Browser Quick-Start Example\n\n```js\nimport CreativeEngine from \"@cesdk/engine\";\nimport { PDFParser, addGfontsAssetLibrary } from \"@imgly/pdf-importer\";\n\nconst blob = await fetch(\"https://example.com/document.pdf\").then((res) =>\n  res.blob()\n);\nconst engine = await CreativeEngine.init({\n  license: \"YOUR_LICENSE\",\n});\n// We use google fonts to replace well known fonts in the default font resolver.\nawait addGfontsAssetLibrary(engine);\nconst parser = await PDFParser.fromFile(engine, blob);\n\nawait parser.parse();\n\nconst image = await engine.block.export(\n  engine.block.findByType(\"//ly.img.ubq/page\")[0],\n  \"image/png\"\n);\nconst sceneExportUrl = window.URL.createObjectURL(image);\nconsole.log(\"The imported PDF file looks like:\", sceneExportUrl);\n// You can now e.g export the scene as archive with engine.scene.saveToArchive()\n```\n\n## Saving Scenes with Stable URLs\n\nBy default, the PDF importer creates internal `buffer://` URLs for embedded images. These are transient resources that work well when saving to an archive (`engine.scene.saveToArchive()`), which bundles all assets together.\n\nHowever, if you want to save scenes as JSON strings (`engine.scene.saveToString()`) with stable, permanent URLs (e.g., for storing in a database or referencing CDN-hosted assets), you need to relocate the transient resources first.\n\n### Why Relocate?\n\n- **Scene Archives** (`saveToArchive`): Include all assets in a single ZIP file. Transient `buffer://` URLs work fine.\n- **Scene Strings** (`saveToString`): Only contain references to assets. Transient URLs won't work when reloading the scene later. You need permanent URLs (e.g., `https://`).\n\n### How to Relocate Transient Resources\n\nAfter parsing the PDF file, use CE.SDK's native APIs to find and relocate all transient resources:\n\n```js\n// 1. Parse the PDF file\nconst parser = await PDFParser.fromFile(engine, blob);\nawait parser.parse();\n\n// 2. Find all transient resources (embedded images from the PDF)\nconst transientResources = engine.editor.findAllTransientResources();\n\n// 3. Upload each resource and relocate to permanent URL\nfor (const resource of transientResources) {\n  const { URL: bufferUri, size } = resource;\n\n  // Extract binary data from the buffer\n  const data = engine.editor.getBufferData(bufferUri, 0, size);\n\n  // Upload to your backend/CDN (implement your own upload logic)\n  const permanentUrl = await uploadToBackend(data);\n\n  // Relocate the resource to the permanent URL\n  engine.editor.relocateResource(bufferUri, permanentUrl);\n}\n\n// 4. Now save to string - all URLs will be permanent\nconst sceneString = await engine.scene.saveToString();\n```\n\n### Note on Font URLs\n\nWhen using `addGfontsAssetLibrary()` (the default font resolver), the resulting scene string will contain Google CDN URLs for fonts. If you need fonts hosted on your own infrastructure, configure a custom font resolver instead of using the default Google Fonts integration.\n\n## Font Strategies\n\nThe importer ships with three font-handling presets that trade editability against visual fidelity. Pick one via `PDFParser.fromFile(engine, blob, { fontStrategy })`, or compose your own with `createFontStrategy` / `createFontCascade`.\n\n| Preset | Behavior | When to use |\n|---|---|---|\n| `editableFirstStrategy` *(default)* | perfect-match → PDF-embedded subset bytes → any-match substitution | General-purpose import. Prefers asset-library typefaces for editability, falls back to the PDF's embedded subset for fidelity, substitutes when neither is available. |\n| `exactFidelityStrategy` | perfect-match → PDF-embedded subset bytes | Print finalization. Never substitutes; falls through to vector outline when no matching typeface or embedded font is available. |\n| `assetLibraryStrategy` | perfect-match → any-match substitution | Brand-locked tools. Skips the embedded-subset stage so only asset-library typefaces are used; non-matching fonts go through substitution or vector outline. |\n\n```js\nimport { PDFParser, exactFidelityStrategy } from \"@imgly/pdf-importer\";\n\nconst parser = await PDFParser.fromFile(engine, blob, {\n  fontStrategy: exactFidelityStrategy,\n});\nawait parser.parse();\n```\n\n## NodeJS Quick-Start Example\n\n> **Prerequisite — emoji handling.** Two CE.SDK settings need attention when\n> running the importer headlessly under `@cesdk/node`:\n>\n> - **`ubq://forceSystemEmojis = false`** — by default the engine routes any\n>   codepoint that ICU classifies as `RGI_Emoji` (e.g. `♥`, `★`, the dingbats\n>   block) through the emoji font *even when the active typeface has a glyph\n>   for it*. Customer PDFs frequently embed real text fonts (ZapfDingbats,\n>   Webdings, …) that map these codepoints to actual glyphs; forcing the\n>   substitution discards the producer's intended glyph and pulls in a\n>   generic color emoji. Setting the flag to `false` makes the engine respect\n>   the embedded/substituted font when it covers the codepoint.\n> - **`ubq://defaultEmojiFontFileUri = <CDN URL>`** — `@cesdk/node` ships\n>   only `assets/core/`, not `assets/emoji/NotoColorEmoji.ttf`. Even with\n>   `forceSystemEmojis=false`, true color emoji (🧐, 🎉, …) that no embedded\n>   text font covers still need a working emoji font URI, or\n>   `engine.block.export(page, \"image/png\")` aborts with `FILE_FETCH_FAILED`\n>   for the engine's synthesised local-file URL. Point the engine at the\n>   IMG.LY-hosted preset, or self-host the file and supply your own URI /\n>   `bundle://` path.\n>\n> ```js\n> engine.editor.setSettingBool(\"ubq://forceSystemEmojis\", false);\n> engine.editor.setSettingString(\n>   \"ubq://defaultEmojiFontFileUri\",\n>   \"https://cdn.img.ly/assets/v4/emoji/NotoColorEmoji.ttf\",\n> );\n> ```\n>\n> See the [CE.SDK Emojis guide](https://img.ly/docs/cesdk/node/text/emojis-510651/)\n> for the full set of options. Browser consumers initialised with the\n> default IMG.LY-CDN `baseURL` already get the emoji font for free, and most\n> integrations also want `forceSystemEmojis=false` for the same\n> embedded-font-respect reason.\n\n```js\n// index.mjs\nimport CreativeEngine from \"@cesdk/node\";\nimport { promises as fs } from \"fs\";\nimport { PDFParser, addGfontsAssetLibrary } from \"@imgly/pdf-importer\";\n\nasync function main() {\n  const engine = await CreativeEngine.init({\n    license: \"YOUR_LICENSE\",\n  });\n\n  // Respect embedded fonts for emoji-class codepoints (♥, ★, …) and\n  // give true color emoji a working font URI — see the prerequisite\n  // note above.\n  engine.editor.setSettingBool(\"ubq://forceSystemEmojis\", false);\n  engine.editor.setSettingString(\n    \"ubq://defaultEmojiFontFileUri\",\n    \"https://cdn.img.ly/assets/v4/emoji/NotoColorEmoji.ttf\",\n  );\n\n  await addGfontsAssetLibrary(engine);\n\n  const pdfBuffer = await fs.readFile(\"./document.pdf\");\n  const parser = await PDFParser.fromFile(engine, pdfBuffer.buffer);\n  await parser.parse();\n\n  const image = await engine.block.export(\n    engine.block.findByType(\"//ly.img.ubq/page\")[0],\n    \"image/png\"\n  );\n  const imageBuffer = await image.arrayBuffer();\n  await fs.writeFile(\"./example.png\", Buffer.from(imageBuffer));\n\n  engine.dispose();\n}\nmain();\n```\n\n## Issues\n\nIf you encounter any issues or have questions, please don't hesitate to contact us at support@img.ly.\n\n## Limitations and Unsupported Features\n\nThe PDF importer has some limitations and unsupported features that you should be aware of:\n\n1. **Linked Images**\n\n   - Only embedded images are supported. External image references are not resolved.\n\n2. **Font Support**\n\n   - Fonts not available as a typeface asset source fall back through the configured `fontStrategy` (see [Font Strategies](#font-strategies) above): embedded subset bytes when present, then resolver substitution, then a vector-outline rendering. The default strategy substitutes; configure `exactFidelityStrategy` to disable substitution.\n\n3. **Complex Vector Paths**\n\n   - Some complex clipping paths or compound shapes may experience minor distortion.\n\n4. **Annotations and Forms**\n\n   - PDF annotations, form fields, and interactive elements are not imported.\n\n5. **Transparency Groups**\n\n   - Advanced transparency group blending modes may not be fully reproduced.\n\n6. **Image SMask Compositing**\n\n   - Per-pixel soft masks (image-modulated luminosity SMasks) are supported and composited into the image as an RGBA PNG. As a consequence, JPEG images carrying an SMask lose the JPEG pass-through optimization — they are decoded and re-encoded as PNG, which increases file size.\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md) for release notes.\n\n## License\n\nThe software is free for use under the AGPL License.\n","readmeFilename":"README.md"}