{"_id":"@dudko.dev/pdf-to-md-core","_rev":"9-cde100d7bf4be910a94e30f890fc8954","name":"@dudko.dev/pdf-to-md-core","dist-tags":{"latest":"0.3.2"},"versions":{"0.1.0":{"name":"@dudko.dev/pdf-to-md-core","version":"0.1.0","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.1.0","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"6c29ae8b33c6389ed2920f11b7cd71af875d5182","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.1.0.tgz","fileCount":12,"integrity":"sha512-RI8QbPSNELlG7maikUxuVlUmvzMaKKQeSi8/tRC496m8uAxYG/u1SHhcDsL8LIZX+qsjbBP8TI2qIw/f8SK5Tg==","signatures":[{"sig":"MEYCIQC0KaXrUMCIgm4qFKGxlXS740e07EiA1T25CbdWbAOHmAIhANmVlYXlSLygu51SuM79xv4GdSFZ9FOwSN69q1cTWL3b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5578018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./wasm/*":"./wasm/*"},"gitHead":"de31eeed0447f57ca95d3eff27b73e37d4dbd465","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sergdudko","email":"siarhei@dudko.dev"},"repository":{"url":"git+https://github.com/dudko-dev/pdf-to-md.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.7","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.1.0_1788568319206_0.38669524816598755","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dudko.dev/pdf-to-md-core","version":"0.1.2","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.1.2","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"cbdceec24de395b1fa555d66763b3a6fb620d707","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.1.2.tgz","fileCount":12,"integrity":"sha512-vRC433yaAHdZv1R7AfkemC4PMJmO55yUxZHvIz1Q6+fcOQatNQvn1huigWNWx7bRVLLjTNLaeuauvadaEkiwww==","signatures":[{"sig":"MEQCIBNjX7qBVRWO+4Xm3jNs4Q08xe2Cgpy0gd6nVNqlzOkRAiBN0bWGp8PDsSLSa2VBacGO0Wk+HcPZY3JBauHBAlYL5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBTQnJef/+igSSs4ySo0rbdqxo6jErpMJm5q8dHbrJvSAiEA2v6bXGjW5hPBJULE1MRVHhNcbnSUR2my25sq5z06Zzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5501880},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"8fb3fda602f2a066397755ed46513d5e15ed94ea","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"repository":{"url":"git+https://github.com/dudko-dev/pdf-to-md.git","type":"git","directory":"packages/core"},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.1.2_1788601842629_0.2963543012923704","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dudko.dev/pdf-to-md-core","version":"0.1.3","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.1.3","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"86346999c266ac8ccc8aa24cbcfb8da8b1774fcd","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.1.3.tgz","fileCount":20,"integrity":"sha512-Suq9Kb/H/FF0UEHtZuE3zztjXK8D9UaSw6tmAzOflsVX9ooj7QFoD+lnsYwHZnZsjZuAZrXMaxys4c8QhUZRFw==","signatures":[{"sig":"MEUCIFP6g90zHTcBW7cFb11R7/8q385u8cQ0DRqMELVuFPI/AiEAgbNiNUnPPuXju3vPW1J8OdvNRHBF47/FQiCry4GDMZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGaQb1mAV4hhdliFouGeMmWv0x8rJkRab1GTsXW87rzBAiBqD3Cg4Cup2mO7VNmYWAFZQDJEPl/ZU7whnE4UTfWyRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5568130},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"a32d3107844bbd602318eb3ce8cc8c7b8bb70070","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.1.3_1788612579424_0.06449467379259533","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dudko.dev/pdf-to-md-core","version":"0.1.4","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.1.4","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"55ea8a6a7bb3a608afd062ebd3ce828a3ff583f3","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.1.4.tgz","fileCount":19,"integrity":"sha512-yGFBRB7R462nKv2vpG8SIjlDUMFMP4jYHeculc6phqD4G3akSVWSVEfKkGHNx+4Q58S/d/tjJiMZinIbLjUX2Q==","signatures":[{"sig":"MEUCIQCJoteXyF6o/kiHPrcr8NCzl7mJgZUGLMnHpybIU+KDdQIgcyE6sOhzCoaZxT0xR9JxaRuUIxQxd6hFrRFkzTsJZUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQChOzkwNo/oGbpmRaGsGWm6ba0aWt/5X/B4INH2G/ZVPAIhALlkXN2+GpHmMEp0vNaxVG/vd9vU2LvpAhqQJL9qqJnu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5567058},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"2f045a0814ae87358d04f98be608a99d9b04872e","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.1.4_1788615553476_0.5199103582750537","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dudko.dev/pdf-to-md-core","version":"0.1.5","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.1.5","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"4834783c9dfcb4bfc90711237be9e68f135ece86","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.1.5.tgz","fileCount":19,"integrity":"sha512-YGQnV+zGiHZdNjHuZ4wKhsvWxPr5nqt7zQnaz/MlRor9OFtrWY4KJnyF1HYs0pVag17ox3hUAJ0uMR80DuIL3g==","signatures":[{"sig":"MEYCIQDSA1N7OrLD7bB5I9WOBcrb9RzU6YssxBJKjg3n7JAh7QIhAIjqvCrDMVMgfsNcoXiZFcEib5Andl2FfbetakXigeCL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG+7jjRCzqaoib5u9gTupn9u1fDnF4Rx3Zym2nNthz/4AiEAnM3uhb3huy9ekEeN6rDgOL47y/v2Z13dUj5W1mhrUzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5567290},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"c80bc06a9eb034599c125629c00746493a59275c","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.1.5_1788626786830_0.2587992932006704","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dudko.dev/pdf-to-md-core","version":"0.2.0","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.2.0","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"8f0c03b291b84b5e84751585a0c4dc23b1821d9f","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.2.0.tgz","fileCount":25,"integrity":"sha512-n5SLOlcgrVJ/hzVRhXn0vWniq5psiIxMBtwRlp+D2WLhm5So3e0/OrkugX3rK50I5HW+o3MyjcW/YNo99JV06Q==","signatures":[{"sig":"MEUCIQDzAMzVnGz2hlJaehbuC9mK0S91melCftTG5YWvnOKX3QIgHpdv812kDgZ4VwbwaxnVNur4EExw87EtY/AEhMdk8P0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHj/Q1Ka9rW5v2Wa+JX9GuAJXDi2JkugCmJ5dPcCjNPKAiBZUc3b4kwum97bbcYkW1XxmQzjNvRSazqtMiWsgUlYDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6113396},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"c4c9781d839258075a08ab46a70a5dd458c3f606","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.2.0_1788774468957_0.14221638324305452","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dudko.dev/pdf-to-md-core","version":"0.3.0","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.3.0","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"8866ca129d83bb166462b6d90aacb8d6fff835f0","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.3.0.tgz","fileCount":25,"integrity":"sha512-zavZIykWYFMmNoX13mZl3iZ7dIDN2lM+dT926Pu88oSyX7yOZzvmGgwiYOhlaCpptceSw+pOY0UMrKHKmJJ7TQ==","signatures":[{"sig":"MEUCIBGHVJ2nzkAiW/qYFjbjQzdrGLgvXwreIu8oDCBDqxBCAiEAjafho+1VbxJFZwjGfDAYbHDoUg4dpprFjdHz0JRhQjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZjyXrYhmzA+9SLSEtnRea9zoFtubFTGsUOD7gs80vdwIgUt2+caONxd1pVSsxCyum+pxuAX5kPfZSwZ74AfLPnqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6210821},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"f4772b78d468f221c3d80f56dc518eb75f403fc0","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.3.0_1788788122234_0.6867476149884448","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dudko.dev/pdf-to-md-core","version":"0.3.1","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@dudko.dev/pdf-to-md-core@0.3.1","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"homepage":"https://pdf2md.dudko.dev","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"73d53e13758c783636c00ad1ebaaedb0b638546e","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.3.1.tgz","fileCount":25,"integrity":"sha512-D+qqXmnj476r+ft05+EZfOmevZyBFaqD3AaAwAVUKZLdbCXbeTI7L/9D6QZsCYSJtNRY/VcJGOpG+Netitg4Zw==","signatures":[{"sig":"MEUCIQCRdNaRyJKhdhhPgnVhOJ67vQmNpiUpB4o7nnZ8Re6kKgIgBA0tEk5Qcu27gVrwGYsYLrxXsgv0558OvwMeJ/VQUfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGZEtt8/S22aGLlSeTgr39jmk+EcN48JMLe8zHl2mESsAiAfSq67zrI40SeSbz/Ok/ppQL8wdnMBxX6uPNGB03tZBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6211884},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"07f5642d843157ebbee2974085e13c05f96f2b2e","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-to-md-core_0.3.1_1788792465506_0.6555018377575754","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"_id":"@dudko.dev/pdf-to-md-core@0.3.2","bugs":{"email":"sergey@dudko.dev"},"dist":{"shasum":"c4a0a6a6c781199fc610dbc73bcdc09a7903d584","tarball":"https://registry.npmjs.org/@dudko.dev/pdf-to-md-core/-/pdf-to-md-core-0.3.2.tgz","fileCount":25,"integrity":"sha512-Ffx+AjEZXOeJa+mPl9SJMfqwRkvG1HAHtnghgLGqlMW1zEItZbvNa9LSDLJhK1t4VYpBqraXeBSY5Ara4ezqHg==","signatures":[{"sig":"MEUCIGHX79yb5vJFfwNFhdygQaevDh05/1INfebPdwzBK2ZaAiEAkq3fEIm5Hgi3YzKCJCivM/TnhzTRdFYsbeVDhS2A8So=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHyHzkT7e3QmmZYb+Hd78pJn4k85zaLPoczrhV4fGPq/AiAH4l09eEsUh+JUMflusxs+bP4iPlWNpSFAIxHtrysrVQ=="}],"unpackedSize":5790129},"main":"./dist/index.js","name":"@dudko.dev/pdf-to-md-core","type":"module","types":"./dist/index.d.ts","author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./images":{"types":"./dist/images.d.ts","default":"./dist/images.js"},"./wasm/*":"./wasm/*","./package.json":"./package.json"},"gitHead":"6c4a2c08c277c85504d2fc15dade1f0009176ff5","license":"PolyForm-Noncommercial-1.0.0","scripts":{"test":"node scripts/version.mjs && vitest run","build":"node scripts/version.mjs && tsc -p tsconfig.json","version":"node scripts/version.mjs","typecheck":"node scripts/version.mjs && tsc -p tsconfig.json --noEmit"},"version":"0.3.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5cc657e-f940-498e-8748-6016e42ad42c"}},"homepage":"https://pdf2md.dudko.dev","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"_npmVersion":"12.0.2","description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","directories":{},"maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.9.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdf-to-md-core_0.3.2_1788795757791_0.35036818807452286"}}},"time":{"created":"2026-09-05T00:31:59.064Z","modified":"2026-09-07T15:42:38.113Z","0.1.0":"2026-09-05T00:31:59.417Z","0.1.2":"2026-09-05T09:50:42.803Z","0.1.3":"2026-09-05T12:49:39.612Z","0.1.4":"2026-09-05T13:39:13.617Z","0.1.5":"2026-09-05T16:46:26.970Z","0.2.0":"2026-09-07T09:47:49.125Z","0.3.0":"2026-09-07T13:35:22.420Z","0.3.1":"2026-09-07T14:47:45.683Z","0.3.2":"2026-09-07T15:42:37.942Z"},"bugs":{"email":"sergey@dudko.dev"},"author":{"name":"Siarhei Dudko","email":"sergey@dudko.dev"},"license":"PolyForm-Noncommercial-1.0.0","homepage":"https://pdf2md.dudko.dev","keywords":["pdf","markdown","pdf-to-markdown","pdf-parser","wasm","webassembly"],"description":"PDF → Markdown (Rust/WASM parsing core with a typed TypeScript API). Works in browsers, Node and Cloudflare Workers.","maintainers":[{"name":"sergdudko","email":"siarhei@dudko.dev"}],"readme":"# @dudko.dev/pdf-to-md-core\n\nPDF → Markdown, locally. A Rust parser compiled to WebAssembly, wrapped in a\ntyped TypeScript API that loads in a browser, in Node, and in a Cloudflare\nWorker without any of them needing special configuration.\n\nThe bytes never leave the process. There is no service behind this package.\n\n```bash\nnpm install @dudko.dev/pdf-to-md-core\n```\n\n## Use\n\n```ts\nimport { convert } from '@dudko.dev/pdf-to-md-core';\n\nconst pdf = new Uint8Array(await (await fetch('/annual-report.pdf')).arrayBuffer());\nconst result = await convert(pdf);\n\nconsole.log(result.pdfType);   // \"TextBased\"\nconsole.log(result.markdown);  // \"# Annual report\\n\\n…\"\n```\n\nThe module loads itself on the first call. `init()` is available when you would\nrather pay the ~5 MB instantiation before the user asks for anything:\n\n```ts\nimport { init } from '@dudko.dev/pdf-to-md-core';\nawait init();                       // browser: resolves the .wasm next to the glue\nawait init(myOwnWasmUrlOrBytes);    // or point it wherever you keep it\n```\n\n### Options\n\n```ts\nawait convert(pdf, {\n  pages: [1, 3, 5],          // 1-indexed\n  password: 'secret',        // encrypted PDFs\n  profile: 'compact',        // or 'fidelity' (default)\n  includePageMarkers: true,  // <!-- Page N --> between pages\n  stripHeadersFooters: true, // drop running headers/footers\n  textOnImagePages: true,    // default: a caption under a full-page figure is still text\n});\n```\n\nEvery option is listed in `ConvertOptions`, and an option name this build does\nnot know is an error rather than a silent default — a misspelled `detectCod`\nshould not quietly leave code blocks on.\n\n### The rest of the surface\n\n| Function | What it gives you |\n| --- | --- |\n| `convert(bytes, options?)` | Markdown plus the full result |\n| `detect(bytes, {password}?)` | type, page count, which pages need OCR — no extraction |\n| `classify(bytes)` | the same, in the parser's native 0-indexed shape |\n| `extractText(bytes)` | plain text in reading order, no Markdown |\n| `looksLikePdf(bytes)` | cheap `%PDF-` check before you bother the parser |\n| `parsePages('1,3,5-7')` | the `pages` option from a string, as the CLI and the API read it; throws a `RangeError` you can show |\n| `OPTION_TYPES`, `OPTION_NAMES` | every option and the kind of value it takes, for building a flag table or a query parser |\n| `VERSION`, `version()` | this package's version; `bindingsVersion()` and `coreVersion()` for the module and the parser inside it |\n\n## Images\n\nThe pictures inside a document, as files, and a conversion whose Markdown\nlinks to them — from a second entry point, so the main bundle does not carry\nthe pixel work unless you ask for it:\n\n```ts\nimport { convertWithImages } from '@dudko.dev/pdf-to-md-core/images';\n\nconst { result, assets, skipped } = await convertWithImages(pdfBytes);\n// result.markdown links ![Im0](assets/img-1.png), ![Im1](assets/img-2.jpg), …\nfor (const { path, image } of assets) await writeFile(path, image.bytes); // next to the .md\n```\n\n`extractImages(bytes, { pages?, password?, jpx?, codecs?, vectors? })` gives\nthe files alone. JPEG streams pass through byte for byte; everything else — Flate, LZW,\nRunLength, ASCIIHex samples in gray, RGB, CMYK or indexed, with or without a\nsoft mask, and CCITT fax, JBIG2 and JPEG 2000 — becomes a PNG, encoded with the\nruntime's own `CompressionStream`. `jpx: 'keep'` keeps a JPEG 2000 as the\n`.jp2` it already is. Whatever cannot be turned into a file is in `skipped`\nwith the reason, and the Markdown says so where the picture would have been.\n`convert()` itself is unchanged.\n\nThe three codecs live in a second WebAssembly module (`wasm/pdf_to_md_codecs_bg.wasm`,\nabout 120 KB over the wire) that is loaded the first time a document turns out\nto need one; most documents never do. It loads next to the JS glue in a browser\nand from disk in Node; a bundler that does not resolve `new URL(…, import.meta.url)`\ninside a dependency gets its URL through `codecs` (or `initCodecs(url)`), the\nway `init()` takes the main module's.\n\nThree kinds of picture are found: XObjects drawn by the page content, which\nhave a placeholder in the Markdown; inline images written into the content\nstream; and the pictures inside annotation appearances — stamps, signatures,\nform fields. The last two have no placeholder, so `convertWithImages()` links\nthem at the end of their page, and each `refs[].source` says which kind it is.\n\nA fourth kind is not a picture in the file at all. A PDF has no vector image:\na chart, a diagram or a logo is drawing operators in the page content, with\nnothing to say where it begins and ends. The module plays the content back,\nclusters the painted paths, keeps the clusters that look like a figure rather\nthan a table's rules or a box around a paragraph — curves, colour, or enough\nfilled shapes, and not mostly text — and writes each as an SVG\n(`format: 'svg'`, `source: 'vector'`), with the page's text inside its box as\n`<text>` labels a reader can search. A shading — a gradient — becomes a flat\nfill of the box it is clipped to, in the middle colour of its range, and a\nshading pattern likewise; tiling patterns are a grey stand-in, and clipping of\npaths, blend modes and images inside a figure are not carried over.\n`vectors: false` turns it off.\n\n## Running it off the main thread\n\n`convert` is synchronous inside the module: a large document holds the calling\nthread for as long as it takes. In a browser, call it from a Web Worker:\n\n```ts\n// worker.ts\nimport { convert } from '@dudko.dev/pdf-to-md-core';\nself.onmessage = async (e: MessageEvent<Uint8Array>) => {\n  self.postMessage(await convert(e.data));\n};\n```\n\nIn Node, a `worker_threads` worker does the same job. Both\n`@dudko.dev/pdf-to-md-cli` and the bundled HTTP API do this.\n\n## Bundlers\n\nThe `.wasm` sits next to the JS glue in `wasm/`, and the default loader\nresolves it with `import.meta.url` — which Vite, Wrangler, webpack 5 and esbuild\nall understand. If your bundler does not, import the file yourself and hand the\nURL to `init()`:\n\n```ts\nimport wasmUrl from '@dudko.dev/pdf-to-md-core/wasm/pdf_to_md_bg.wasm?url';\nawait init(wasmUrl);\n```\n\nThe module is single-threaded on purpose. It needs no cross-origin isolation, no\n`SharedArrayBuffer` and no filesystem — the CJK CMaps are compiled in — which is\nwhat lets the same build run on any page and inside a Worker.\n\n## What it does not do\n\n**OCR.** A scanned document comes back as `pdfType: \"Scanned\"` with\n`pagesNeedingOcr` populated and no Markdown. That is the answer, not a failure:\nrun the file through an OCR tool and convert the result.\n\nWatch `hasEncodingIssues` too — it means text came out but the fonts declare an\nencoding the bytes do not honour, so the characters are probably wrong. Falling\nback to OCR is the right move there as well.\n\n## Licence\n\nFree for noncommercial use under [PolyForm Noncommercial 1.0.0](https://polyformproject.org/licenses/noncommercial/1.0.0/),\nwith a [32-day trial](https://polyformproject.org/licenses/free-trial/1.0.0/) for evaluation at work.\nCommercial use needs a licence: sergey@dudko.dev.\n\nThe notices for the third-party code compiled into the module are in\n`THIRD-PARTY-NOTICES.md`, which ships in the package.\n","readmeFilename":"README.md"}