{"_id":"@d0paminedriven/pdfdown","_rev":"19-ba4a2af6b0c55a7748138bfa5c1e78c6","name":"@d0paminedriven/pdfdown","dist-tags":{"latest":"0.9.9"},"versions":{"0.1.0":{"name":"@d0paminedriven/pdfdown","version":"0.1.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.1.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"e3dd0c1859cdd3ab7f2a28a0b3573b8be48f97a6","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.1.0.tgz","fileCount":6,"integrity":"sha512-q/F4+967PgvE3NahICeYpqEzt4TTkQOkIJFqfi1lLgvCCC2fxvvTkd8Q00bGAQnTxzANLMGYP+LLfAkDHt5kbA==","signatures":[{"sig":"MEQCIBr5z4X1YOM7CVmrJn5U+Qi3zrGmD7jLIaOL2nWsb3M1AiA8cRVYKtGo+YfnzByjfBY+f4+LJG+fmenDtN2qPz1/kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33322},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"5001ba90919121b731c75127146bc6dcf9da219e","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Template project for writing node package with napi-rs","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.1.0","@d0paminedriven/pdfdown-freebsd-x64":"0.1.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.1.0","@d0paminedriven/pdfdown-darwin-arm64":"0.1.0","@d0paminedriven/pdfdown-android-arm64":"0.1.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.1.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.1.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.1.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.1.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.1.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.1.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.1.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.1.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.1.0_1769933590480_0.7781114191549805","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@d0paminedriven/pdfdown","version":"0.1.1","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.1.1","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"b8ae19407aea8bc95dbfb9d9432a869ca2037cbd","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.1.1.tgz","fileCount":6,"integrity":"sha512-lR4/+9CAQXn+79zIxz1Wv2edlCAHRyItEN3N8n+LvPco45GCFZi4WZ6lQxqFJeVRg3MzpqW19td7zIS+Gn7J8Q==","signatures":[{"sig":"MEYCIQCwAxXKei1CyLmv/r9AjVAIPU2+tiaJoIcwIANvvWqJ2gIhAPiVmfkV6qHum+y95ubZKvGPeX508PdRCi48OQIvgorf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33304},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"bbf7fde501a11d18329ef4ee90d0b6a69f9e3f5b","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.1.1","@d0paminedriven/pdfdown-freebsd-x64":"0.1.1","@d0paminedriven/pdfdown-wasm32-wasi":"0.1.1","@d0paminedriven/pdfdown-darwin-arm64":"0.1.1","@d0paminedriven/pdfdown-android-arm64":"0.1.1","@d0paminedriven/pdfdown-linux-x64-gnu":"0.1.1","@d0paminedriven/pdfdown-linux-x64-musl":"0.1.1","@d0paminedriven/pdfdown-win32-x64-msvc":"0.1.1","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.1.1","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.1.1","@d0paminedriven/pdfdown-android-arm-eabi":"0.1.1","@d0paminedriven/pdfdown-linux-arm64-musl":"0.1.1","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.1.1","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.1.1_1769935501548_0.9261949481560492","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@d0paminedriven/pdfdown","version":"0.2.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.2.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"d4f14b2e0a0066ae5bab71d7c9e144ee67ae0f0a","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.2.0.tgz","fileCount":6,"integrity":"sha512-kfdlThPQVDbZ8SPzisoaXUyXYdLeBTYUrvPq0RMof/qguPmIqqzztlGNbeHQmmRt2aQqsDkdV0rDi/RhXVgHXg==","signatures":[{"sig":"MEUCIQDGdKVGMhlSO4ODiADDXZ5nalTo9vcODsPDWhPA+r1/7gIgX9cEFSnBxQIaD5mnwUSSF+SLbwAuE6wajXhF+9MKG3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33345},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"92e67d026ae7774a337d756de0bb8f456bb98a54","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.2.0","@d0paminedriven/pdfdown-freebsd-x64":"0.2.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.2.0","@d0paminedriven/pdfdown-darwin-arm64":"0.2.0","@d0paminedriven/pdfdown-android-arm64":"0.2.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.2.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.2.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.2.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.2.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.2.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.2.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.2.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.2.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.2.0_1769942768881_0.4283148702395485","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@d0paminedriven/pdfdown","version":"0.3.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.3.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"f532b810a7086141733d83f5892c83dbbb97cf29","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.3.0.tgz","fileCount":6,"integrity":"sha512-ZHS5olinsQak3iIcDIbus1dgT0602neHcFVUzNaM7V7OUQUeyxGmYYrw3AVlBdLmkwLAwbJZ87wY3uXwCdE36Q==","signatures":[{"sig":"MEYCIQD9qOwYA1YZxdSS8x0EQm0iFQFRUFkhtI0Dkubj7SGG4QIhAN0QXFI6Rj1EBkAxUuJcBTEKX/fmIB2tjp53zmnGn/63","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35586},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"b22a90e502e436703053a70eb8a88117a0def13d","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.3.0","@d0paminedriven/pdfdown-freebsd-x64":"0.3.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.3.0","@d0paminedriven/pdfdown-darwin-arm64":"0.3.0","@d0paminedriven/pdfdown-android-arm64":"0.3.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.3.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.3.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.3.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.3.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.3.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.3.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.3.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.3.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.3.0_1769988793587_0.8195185429943277","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@d0paminedriven/pdfdown","version":"0.4.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.4.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"705d3ed49119db892fa85a53e553ec2ef38f6403","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.4.0.tgz","fileCount":6,"integrity":"sha512-HFDVAZeSh2W9fhgjIVUJBmktp5gEzRnA5y/Nvxtu2a/B/6RTHqQ5DqPJVZDfXLXYdWxrq/Io+WBVWR4Px6s5LA==","signatures":[{"sig":"MEYCIQDWdMoQ35pZSWDPzxi15cKidKDYaGwelFavaoI7zp0ydQIhAIg+Tgq4hnnLWl7yzpTOXAdBH7M9Inpb6ks7MaFd0JXR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36326},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"5b4ba9045ad2a3e9a3b06a67201e04c210a8ed3d","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.4.0","@d0paminedriven/pdfdown-freebsd-x64":"0.4.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.4.0","@d0paminedriven/pdfdown-darwin-arm64":"0.4.0","@d0paminedriven/pdfdown-android-arm64":"0.4.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.4.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.4.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.4.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.4.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.4.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.4.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.4.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.4.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.4.0_1769990128493_0.6020866387838637","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@d0paminedriven/pdfdown","version":"0.5.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.5.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"6044ef76e32e676feb212597021a02932cb9db83","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.5.0.tgz","fileCount":6,"integrity":"sha512-1iLuktEef+ooSK/BfnoVvPaKVzwFGHjA/dWwlNmB+6ZibEZKORRUgaRzq2opU9eWaUjeGerI30BPakhaKyg0QA==","signatures":[{"sig":"MEYCIQDGPAHMQ+gWgW23xufkmiK7QZYI/2F13g5xb57ECPwEdgIhAL/0oXoaLxWOgvIQguetfVZ4ocYOQDRKHjCeBJIBx6ze","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40341},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"c1df5683e10faa1e7686b934fbc98a36a337310a","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.5.0","@d0paminedriven/pdfdown-freebsd-x64":"0.5.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.5.0","@d0paminedriven/pdfdown-darwin-arm64":"0.5.0","@d0paminedriven/pdfdown-android-arm64":"0.5.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.5.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.5.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.5.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.5.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.5.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.5.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.5.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.5.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.5.0_1769998916150_0.5318421925879357","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@d0paminedriven/pdfdown","version":"0.6.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.6.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"222948fbf18e2dbaab6eb84f189a49c109d1f2ed","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.6.0.tgz","fileCount":6,"integrity":"sha512-JhnajRTTgsuI4QyzarcM9Y8nv6GYgNNKrWupm4izK6MdoCtcfv9nf/AC1v3j3aS3OePuqxJzTHf3BPCxW15C/Q==","signatures":[{"sig":"MEUCIGCKTgIyCpwT3aVMcghx4GQdYjwcPdUs9orqGY2fph+NAiEA7DTe3f0kF6BaoKpz7e1NePFhX9yj2osIO+88fx8Gm0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41351},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"5ee37829c52b961d2ad1a48ebe22f3c7f6e4cee7","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.6.0","@d0paminedriven/pdfdown-freebsd-x64":"0.6.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.6.0","@d0paminedriven/pdfdown-darwin-arm64":"0.6.0","@d0paminedriven/pdfdown-android-arm64":"0.6.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.6.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.6.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.6.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.6.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.6.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.6.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.6.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.6.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.6.0_1770007699525_0.4132381083214436","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@d0paminedriven/pdfdown","version":"0.7.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.7.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"ce7e38dbe73039745606a463d9b258691a1d2157","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.7.0.tgz","fileCount":6,"integrity":"sha512-7I8s2hvotpFPN3H7/c/7DeTxSzdVFiLvBEIOjZZ7lGNZe7fDSILHlPPtiMIpgDrzvkVHn04TH8QYcqg1SWWNxg==","signatures":[{"sig":"MEUCIHVwpawJ8MdhrP4Hr4B66oSPyQvec6+4Kbci+l/tFoMqAiEA60Q97bgixT+Z7QlocyGoUOQK+aaY7GQdQ4De8vLG008=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49038},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"a3ff4be5935c15c8625e4996efe29e3ca274acaf","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.7.0","@d0paminedriven/pdfdown-freebsd-x64":"0.7.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.7.0","@d0paminedriven/pdfdown-darwin-arm64":"0.7.0","@d0paminedriven/pdfdown-android-arm64":"0.7.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.7.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.7.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.7.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.7.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.7.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.7.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.7.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.7.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.7.0_1770107488391_0.9705396868316298","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@d0paminedriven/pdfdown","version":"0.8.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.8.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"046602fa3f9579ec8e4a6186114d6c9dd7f51870","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.8.0.tgz","fileCount":6,"integrity":"sha512-xAO4AUTZtc3kcTcHHsLPAbfl8OCdA00sii5JK0yh67J+tYkXzDPTOpNtl70MKz2j0PsezZxbsS8fwvLWM+L9GQ==","signatures":[{"sig":"MEUCIBtOMSVgj0RJt07PSVNXfN1QXcFBDmNLEMC2nOiKS5gjAiEAnNRJpkmCKoJuu0+DxifRgEx90FZJv+sW2ComxYbk/SE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49359},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"2cf270a0ec04025a1cdca06e3b01979312cfd326","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.8.0","@d0paminedriven/pdfdown-freebsd-x64":"0.8.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.8.0","@d0paminedriven/pdfdown-darwin-arm64":"0.8.0","@d0paminedriven/pdfdown-android-arm64":"0.8.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.8.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.8.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.8.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.8.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.8.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.8.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.8.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.8.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.8.0_1770111854009_0.20621910834335422","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@d0paminedriven/pdfdown","version":"0.9.0","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.0","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"5fe165a0ab52a0f60849979159906e8223f5e0c0","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.0.tgz","fileCount":6,"integrity":"sha512-gAUkXF3yAe0UVZ2dqBAaYxa9SUw6nEwC0MPUEq58B8kYrkqIfE+RzrtO1K5vnvHKsq4rDeXHkvmDvIQbn1Qb5g==","signatures":[{"sig":"MEUCIAMQZVdkOngOvulVyUy+Frj8pauUuEyjVqvIATKTTvtLAiEA9GELWn2ilkOI2Tv+UC+REmcL9+GFgNUIFhhJYhsTq3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46796},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"5094969aee8ce530f08eb54a2d15798f3eecf3c5","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.0","@d0paminedriven/pdfdown-freebsd-x64":"0.9.0","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.0","@d0paminedriven/pdfdown-darwin-arm64":"0.9.0","@d0paminedriven/pdfdown-android-arm64":"0.9.0","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.0","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.0","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.0","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.0","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.0","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.0","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.0","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.0","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.0_1770121948826_0.44166810531916","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@d0paminedriven/pdfdown","version":"0.9.1","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.1","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"ec72f43f6a9dc20d50a99537d8753cacf8a9bb4b","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.1.tgz","fileCount":6,"integrity":"sha512-EFA60eOpNETGTq3mABjNn89JlyeFW2utIsFCCYKrYEMzBFmIBWJD7jPSiwZoh1Vvhw4dq3cd0tQ9dwBPBB4+MA==","signatures":[{"sig":"MEQCIAcoV93/NaTg3SPSl6Gx3+7a/MEym3zAn1TNGdZ8el2OAiBLRPtRYe3uPejaPheydvtNYtoK7epJxFRVwb09YXzNdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46796},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"baef1378b9f74390a0ea7cf080811ba32be66316","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.1","@d0paminedriven/pdfdown-freebsd-x64":"0.9.1","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.1","@d0paminedriven/pdfdown-darwin-arm64":"0.9.1","@d0paminedriven/pdfdown-android-arm64":"0.9.1","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.1","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.1","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.1","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.1","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.1","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.1","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.1","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.1","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.1_1770168366645_0.5954898575056387","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@d0paminedriven/pdfdown","version":"0.9.2","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.2","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"f7973358b83a34cc36b1c52369cc2100132a150c","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.2.tgz","fileCount":6,"integrity":"sha512-EN0XVUNcaM9gvtmgap3dy1Bk9ipB4G8xpc7hLjjRoNZugm63+l5fku1R0Opnz7s/y791Bx1rQ9K3TrBrkZWuqQ==","signatures":[{"sig":"MEQCICmENPZwmOwVR8ahi4M6YT4znLgOYLVudytvnPJUrQAgAiBLjNrpiNEBWBEZliYcTEK1ZWiMVrsurezVvolSTi5ZOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46796},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"d72d6be9d2eadd404810151afee0a97753bfd890","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.2","@d0paminedriven/pdfdown-freebsd-x64":"0.9.2","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.2","@d0paminedriven/pdfdown-darwin-arm64":"0.9.2","@d0paminedriven/pdfdown-android-arm64":"0.9.2","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.2","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.2","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.2","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.2","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.2","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.2","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.2","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.2","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.2"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.2_1770422479479_0.32994836354290635","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@d0paminedriven/pdfdown","version":"0.9.3","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.3","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"c9cc89054e5a658f52c33c50a2c6d28c6919b384","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.3.tgz","fileCount":6,"integrity":"sha512-DMPuyz4oJVEc6s3IbjjD0G3HWFN0GdW8BCb0oBjw20MbnSa2BefKayDMk5aMxm15yAEDANUgNUv9yS24RzHmdA==","signatures":[{"sig":"MEYCIQDULyH0/3DfCh4Fgn2ch0odpkvqGJWXibY5Z9cbF2CZXAIhAN+tKve4l3dKVVH2lHNRYCS3nu3J9RIkFExZBK26x5Fr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48905},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"05f88370de9f9bea2111c82bd4fa2920157f205f","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.3","@d0paminedriven/pdfdown-freebsd-x64":"0.9.3","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.3","@d0paminedriven/pdfdown-darwin-arm64":"0.9.3","@d0paminedriven/pdfdown-android-arm64":"0.9.3","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.3","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.3","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.3","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.3","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.3","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.3","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.3","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.3","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.3_1770458085761_0.9794390207460142","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@d0paminedriven/pdfdown","version":"0.9.4","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.4","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"a7fc9b46499d26352fd828abc0e21d6267ecaa27","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.4.tgz","fileCount":6,"integrity":"sha512-gsNB0o/O0dwjBHbZvt0KwiQnzggbXXG57KmlsxgQBhIkhV5xYUUhElFtI0hjvfHQglegE1geuWzoqaoJTZd2NQ==","signatures":[{"sig":"MEYCIQDqiZzKEc0XtlOjm0a/arKNnoA4uYe0YPGYwqKi23SN1QIhAN7rQ+3NejmFmxmw/ThgOjbMZJukc11Cv8OZnpCUpX6e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48905},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"a8671faf67e11bfd2220daf9a84f01c42b2dc2d4","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.4","@d0paminedriven/pdfdown-freebsd-x64":"0.9.4","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.4","@d0paminedriven/pdfdown-darwin-arm64":"0.9.4","@d0paminedriven/pdfdown-android-arm64":"0.9.4","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.4","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.4","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.4","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.4","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.4","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.4","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.4","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.4","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.4"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.4_1770638217731_0.5389978165962697","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@d0paminedriven/pdfdown","version":"0.9.5","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.5","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"0c0e76134db3bf486596dba900c20b0122fa28a3","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.5.tgz","fileCount":6,"integrity":"sha512-AiLL8pCzgiSRo12FkAovx1JFBuaBeXi1UmxmXuqQR79Ea+iUWZCMI17CIlLtSZwav5fQNek12B8+0WADCvadSA==","signatures":[{"sig":"MEQCIF6n2tB3/SyDjiiaGnBhP/G44MWp5XwWcDH/DwLbV5xUAiAlcvtlDQzxAxfsw8r67nBU3g+zKhjNYYxuxo9T90CU1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48905},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"d11e0289bd9cf7f2c72675f599688fda100f65d2","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.5","@d0paminedriven/pdfdown-freebsd-x64":"0.9.5","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.5","@d0paminedriven/pdfdown-darwin-arm64":"0.9.5","@d0paminedriven/pdfdown-android-arm64":"0.9.5","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.5","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.5","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.5","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.5","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.5","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.5","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.5","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.5","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.5"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.5_1770641472015_0.4844035131419058","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@d0paminedriven/pdfdown","version":"0.9.6","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.6","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"7d928b8826a651660a7ff797e138d97639c41a75","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.6.tgz","fileCount":6,"integrity":"sha512-JJre6BGlPiIWfmQ5rEbtGjwEe7irJj+Bo/6v0ut188XRsOEL++SDIbw/aBLgCJ1U3sQDFI+bl01qbNbFx2PJBw==","signatures":[{"sig":"MEUCICVPS9TrYYHhu9EhKeDtouD1t/jie603W74cmtAiNUEgAiEA0CLAQ4VUikKB/ItZIChGVv+BE09friMhzDG2+Wp9aW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48905},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"d0c0abca8b3dce09d9b0a2276a0d9c95000174dd","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.6","@d0paminedriven/pdfdown-freebsd-x64":"0.9.6","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.6","@d0paminedriven/pdfdown-darwin-arm64":"0.9.6","@d0paminedriven/pdfdown-android-arm64":"0.9.6","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.6","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.6","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.6","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.6","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.6","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.6","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.6","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.6","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.6"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.6_1770651138295_0.19635757837405365","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@d0paminedriven/pdfdown","version":"0.9.7","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.7","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"f94cbd174ba48d4471cf8734c9d7d77d18b086af","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.7.tgz","fileCount":6,"integrity":"sha512-F2BPo6a9Y8BRNDSD2YV1+rINhAE/DHSQa8rmD2TpxyID9Wd7WAfh8Qs2XXTwC9jvaMSzd0QbKlnXkk0/dbnkzg==","signatures":[{"sig":"MEQCIDLrcsVgZ6MwJfJHGqhR4YIPJb00wIUdFNBOlX6ezw/RAiABhKA43zmSJ5kyPKT+tYlC9hZ8pogl46ATvlhajrO2iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48905},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"e212407ad63a8206c3c15f0b7684eab63a1d2c1d","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.7","@d0paminedriven/pdfdown-freebsd-x64":"0.9.7","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.7","@d0paminedriven/pdfdown-darwin-arm64":"0.9.7","@d0paminedriven/pdfdown-android-arm64":"0.9.7","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.7","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.7","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.7","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.7","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.7","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.7","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.7","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.7","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.7"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.7_1770710114732_0.3488850072439551","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@d0paminedriven/pdfdown","version":"0.9.8","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"license":"MIT","_id":"@d0paminedriven/pdfdown@0.9.8","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"homepage":"https://github.com/DopamineDriven/pdfdown#readme","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"ava":{"files":["__test__/**/*.spec.ts"],"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"58aa427e28a6ce2c18e2b4d22e59efa18556e6bb","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.8.tgz","fileCount":6,"integrity":"sha512-K3f4Gg+oXJKzi26hhJcpCqzNGy39QZ6Pttg9BIW+d8ZbRQyb3aMyKpxySCTM5xgKhu/qmdmGSL43I1S/HZeVSA==","signatures":[{"sig":"MEUCICvDWiTtEbghYMcMdVOt0kraQNRdESKmSwDZeP5ykFz1AiEAs42MXf/Dg9550Jp5TzXuPRIDObalZaD4Co2c1202NnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48719},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"],"binaryName":"pdfdown"},"types":"./index.d.ts","browser":"browser.js","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"gitHead":"fb6ead16824ca881c6f9d667e81dacdee607d59a","scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release --features render","format":"run-p format:prettier format:rs format:toml","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepare":"husky","version":"napi version","test:ocr":"ava --config ocr/ava.config.mjs","artifacts":"napi artifacts","build:ocr":"napi build --platform --release --features ocr,render --package-json-path ocr/package.json --output-dir ocr","format:rs":"cargo fmt","preversion":"napi build --platform && git add .","build:debug":"napi build --platform --features render","format:toml":"taplo format","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","prepublishOnly":"napi prepublish -t npm","format:prettier":"prettier . -w","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm"},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/DopamineDriven/pdfdown.git","type":"git"},"_npmVersion":"11.6.2","description":"Rust powered PDF extraction for Node","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","@taplo/cli":"^0.7.0","typescript":"^5.9.2","@types/node":"^25.2.0","lint-staged":"^16.1.6","@emnapi/core":"^1.5.0","@napi-rs/cli":"^3.2.0","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.35","@emnapi/runtime":"^1.5.0","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@d0paminedriven/pdfdown-darwin-x64":"0.9.8","@d0paminedriven/pdfdown-freebsd-x64":"0.9.8","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.8","@d0paminedriven/pdfdown-darwin-arm64":"0.9.8","@d0paminedriven/pdfdown-android-arm64":"0.9.8","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.8","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.8","@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.8","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.8","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.8","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.8","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.8","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.8","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.8"},"_npmOperationalInternal":{"tmp":"tmp/pdfdown_0.9.8_1771431570588_0.07614826845114586","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@d0paminedriven/pdfdown","version":"0.9.9","description":"Rust powered PDF extraction for Node","main":"index.js","repository":{"type":"git","url":"git+https://github.com/DopamineDriven/pdfdown.git"},"license":"MIT","browser":"browser.js","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"napi":{"binaryName":"pdfdown","targets":["x86_64-pc-windows-msvc","x86_64-apple-darwin","x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","i686-pc-windows-msvc","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","aarch64-linux-android","x86_64-unknown-freebsd","aarch64-unknown-linux-musl","aarch64-pc-windows-msvc","armv7-linux-androideabi","wasm32-wasip1-threads"]},"engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","artifacts:ocr":"napi artifacts --package-json-path ocr/package.json --npm-dir ocr/npm","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release --no-const-enum --features render","build:debug":"napi build --platform --no-const-enum --features render","build:ocr":"napi build --platform --release --no-const-enum --features ocr,render --package-json-path ocr/package.json --output-dir ocr","create-npm-dirs:ocr":"napi create-npm-dirs --package-json-path ocr/package.json --npm-dir ocr/npm","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","lint:rs":"cargo fmt -- --check && cargo clippy --all-features -- -D warnings","prepublishOnly":"napi prepublish -t npm","test":"ava","test:ocr":"ava --config ocr/ava.config.mjs","preversion":"napi build --platform --no-const-enum && git add .","version":"napi version","prepare":"husky"},"devDependencies":{"@emnapi/core":"^1.5.0","@emnapi/runtime":"^1.5.0","@napi-rs/cli":"^3.2.0","@oxc-node/core":"^0.0.35","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","@types/node":"^25.2.0","ava":"^6.4.1","chalk":"^5.6.2","husky":"^9.1.7","lint-staged":"^16.1.6","npm-run-all2":"^8.0.4","oxlint":"^1.14.0","prettier":"^3.6.2","tinybench":"^6.0.0","typescript":"^5.9.2"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"files":["__test__/**/*.spec.ts"],"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"packageManager":"yarn@4.12.0","optionalDependencies":{"@d0paminedriven/pdfdown-win32-x64-msvc":"0.9.9","@d0paminedriven/pdfdown-darwin-x64":"0.9.9","@d0paminedriven/pdfdown-linux-x64-gnu":"0.9.9","@d0paminedriven/pdfdown-linux-x64-musl":"0.9.9","@d0paminedriven/pdfdown-linux-arm64-gnu":"0.9.9","@d0paminedriven/pdfdown-win32-ia32-msvc":"0.9.9","@d0paminedriven/pdfdown-linux-arm-gnueabihf":"0.9.9","@d0paminedriven/pdfdown-darwin-arm64":"0.9.9","@d0paminedriven/pdfdown-android-arm64":"0.9.9","@d0paminedriven/pdfdown-freebsd-x64":"0.9.9","@d0paminedriven/pdfdown-linux-arm64-musl":"0.9.9","@d0paminedriven/pdfdown-win32-arm64-msvc":"0.9.9","@d0paminedriven/pdfdown-android-arm-eabi":"0.9.9","@d0paminedriven/pdfdown-wasm32-wasi":"0.9.9"},"gitHead":"6fb0e474385a13bb621e2d678c4c619b9fc0ea6d","types":"./index.d.ts","_id":"@d0paminedriven/pdfdown@0.9.9","bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"homepage":"https://github.com/DopamineDriven/pdfdown#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-gA7Ty7oIToMsJAwGlx8OfKdh3im+IOWQkrJv8jf9G95lu4WyVvtGEhnMikYAyT0Gn8HIxoZOM50xh81/Ch0Fhw==","shasum":"b90a0ca3048ed9a16c441027d9bcb9574864e522","tarball":"https://registry.npmjs.org/@d0paminedriven/pdfdown/-/pdfdown-0.9.9.tgz","fileCount":6,"unpackedSize":48688,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d0paminedriven%2fpdfdown@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICcyeNxosmzdrObHe6pTSqHJbOaOi2WuQkMCvY8W/PxCAiB+D4Fn3omstU8l+XxNfw9+IjTbGrTZ9xRQ5dq7J8amVw=="}]},"_npmUser":{"name":"d0paminedriven","email":"andrew@windycitydevs.io"},"directories":{},"maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdfdown_0.9.9_1771636755814_0.7623609075550795"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-01T08:13:10.391Z","modified":"2026-02-21T01:19:16.222Z","0.1.0":"2026-02-01T08:13:10.633Z","0.1.1":"2026-02-01T08:45:01.704Z","0.2.0":"2026-02-01T10:46:09.040Z","0.3.0":"2026-02-01T23:33:13.730Z","0.4.0":"2026-02-01T23:55:28.779Z","0.5.0":"2026-02-02T02:21:56.290Z","0.6.0":"2026-02-02T04:48:19.705Z","0.7.0":"2026-02-03T08:31:28.535Z","0.8.0":"2026-02-03T09:44:14.152Z","0.9.0":"2026-02-03T12:32:28.997Z","0.9.1":"2026-02-04T01:26:06.781Z","0.9.2":"2026-02-07T00:01:19.652Z","0.9.3":"2026-02-07T09:54:45.915Z","0.9.4":"2026-02-09T11:56:57.883Z","0.9.5":"2026-02-09T12:51:12.155Z","0.9.6":"2026-02-09T15:32:18.440Z","0.9.7":"2026-02-10T07:55:14.869Z","0.9.8":"2026-02-18T16:19:30.735Z","0.9.9":"2026-02-21T01:19:15.951Z"},"bugs":{"url":"https://github.com/DopamineDriven/pdfdown/issues"},"license":"MIT","homepage":"https://github.com/DopamineDriven/pdfdown#readme","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api"],"repository":{"type":"git","url":"git+https://github.com/DopamineDriven/pdfdown.git"},"description":"Rust powered PDF extraction for Node","maintainers":[{"name":"d0paminedriven","email":"andrew@windycitydevs.io"}],"readme":"# `@d0paminedriven/pdfdown`\n\n![CI](https://github.com/DopamineDriven/pdfdown/workflows/CI/badge.svg)\n\nRust-powered PDF extraction for Node.js via [napi-rs](https://napi.rs). Extracts per-page text, images (as PNG), annotations (links, destinations), structured text (with header/footer detection), and metadata from PDF buffers. All extraction is parallelized with [rayon](https://github.com/rayon-rs/rayon) for multi-core performance.\n\nAn OCR variant is available as [`@d0paminedriven/pdfdown-ocr`](https://www.npmjs.com/package/@d0paminedriven/pdfdown-ocr) for image-only PDF pages (scanned documents, embedded screenshots). It includes all of the APIs below plus Tesseract-based OCR fallback.\n\n## Install\n\n```bash\nnpm install @d0paminedriven/pdfdown\n# or\nyarn add @d0paminedriven/pdfdown\n# or\npnpm add @d0paminedriven/pdfdown\n```\n\n## API\n\n### Standalone functions\n\n#### Synchronous\n\n```typescript\nexport declare function extractTextPerPage(buffer: Buffer): Array<PageText>\nexport declare function extractImagesPerPage(buffer: Buffer): Array<PageImage>\nexport declare function extractAnnotationsPerPage(buffer: Buffer): Array<PageAnnotation>\nexport declare function extractStructuredTextPerPage(buffer: Buffer): Array<StructuredPageText>\nexport declare function pdfMetadata(buffer: Buffer): PdfMeta\nexport declare function pdfDocument(buffer: Buffer): PdfDocument\n```\n\n#### Async (libuv thread pool)\n\nEach sync function has an async counterpart that runs on the libuv thread pool, keeping the main thread free.\n\n```typescript\nexport declare function extractTextPerPageAsync(buffer: Buffer): Promise<Array<PageText>>\nexport declare function extractImagesPerPageAsync(buffer: Buffer): Promise<Array<PageImage>>\nexport declare function extractAnnotationsPerPageAsync(buffer: Buffer): Promise<Array<PageAnnotation>>\nexport declare function extractStructuredTextPerPageAsync(buffer: Buffer): Promise<Array<StructuredPageText>>\nexport declare function pdfMetadataAsync(buffer: Buffer): Promise<PdfMeta>\nexport declare function pdfDocumentAsync(buffer: Buffer): Promise<PdfDocument>\n```\n\n### `PdfDown` class\n\nParse once, call many. The constructor parses the PDF document once and reuses it across all sync method calls. Async methods share the parsed document across worker threads via `Arc` (atomic reference counting) with zero re-parsing overhead.\n\n```typescript\nexport declare class PdfDown {\n  constructor(buffer: Buffer)\n  textPerPage(): Array<PageText>\n  imagesPerPage(): Array<PageImage>\n  annotationsPerPage(): Array<PageAnnotation>\n  structuredText(): Array<StructuredPageText>\n  metadata(): PdfMeta\n  document(): PdfDocument\n  textPerPageAsync(): Promise<Array<PageText>>\n  imagesPerPageAsync(): Promise<Array<PageImage>>\n  annotationsPerPageAsync(): Promise<Array<PageAnnotation>>\n  structuredTextAsync(): Promise<Array<StructuredPageText>>\n  metadataAsync(): Promise<PdfMeta>\n  documentAsync(): Promise<PdfDocument>\n}\n```\n\n### Types\n\n```typescript\nexport interface PageText {\n  page: number\n  text: string\n}\n\nexport interface StructuredPageText {\n  page: number\n  header: string\n  body: string\n  footer: string\n}\n\nexport interface PageImage {\n  page: number\n  imageIndex: number\n  width: number\n  height: number\n  data: Buffer // PNG-encoded bytes\n  colorSpace: string\n  bitsPerComponent: number\n  filter: string\n  xobjectName: string\n  objectId: string\n}\n\nexport interface PageAnnotation {\n  page: number\n  subtype: string // \"Link\", \"Text\", \"Highlight\", etc.\n  rect: Array<number> // [x1, y1, x2, y2] bounding box\n  uri?: string // external link URL\n  dest?: string // internal named destination\n  content?: string // tooltip / alt text\n}\n\nexport const enum BoxType {\n  CropBox = 'CropBox',\n  MediaBox = 'MediaBox',\n  Unknown = 'Unknown',\n}\n\nexport interface PageBox {\n  pageCount: number // number of pages with these dimensions\n  left: number\n  bottom: number\n  right: number\n  top: number\n  width: number\n  height: number\n  boxType: BoxType\n  pages?: Array<number> // only present on non-dominant entries\n}\n\nexport interface PdfMeta {\n  pageCount: number\n  version: string\n  isLinearized: boolean\n  creator?: string\n  producer?: string\n  creationDate?: string\n  modificationDate?: string\n  pageBoxes: Array<PageBox>\n}\n\nexport interface PdfDocument {\n  version: string\n  isLinearized: boolean\n  pageCount: number\n  creator?: string\n  producer?: string\n  creationDate?: string\n  modificationDate?: string\n  pageBoxes: Array<PageBox>\n  totalImages: number\n  totalAnnotations: number\n  imagePages: Array<number>\n  annotationPages: Array<number>\n  text: Array<PageText>\n  structuredText: Array<StructuredPageText>\n  images: Array<PageImage>\n  annotations: Array<PageAnnotation>\n}\n```\n\n## Usage\n\n### Standalone functions\n\n#### Extract text per page\n\n```typescript\nimport { readFileSync } from 'fs'\nimport { extractTextPerPage } from '@d0paminedriven/pdfdown'\n\nconst pdf = readFileSync('document.pdf')\nconst pages = extractTextPerPage(pdf)\n\nfor (const { page, text } of pages) {\n  console.log(`Page ${page}: ${text.slice(0, 100)}...`)\n}\n```\n\n#### Extract text per page (async)\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { extractTextPerPageAsync } from '@d0paminedriven/pdfdown'\n\nconst pdf = await readFile('document.pdf')\nconst pages = await extractTextPerPageAsync(pdf)\n\nfor (const { page, text } of pages) {\n  console.log(`Page ${page}: ${text.slice(0, 100)}...`)\n}\n```\n\n#### Extract structured text with header/footer detection\n\nSplits each page into `header`, `body`, and `footer` sections by detecting repeated lines across pages. Lines that appear at the same position (top or bottom) on >= 60% of pages are classified as headers or footers. Page numbers and other varying digits are normalized during comparison, so \"Page 1\" and \"Page 42\" are treated as the same line.\n\n```typescript\nimport { readFileSync } from 'fs'\nimport { extractStructuredTextPerPage } from '@d0paminedriven/pdfdown'\n\nconst pdf = readFileSync('document.pdf')\nconst pages = extractStructuredTextPerPage(pdf)\n\nfor (const { page, header, body, footer } of pages) {\n  console.log(`Page ${page}:`)\n  if (header) console.log(`  Header: ${header}`)\n  console.log(`  Body: ${body.slice(0, 100)}...`)\n  if (footer) console.log(`  Footer: ${footer}`)\n}\n```\n\n#### Extract structured text (async)\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { extractStructuredTextPerPageAsync } from '@d0paminedriven/pdfdown'\n\nconst pdf = await readFile('document.pdf')\nconst pages = await extractStructuredTextPerPageAsync(pdf)\n\n// Filter out headers/footers for clean text extraction\nconst cleanText = pages.map((p) => p.body).join('\\n\\n')\n```\n\n#### Extract images as PNG\n\n```typescript\nimport { readFileSync } from 'fs'\nimport { extractImagesPerPage } from '@d0paminedriven/pdfdown'\n\nconst pdf = readFileSync('document.pdf')\nconst images = extractImagesPerPage(pdf)\n\nfor (const img of images) {\n  const dataUrl = `data:image/png;base64,${img.data.toString('base64')}`\n  console.log(`Page ${img.page} image ${img.imageIndex}: ${img.width}x${img.height} ${img.colorSpace}`)\n}\n```\n \n#### Extract images as PNG (async)\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { extractImagesPerPageAsync } from '@d0paminedriven/pdfdown'\n\nconst pdf = await readFile('document.pdf')\nconst images = await extractImagesPerPageAsync(pdf)\n\nfor (const img of images) {\n  const dataUrl = `data:image/png;base64,${img.data.toString('base64')}`\n  console.log(`Page ${img.page} image ${img.imageIndex}: ${img.width}x${img.height} ${img.colorSpace}`)\n}\n```\n\n#### Extract annotations\n\n```typescript\nimport { readFileSync } from 'fs'\nimport { extractAnnotationsPerPage } from '@d0paminedriven/pdfdown'\n\nconst pdf = readFileSync('document.pdf')\nconst annots = extractAnnotationsPerPage(pdf)\n\nfor (const annot of annots) {\n  if (annot.uri) {\n    console.log(`Page ${annot.page}: ${annot.uri}`)\n  }\n  if (annot.dest) {\n    console.log(`Page ${annot.page}: internal link to ${annot.dest}`)\n  }\n}\n```\n\n#### Extract annotations (async)\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { extractAnnotationsPerPageAsync } from '@d0paminedriven/pdfdown'\n\nconst pdf = await readFile('document.pdf')\nconst annots = await extractAnnotationsPerPageAsync(pdf)\n\nconst links = annots.filter((a) => a.uri)\nconsole.log(`Found ${links.length} external links across ${new Set(links.map((a) => a.page)).size} pages`)\n```\n\n#### Get PDF metadata\n\n```typescript\nimport { readFileSync } from 'fs'\nimport { pdfMetadata } from '@d0paminedriven/pdfdown'\n\nconst pdf = readFileSync('document.pdf')\nconst meta = pdfMetadata(pdf)\n\nconsole.log(`v${meta.version}, ${meta.pageCount} pages, linearized: ${meta.isLinearized}`)\n```\n\n#### Get PDF metadata (async)\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { pdfMetadataAsync } from '@d0paminedriven/pdfdown'\n\nconst pdf = await readFile('document.pdf')\nconst meta = await pdfMetadataAsync(pdf)\n\nconsole.log(`v${meta.version}, ${meta.pageCount} pages, linearized: ${meta.isLinearized}`)\n```\n\n#### Page bounding boxes\n\n`pageBoxes` on `PdfMeta` and `PdfDocument` returns deduplicated page dimensions. Uniform PDFs (all pages the same size) return a single entry. Mixed-size PDFs return one entry per distinct geometry — the dominant (most frequent) entry has `pages` absent, while non-dominant entries list their specific page numbers.\n\n```typescript\nimport { readFileSync } from 'fs'\nimport { pdfMetadata } from '@d0paminedriven/pdfdown'\n\nconst meta = pdfMetadata(readFileSync('document.pdf'))\n\nif (meta.pageBoxes.length === 1) {\n  const box = meta.pageBoxes[0]\n  console.log(`Uniform: ${box.width}x${box.height} ${box.boxType} (${box.pageCount} pages)`)\n} else {\n  for (const box of meta.pageBoxes) {\n    const scope = box.pages ? `pages ${box.pages.join(', ')}` : 'all other pages'\n    console.log(`${box.width}x${box.height} ${box.boxType} — ${scope}`)\n  }\n}\n```\n\n### `PdfDown` class\n\nThe class-based API parses the PDF once in the constructor. Sync methods reuse the parsed document directly (zero re-parsing). Async methods share the parsed document across libuv worker threads via `Arc` — no data copying, no re-parsing.\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { PdfDown } from '@d0paminedriven/pdfdown'\n\nconst pdf = new PdfDown(await readFile('document.pdf'))\n\n// Sync — reuses the already-parsed document\nconst text = pdf.textPerPage()\nconst images = pdf.imagesPerPage()\nconst annots = pdf.annotationsPerPage()\nconst structured = pdf.structuredText()\nconst meta = pdf.metadata()\n\n// Async — shares parsed document via Arc across worker threads\nconst [asyncText, asyncImages, asyncAnnots, asyncStructured] = await Promise.all([\n  pdf.textPerPageAsync(),\n  pdf.imagesPerPageAsync(),\n  pdf.annotationsPerPageAsync(),\n  pdf.structuredTextAsync(),\n])\n```\n\n### Combined: text + images + links for multimodal embeddings\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { PdfDown } from '@d0paminedriven/pdfdown'\n\nconst pdf = new PdfDown(await readFile('document.pdf'))\n\nconst [text, images, annots] = await Promise.all([\n  pdf.textPerPageAsync(),\n  pdf.imagesPerPageAsync(),\n  pdf.annotationsPerPageAsync(),\n])\n\n// Group images and links by page\nconst imagesByPage = Map.groupBy(images, (img) => img.page)\nconst linksByPage = Map.groupBy(\n  annots.filter((a) => a.uri),\n  (a) => a.page,\n)\n\n// Build per-page payloads for multimodal embeddings\nfor (const { page, text: pageText } of text) {\n  const payload = {\n    page,\n    text: pageText,\n    images: (imagesByPage.get(page) ?? []).map((img) => ({\n      dataUrl: `data:image/png;base64,${img.data.toString('base64')}`,\n      width: img.width,\n      height: img.height,\n    })),\n    links: (linksByPage.get(page) ?? []).map((a) => a.uri),\n  }\n  // Send payload to Voyage AI, pgvector, etc.\n}\n```\n\n### Combined: structured text for clean content pipelines\n\n```typescript\nimport { readFile } from 'fs/promises'\nimport { PdfDown } from '@d0paminedriven/pdfdown'\n\nconst pdf = new PdfDown(await readFile('document.pdf'))\nconst pages = await pdf.structuredTextAsync()\n\n// Strip headers/footers for clean RAG ingestion\nconst chunks = pages.map(({ page, body }) => ({\n  page,\n  content: body.trim(),\n})).filter((c) => c.content.length > 0)\n```\n\n## Parallelism\n\nAll extraction functions use [rayon](https://github.com/rayon-rs/rayon) for automatic multi-core parallelism. Per-page text extraction, image decoding, and annotation parsing run concurrently across CPU cores. The `pdfDocument` / `document()` call additionally runs text, image, and annotation extraction concurrently via nested `rayon::join`. This is internal to the native addon — the Node.js API surface is unchanged.\n\nOCR runs on a **dedicated capped thread pool** (default 4 threads, configurable via `maxThreads`) to prevent oversubscription when running inside a libuv worker thread. Non-OCR extraction uses the global rayon pool.\n\n### Tuning Node.js worker threads\n\nNode's libuv thread pool defaults to 4 threads. If you're calling multiple async extraction functions concurrently, you may want to increase it:\n\n```bash\nUV_THREADPOOL_SIZE=8 node app.js\n```\n\n## Supported formats\n\n| Filter      | Description                | Handling                           |\n| ----------- | -------------------------- | ---------------------------------- |\n| DCTDecode   | JPEG-compressed images     | Decoded and re-encoded as PNG      |\n| JPXDecode   | JPEG 2000 images           | Decoded and re-encoded as PNG      |\n| FlateDecode | Zlib-compressed raw pixels | Decompressed, reconstructed as PNG |\n| None        | Uncompressed raw pixels    | Reconstructed as PNG               |\n\n| ColorSpace | Channels                   |\n| ---------- | -------------------------- |\n| DeviceRGB  | 3                          |\n| DeviceGray | 1                          |\n| DeviceCMYK | 4 (converted to RGB)       |\n| ICCBased   | Inferred from /N parameter |\n\n8-bit and 16-bit BitsPerComponent are both supported (16-bit downscaled to 8-bit for PNG output).\n\n## How it works\n\nBuilt with [lopdf](https://github.com/J-F-Liu/lopdf) (pure Rust PDF parser), [image](https://github.com/image-rs/image) (PNG/JPEG encoding), [hayro-jpeg2000](https://crates.io/crates/hayro-jpeg2000) (JPEG 2000 decoding), and [rayon](https://github.com/rayon-rs/rayon) (data parallelism). Compiled to a native Node.js addon via [napi-rs](https://napi.rs) with prebuilt binaries for:\n\n- macOS (x64, ARM64)\n- Windows (x64, ia32, ARM64)\n- Linux glibc (x64, ARM64, ARMv7)\n- Linux musl (x64, ARM64)\n- FreeBSD (x64)\n- Android (ARM64, ARMv7)\n- WASI\n\n## License\n\nMIT\n","readmeFilename":"README.md"}