{"_id":"ppu-paddle-ocr","_rev":"67-d49b6a235704841c4c1a5d1f90056bee","name":"ppu-paddle-ocr","dist-tags":{"latest":"6.6.0"},"versions":{"1.0.0":{"name":"ppu-paddle-ocr","version":"1.0.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@1.0.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"e5e928df23ad836e0c3b4dbdf13e78bd851139c0","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-1.0.0.tgz","fileCount":13,"integrity":"sha512-YpjGvIsZ5b+tvA6w+Vc24G/7W1QWvjiChTEBuZ5QmPJn8au27JiH3mqjG5c058ajVLoidMb8W9xyxs1nAskKBg==","signatures":[{"sig":"MEUCIGAGpwrlvli0+W9TwSeRGKfh7FW5of6yqI2nGeGex4I/AiEA+WpZIuCZAgQJe4Fcld+qY4OznKhe46FEID1lT9abtbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41624},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"e5e928df23ad836e0c3b4dbdf13e78bd851139c0","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-YpjGvIsZ5b+tvA6w+Vc24G/7W1QWvjiChTEBuZ5QmPJn8au27JiH3mqjG5c058ajVLoidMb8W9xyxs1nAskKBg==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_1.0.0_1747154396754_0.19061399872485407","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"ppu-paddle-ocr","version":"1.0.1","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@1.0.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"979fbf5bfbd7a8e0d17ba19ac3fae7d1a5ad2a0b","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-1.0.1.tgz","fileCount":15,"integrity":"sha512-ltlieGl3zLvXCuTU6lzyQVHUNAIURLfEs6C15ufUjwIV9qM1rx74gevpjJDmxhNX32OoJH3ZRMFRweA37dmKXQ==","signatures":[{"sig":"MEUCIQCv20p+NPbMM5ECO+elsBHHnD8GRlkM2kVduJ60Y104xgIgZZ4Q09htTcR8nj8s1ibxuZnkQX65tVPAObSYlL96OQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11431866},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"979fbf5bfbd7a8e0d17ba19ac3fae7d1a5ad2a0b","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-ltlieGl3zLvXCuTU6lzyQVHUNAIURLfEs6C15ufUjwIV9qM1rx74gevpjJDmxhNX32OoJH3ZRMFRweA37dmKXQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_1.0.1_1747155491673_0.7736561831289166","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"ppu-paddle-ocr","version":"1.0.2","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@1.0.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"f0d4a35e433c0d86a35443a25e4daaf5775890f1","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-1.0.2.tgz","fileCount":15,"integrity":"sha512-Fdu6ttKboCscGfPkj1cHmKR+taL4+sU78Mtaxf/OiD3VSnWltWgnEvaGaIakjgSLHwx/cngwclCB9fLXT6anYw==","signatures":[{"sig":"MEYCIQCHu2Zp+JU066ovzFGzdDDpvyu+zhTPcZTL610JlWJFVAIhAMSOWOvrZI6hPSUYmb4+3e9U0LRHyBjb3yD384S5SjK+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11432117},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"f0d4a35e433c0d86a35443a25e4daaf5775890f1","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-Fdu6ttKboCscGfPkj1cHmKR+taL4+sU78Mtaxf/OiD3VSnWltWgnEvaGaIakjgSLHwx/cngwclCB9fLXT6anYw==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_1.0.2_1747155769886_0.0061197239495272004","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"ppu-paddle-ocr","version":"1.1.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@1.1.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"0c7c2f6eeef62e123263b3dba977a5f9f662cf0a","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-1.1.0.tgz","fileCount":15,"integrity":"sha512-R3weX0TA6WmP+qTvhT1jyMepa2Avc5iBjTIsFSAAIb3AHDM/yurv3SJ9Hn/5DJ6mPQVAJnFee6Lph0O4a7DEoQ==","signatures":[{"sig":"MEQCIG6X7HV3arKte2eCM6mxD78nqbCS/WMGFU6B/kpPysTwAiBU2i6javsQ1BawD3n8iHLJRrY89zKRYe13Ni0RI39NkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11432381},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"0c7c2f6eeef62e123263b3dba977a5f9f662cf0a","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-R3weX0TA6WmP+qTvhT1jyMepa2Avc5iBjTIsFSAAIb3AHDM/yurv3SJ9Hn/5DJ6mPQVAJnFee6Lph0O4a7DEoQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_1.1.0_1748417772727_0.9434305179274292","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"ppu-paddle-ocr","version":"1.2.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@1.2.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"dffbf4b961410c06012978d12cb4735142ad5403","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-1.2.0.tgz","fileCount":15,"integrity":"sha512-yyU8kV6zABzcbSMQnFGDsYCNh8naOIuIme8s3ewxQhD2YoLC+Kw5SompIZ1V1u05vfHlZnF2Yz3F+gRrLPehkA==","signatures":[{"sig":"MEUCIDNXvr5EmAHufMncMAfi7PMWo8ja+tWSCj7I4yp6+j4FAiEAupSc2N9rBdbuyViBsNOW7yXfgbzA+qq2YDehufe5qA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11432879},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"dffbf4b961410c06012978d12cb4735142ad5403","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-yyU8kV6zABzcbSMQnFGDsYCNh8naOIuIme8s3ewxQhD2YoLC+Kw5SompIZ1V1u05vfHlZnF2Yz3F+gRrLPehkA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_1.2.0_1748894435918_0.21582963349576678","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"ppu-paddle-ocr","version":"1.3.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@1.3.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"16814242f1a439fc368eb629f48e9635f7d63ebe","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-1.3.0.tgz","fileCount":16,"integrity":"sha512-r+8HuaLR6diL/pPHZb1FYXHBK+Kv/VEGiWc8hGQz16p/29kW0O9Ps6aqou1HUbmKbw6muxvOZC2llAWmbD/M+w==","signatures":[{"sig":"MEQCIFCAK5y7N+kNsnuDilmnf86FdyEQAUODKrhCewwS/wr7AiA7sgk7g2uUGnZCFWwR220LZGHUlqDQSUm99ywHiqQf7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11433862},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"16814242f1a439fc368eb629f48e9635f7d63ebe","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-r+8HuaLR6diL/pPHZb1FYXHBK+Kv/VEGiWc8hGQz16p/29kW0O9Ps6aqou1HUbmKbw6muxvOZC2llAWmbD/M+w==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_1.3.0_1748925180324_0.6880064223276625","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"ppu-paddle-ocr","version":"2.0.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.0.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"272c6ff2f0d7018e7ba0a08a1bd72ab5364728b5","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.0.0.tgz","fileCount":16,"integrity":"sha512-tUdojXOoEtEeoBmDi2W3tIMgo0MlTxOh0zw6HWgLrZSmtS2NBAPY1OmSf+SRak4MesHCd2fXcwmLdLBm3pSI0A==","signatures":[{"sig":"MEQCIH1rOKVGfC1LwB3UVwC/tghvDWFr+SrhcJ3EVV3kxt0tAiBZv8EfZcME9X4t2RbBssaRoxAwmQuN+rArA2LU1qQZqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12458365},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"272c6ff2f0d7018e7ba0a08a1bd72ab5364728b5","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-tUdojXOoEtEeoBmDi2W3tIMgo0MlTxOh0zw6HWgLrZSmtS2NBAPY1OmSf+SRak4MesHCd2fXcwmLdLBm3pSI0A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.0.0_1748926142648_0.16861812570406642","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"ppu-paddle-ocr","version":"2.1.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.1.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"0a45ce1a8a78a659f20f4978e246e04add8b1428","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.1.0.tgz","fileCount":16,"integrity":"sha512-ouEWXmFU5KLRPiucYqFcAVjimZ969zpsBjIpymuPalB9EJAT7+A9VMT8yldfnJDjil1/f2VMs8Aeyj8/sgJSJg==","signatures":[{"sig":"MEYCIQDk/yQfXmV8jGDtzkWsZDeFRy0eqv5PqGYjCfwP4XueEAIhAJpO3aiqanOajRkMkNTJwb+kQfGO1bX0Yp0zsARs9lV3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12459290},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"0a45ce1a8a78a659f20f4978e246e04add8b1428","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-ouEWXmFU5KLRPiucYqFcAVjimZ969zpsBjIpymuPalB9EJAT7+A9VMT8yldfnJDjil1/f2VMs8Aeyj8/sgJSJg==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.2.3","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.1.0_1749715877610_0.35145349821627825","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"ppu-paddle-ocr","version":"2.2.2","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.2.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"60e5e341e1eac44d859aed3534f06b4c64ab28bd","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.2.2.tgz","fileCount":18,"integrity":"sha512-3XSNJDgDeSI5TrkB3wucxDSj0TR5AmiC5P0Yj9IN5/Bb2ibgCJTOjnflF2CuzgdJto8Kt+NVzyilCD1RjFxrMQ==","signatures":[{"sig":"MEYCIQDiTXhuWncdNlaos0zmpOyogguGrRMFU6gv7fzcnG0XzgIhAOMauHGr4itYtjSDHixFOPMJ9KmdxffHoQILRTmVru/h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12468857},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"60e5e341e1eac44d859aed3534f06b4c64ab28bd","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-3XSNJDgDeSI5TrkB3wucxDSj0TR5AmiC5P0Yj9IN5/Bb2ibgCJTOjnflF2CuzgdJto8Kt+NVzyilCD1RjFxrMQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.2.2_1751256206376_0.06657877653274324","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"ppu-paddle-ocr","version":"2.3.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.3.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"8344b5b915a0ef6c6ec7482803fd960162fd65fe","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.3.0.tgz","fileCount":18,"integrity":"sha512-aKlPElvDZkVkGVtgyconaxF/DORV0vff0rb+I/rRTBK5vQIPW+J2UyRd70cHcgOQG7mZTYCIV0NkawOIhiJfbQ==","signatures":[{"sig":"MEQCIHWEQZ93ZD0KQpuQ1aFnUNCoPtrQ/iCKcNSsxJ1+16eCAiAE5NvD2pCsSljwJhIYelWQUBuKkstaK5IUXuE4fPujiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12469743},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"8344b5b915a0ef6c6ec7482803fd960162fd65fe","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-aKlPElvDZkVkGVtgyconaxF/DORV0vff0rb+I/rRTBK5vQIPW+J2UyRd70cHcgOQG7mZTYCIV0NkawOIhiJfbQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.3.0_1751264175659_0.9709692301014992","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"ppu-paddle-ocr","version":"2.3.1","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.3.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"e81aa78a3258f1878cd72bb459198ec13a2fb887","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.3.1.tgz","fileCount":18,"integrity":"sha512-/U5FTmv/pQG1vvFkBsp7/KiDl7vTAONgGJcW+DK2LCHaJ8WqM19ktWZXQ0RCpm3j6MuO5e6uh8g45SxgFzp9lQ==","signatures":[{"sig":"MEUCIHT2KKiPJQI2+1u8yqivMqfCPlxXO773KdCGBptzPJ00AiEAm9AAeJq8nMmpZZHzlc/LVnsbroza4jxV5Vf+0Dp0JPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12469490},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"e81aa78a3258f1878cd72bb459198ec13a2fb887","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-/U5FTmv/pQG1vvFkBsp7/KiDl7vTAONgGJcW+DK2LCHaJ8WqM19ktWZXQ0RCpm3j6MuO5e6uh8g45SxgFzp9lQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.3.1_1751267351047_0.5728419533730136","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"ppu-paddle-ocr","version":"2.3.2","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.3.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"cea8cc038be18c6e0a4324a1c221e084f43e9f25","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.3.2.tgz","fileCount":18,"integrity":"sha512-kDB0pvHwvAnmTIv+yGHt2elSa7vK4LaR9YB7NpHkxPBYhn8FHCxuncjSCdCTHMzgwwdPa1AtFoiQFnZccP+fzg==","signatures":[{"sig":"MEYCIQCtFODcDw8JlT5og4m2aAaA3alaZPVdZGm3p6DDBNTvwAIhAJlcUzy42sq3NXtXduadT8xZYrbF/vudDRzRyzIOiWPB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12469602},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"cea8cc038be18c6e0a4324a1c221e084f43e9f25","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-kDB0pvHwvAnmTIv+yGHt2elSa7vK4LaR9YB7NpHkxPBYhn8FHCxuncjSCdCTHMzgwwdPa1AtFoiQFnZccP+fzg==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.3.2_1751269004051_0.21467444996011098","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"ppu-paddle-ocr","version":"2.4.0","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.4.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"efd9f6ac074a687cb58838b6339a162ff70b031f","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.4.0.tgz","fileCount":18,"integrity":"sha512-mCcbS7L6ht938FevUMDmPUTlCJmWs3E4AzNoiPkPHGwZbzLv2+WnOwbtRXkb06lebvCXXJ2hzH8p7x0AYex5MA==","signatures":[{"sig":"MEQCIEypKeoIc2767aXI875js1tY3H6uK30Hbv9H2WzyX92/AiBymQh5ZvtORNuZmqEm8rGUTVVnkX8dNcLr8g9lYs6xVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12471046},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"efd9f6ac074a687cb58838b6339a162ff70b031f","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-mCcbS7L6ht938FevUMDmPUTlCJmWs3E4AzNoiPkPHGwZbzLv2+WnOwbtRXkb06lebvCXXJ2hzH8p7x0AYex5MA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.4.0_1751532035759_0.7766083262665977","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"ppu-paddle-ocr","version":"2.4.1","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.4.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"21ea98aaeef1dd22c1e82514670b86cecc154cff","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.4.1.tgz","fileCount":18,"integrity":"sha512-Y1AgiRSQFDIfea8mAg8Di/L57+wFfQb5ymFXQ+/DQ7JirpyeuCfko12MN2i9xYq3ht+7NmwWO3AA9PZdxYY50g==","signatures":[{"sig":"MEYCIQCcGxhHzdB+4q+EJ+c/IdA0OgIL8G4phoRCx1eFP7rM6QIhAK75hfGO9qUoYD7y/QtLzoYxuu953w2AXAOZUgD3bdiC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12471047},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"21ea98aaeef1dd22c1e82514670b86cecc154cff","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-Y1AgiRSQFDIfea8mAg8Di/L57+wFfQb5ymFXQ+/DQ7JirpyeuCfko12MN2i9xYq3ht+7NmwWO3AA9PZdxYY50g==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.4.1_1751560512375_0.5766315042001546","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"ppu-paddle-ocr","version":"2.4.2","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.4.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"eb3089628736672f0d45f9ec259c9be7056f34ab","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.4.2.tgz","fileCount":18,"integrity":"sha512-jvMWmt2m4GfXqeTOOtV5W0hWv9rp4Co6V+6VH2xVycacagj3Kbi+90TmruamMo9bFpm/qtX10ZAh/r+Xz3E5YA==","signatures":[{"sig":"MEUCICB+OTBkSd0/2co/DC/AZTeFvh0MnHcEQgjGrRvIhAfaAiEAmbBNoK5prglYLvuz/nsFalEKM9KqnGMxlIwdTlflbFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12471296},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"eb3089628736672f0d45f9ec259c9be7056f34ab","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-jvMWmt2m4GfXqeTOOtV5W0hWv9rp4Co6V+6VH2xVycacagj3Kbi+90TmruamMo9bFpm/qtX10ZAh/r+Xz3E5YA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.4.2_1751810291286_0.2364937122812314","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"ppu-paddle-ocr","version":"2.4.3","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.4.3","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"2ac66df6ee97ba16186a1d95f0325fe13ed2432d","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.4.3.tgz","fileCount":18,"integrity":"sha512-o8pk9FdrD/a5rMda/u+t5R9xn71cYxNyN+WzDTDmwqk4d3D4WInFYwGFTZp4WAbUy6uPPPADLWj1XTa1kwW8CA==","signatures":[{"sig":"MEYCIQDZLhxIcYSwAGPPqsQBH3e58zgKle0bn9OXzBi6kPiI1gIhAIqzIGRtriEfXm8Jh3OK7+5tcZVbuN+H1VsWL4jbiitm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12471501},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"2ac66df6ee97ba16186a1d95f0325fe13ed2432d","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-o8pk9FdrD/a5rMda/u+t5R9xn71cYxNyN+WzDTDmwqk4d3D4WInFYwGFTZp4WAbUy6uPPPADLWj1XTa1kwW8CA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.4.3_1751815829347_0.1894904136082849","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"ppu-paddle-ocr","version":"2.4.4","keywords":["paddleocr","ocr","optical-character-recognition","text-detection","text-recognition","onnx","onnxruntime","node-ocr","computer-vision","image-processing","document-processing","bun-compatible","lightweight-ocr","javascript-ocr","typescript-ocr","paddlepaddle","image-text-extraction","document-analysis","document-ai","text-extraction"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@2.4.4","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"6b8837e906008a9f8c10da916a7ace65de0c4fd1","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-2.4.4.tgz","fileCount":18,"integrity":"sha512-IAPRTEp7OScpi1l/JFrqMcW5yEdkhRcUT+StbM+/U5AmL+hcD643dyQ1/9/dVPN/J2mLqJk4y5BU3S04f/Ym4A==","signatures":[{"sig":"MEQCIBVgDg1heerzR7E9Ru/qsX6dbohYXaArdygnOfNGaBosAiBeuVL7mGd/6d1XulDs/vnCOE8vZqYzcWt0i0ptimQT2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12471502},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"6b8837e906008a9f8c10da916a7ace65de0c4fd1","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-IAPRTEp7OScpi1l/JFrqMcW5yEdkhRcUT+StbM+/U5AmL+hcD643dyQ1/9/dVPN/J2mLqJk4y5BU3S04f/Ym4A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"A lightweight, type safe, PaddleOCR implementation in Bun/Node.js for text detection and recognition in JavaScript environments.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_2.4.4_1751863440597_0.2087990661019521","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.0":{"name":"ppu-paddle-ocr","version":"3.0.0-beta.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.0.0-beta.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"e6ddae919e1355ae35fbfc7086af6d3bce08c20b","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.0.0-beta.0.tgz","fileCount":15,"integrity":"sha512-Vsdzf1dcHpBy5C/Q+Jv/46JtGJTGznNo3Zb1VuAfrmSsLNFzDB4JkxGSXtWLdNXdkUo1s7SYlqJC9EX3YG9O6A==","signatures":[{"sig":"MEQCIGvR/TNXKn/EqggtfokRjPcYCIiEu/mjBA5rI3qvKaLLAiBQG56k3V9+6K08rVHbQ9XHVmqM/ydjAKsUIB0Xp4qBWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57006},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"e6ddae919e1355ae35fbfc7086af6d3bce08c20b","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-Vsdzf1dcHpBy5C/Q+Jv/46JtGJTGznNo3Zb1VuAfrmSsLNFzDB4JkxGSXtWLdNXdkUo1s7SYlqJC9EX3YG9O6A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.0.0-beta.0_1752043461111_0.09748905347478942","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"ppu-paddle-ocr","version":"3.0.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.0.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"f40d72667818a8473a0348dd7b974fb951c40cf7","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.0.0.tgz","fileCount":15,"integrity":"sha512-S6Z5qvqloznmNh80wjBdzRarF9HZeJNW72pdcPOyZiy2pz/yCch3E8IexXjud/rQj1rSQeig7gmxYhaSDW71kQ==","signatures":[{"sig":"MEQCIE8AkWkD4g+ZvsVIrZ5UfThVGL1YGiSgmoN/FMVvlWxEAiBoBvEJEkTtjHND5QkaIJBIRcvgxZXakvbiQ48u5zmglw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56999},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"f40d72667818a8473a0348dd7b974fb951c40cf7","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-S6Z5qvqloznmNh80wjBdzRarF9HZeJNW72pdcPOyZiy2pz/yCch3E8IexXjud/rQj1rSQeig7gmxYhaSDW71kQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.0.0_1752043988872_0.7510095378886561","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"ppu-paddle-ocr","version":"3.1.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.1.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"3279b82775b3a75333f97e88a4d79fc933fa7320","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.1.0.tgz","fileCount":15,"integrity":"sha512-RduaHIaBRBuRj6w3cH6q7T/pK729DcRrXetZ0pgwVkUegpT4aMj3dEuhHi528XaQ/S5Q0GTs2YuwW6Kdn28/kA==","signatures":[{"sig":"MEYCIQCf04haaIMrhaxJtgTOGy9Ln0rArWfFF+B4HXPL1eNtRgIhAPS0ZrFtPIowvYcaCTb7eVGJg3WWLWHOkf80J+1vKlar","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58388},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"3279b82775b3a75333f97e88a4d79fc933fa7320","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","actor":{"name":"snowfluke","type":"user","email":"awalariansyah7@gmail.com"},"email":"awalariansyah7@gmail.com"},"_integrity":"sha512-RduaHIaBRBuRj6w3cH6q7T/pK729DcRrXetZ0pgwVkUegpT4aMj3dEuhHi528XaQ/S5Q0GTs2YuwW6Kdn28/kA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"22.6.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.1.0_1752045232140_0.7549480373244664","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"ppu-paddle-ocr","version":"3.1.1","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.1.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"09766bc5e78efa4808e4a465af74bec805510877","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.1.1.tgz","fileCount":15,"integrity":"sha512-/LfstKWMYxbTTP76zoOziK0stwWRBg0mMAz6l7toJTniRY7Wru7+3CRynN3aSK2Y+tNPSgh50bbrQcGlgpks2A==","signatures":[{"sig":"MEQCIGNFRJG2CNSlcEfmjIWO/bhA4vhQzgiLsXJnetn1483uAiAw4ryY3u6posykBFUGA+aYdAcuYz1tlhXXH0LES9OwMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58516},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"09766bc5e78efa4808e4a465af74bec805510877","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-/LfstKWMYxbTTP76zoOziK0stwWRBg0mMAz6l7toJTniRY7Wru7+3CRynN3aSK2Y+tNPSgh50bbrQcGlgpks2A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.1.1_1752367965200_0.9283782561974119","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"ppu-paddle-ocr","version":"3.2.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.2.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"0bc0389139dcf8eb33e99d97593c421cabaac280","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.2.0.tgz","fileCount":17,"integrity":"sha512-gHc1puboUlmycD7339DTYx0WoA19zLUU7+2ctGE1G2raQDwr8pJehMiYyFxJUORt5CPANq0yIEsf+O5lXecrdA==","signatures":[{"sig":"MEUCIQDWMix403pNHeTQvRyqpe16/gCYZchSIDYPi2Z7icHvBQIgTPe/R4dvJTEPTGLln9mlaRmuBD6DG2bOdp9ubCcMt0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68993},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"0bc0389139dcf8eb33e99d97593c421cabaac280","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-gHc1puboUlmycD7339DTYx0WoA19zLUU7+2ctGE1G2raQDwr8pJehMiYyFxJUORt5CPANq0yIEsf+O5lXecrdA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.23.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.2.0_1762687638920_0.3873056184196748","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"ppu-paddle-ocr","version":"3.2.1","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.2.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"3c9365efb6259253d36f028a2444a3563f7dcbe5","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.2.1.tgz","fileCount":17,"integrity":"sha512-PhiyV1A/S+9rlD8jexiyC5iD0PhtlSkeTuyNyeSbkuUmhfNG8Z7XcgMoJNWlZ3ekTUmPAEbtVKQ16BAxgr8pPQ==","signatures":[{"sig":"MEUCIQDH/eU3RS2dtH8CrfXgasgJ4G5oaZImqZLv9rA45YGluAIga8e6ldqRnz++xLUjrrZtDq1lp8f0dO/5qPM5L3DWmtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68972},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"3c9365efb6259253d36f028a2444a3563f7dcbe5","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-PhiyV1A/S+9rlD8jexiyC5iD0PhtlSkeTuyNyeSbkuUmhfNG8Z7XcgMoJNWlZ3ekTUmPAEbtVKQ16BAxgr8pPQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.23.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.2.1_1762702249807_0.8533467366104417","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"ppu-paddle-ocr","version":"3.2.2","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.2.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"28772398794b6b84f76edd6b7587001ec0801ebc","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.2.2.tgz","fileCount":17,"integrity":"sha512-fJn8okP50ij0WVmJuokYYG43Qf/w5TKzyvJ6+apRxPCqvCaNXbm8qN6riWx/GP3cZ6NOB8aubygRNesovk7q7A==","signatures":[{"sig":"MEUCIQD0ubODMObbldfGfx4lk6kA+aepkByQ8qgyGLhHV5vh9AIgDTAg9ero/V3vnlyABGDnmdTXul2knSnSen2cd/AkaMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69510},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"28772398794b6b84f76edd6b7587001ec0801ebc","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-fJn8okP50ij0WVmJuokYYG43Qf/w5TKzyvJ6+apRxPCqvCaNXbm8qN6riWx/GP3cZ6NOB8aubygRNesovk7q7A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2","onnxruntime-node":"^1.23.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.2.2_1762845392745_0.12936202651251238","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"ppu-paddle-ocr","version":"3.2.3","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.2.3","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"01d38f7aaf8e10348da6e9a3d6718beae801d2a6","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.2.3.tgz","fileCount":17,"integrity":"sha512-I+JvAtWcw1M0sB0dGYURIMfeefcIAk3SGFUAvUUUucxD6mQGfzOG0VNasIWCGruSBcKtJIW8epWT70Ilb+c/JA==","signatures":[{"sig":"MEUCIQDcdx1D2Wp1GmeL/HPu8j4VAwwkJBf+F2wNekSEb2Sc4QIgU7nqAbBZQVZPRxZxb84PBu2jgRi0uK1Gm276Mb7rXVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69573},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"01d38f7aaf8e10348da6e9a3d6718beae801d2a6","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-I+JvAtWcw1M0sB0dGYURIMfeefcIAk3SGFUAvUUUucxD6mQGfzOG0VNasIWCGruSBcKtJIW8epWT70Ilb+c/JA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-node":"^1.23.2"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.2.3_1765166170506_0.036243230803725046","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"ppu-paddle-ocr","version":"3.4.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.4.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"98afcc6bb31648f362e7ab6322dd97c65d2cb17f","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.4.0.tgz","fileCount":17,"integrity":"sha512-/Qyw8k3orBWtVNTOIqaArahanWDvXX4/NMQZuW4N45GJZJ/ymUnCVHAaQTBv2UEtIIAK4abjFJy1NRcRtdXeOw==","signatures":[{"sig":"MEUCIA1fWKhkartfjivWuIyq8haJYjQ3xP6ucYsETSJy4CtHAiEA+bxbWL8EqNV6BsC2WXZdfS46WtzG5cu7kUkly13229g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69539},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"98afcc6bb31648f362e7ab6322dd97c65d2cb17f","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-/Qyw8k3orBWtVNTOIqaArahanWDvXX4/NMQZuW4N45GJZJ/ymUnCVHAaQTBv2UEtIIAK4abjFJy1NRcRtdXeOw==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.3.0","lodash.merge":"^4.6.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-node":"^1.23.2"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.4.0_1765339245153_0.9480866636412337","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"ppu-paddle-ocr","version":"3.5.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.5.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"5434e6b92d0209c8f97ea280a37fed3c3f9c43f4","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.5.0.tgz","fileCount":17,"integrity":"sha512-6UZFPRovaYUqGe5dre5A4VRAj9QX9uqixIfHTYk0EPYToBEK+vevqmmzvloAKIB1U5n+3nOUTlSWirQfnQt9tw==","signatures":[{"sig":"MEUCIQDh02fstQ7VLUmqoqaExcta8Ugh4GpgYnofVtNLttRZsQIgIQk/ruFWHKTZEvQcnyIEZA4asucrQcZcA3Gzqs5ytv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69608},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"5434e6b92d0209c8f97ea280a37fed3c3f9c43f4","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-6UZFPRovaYUqGe5dre5A4VRAj9QX9uqixIfHTYk0EPYToBEK+vevqmmzvloAKIB1U5n+3nOUTlSWirQfnQt9tw==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.7.0","lodash.merge":"^4.6.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-node":"^1.23.2"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.5.0_1765557495706_0.9240038869539071","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"ppu-paddle-ocr","version":"3.6.0","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.6.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"a3c486aa92f0f87f5d1334e84f62d1c926b82ed4","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.6.0.tgz","fileCount":17,"integrity":"sha512-62XImn8Wx0LkAwY299eo3VJ0MY00m4Wbh4TC/4jUu6nN7AVXuU+4J0R9czWaOpQAJEp/AHckpt01u37l21/u7A==","signatures":[{"sig":"MEUCIQCTrKGTXo1hIqlFiLYd0toAaLJko20KrEeR4Xtb/BhVmgIgdsySqaoTPOukz6Nwuox/PZ6mH/DVEb61s9+d+qRo87Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70139},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"a3c486aa92f0f87f5d1334e84f62d1c926b82ed4","scripts":{"lint":"eslint ./src","task":"bun scripts/task.ts","lint:fix":"eslint ./src --fix","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-62XImn8Wx0LkAwY299eo3VJ0MY00m4Wbh4TC/4jUu6nN7AVXuU+4J0R9czWaOpQAJEp/AHckpt01u37l21/u7A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.7.0","lodash.merge":"^4.6.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","eslint":"latest","mitata":"latest","prettier":"3.6.2","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","eslint-plugin-jsdoc":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-node":"^1.23.2"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.6.0_1767283571283_0.215367362380124","host":"s3://npm-registry-packages-npm-production"}},"3.7.2":{"name":"ppu-paddle-ocr","version":"3.7.2","keywords":["accurate-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@3.7.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"cd93a657f3760aa884b56a3dd0262094a0ae29c0","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-3.7.2.tgz","fileCount":17,"integrity":"sha512-5xzWWI2XXWTZIw68Jb5G9srTjiCcn6sYxCKOdmWU8WdzIP6H7ur1uaRDqsqfUZzKVRdAVLTnzJ2TMGGm6E2LZQ==","signatures":[{"sig":"MEQCIAvbYVE58W6EIy1llI+/hNmJYuotIRRgGSxY2qtb5i0HAiB9wQLPuS7Tb3noOs21upawM5JZ/HBbhmDW7dma3E4N9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71046},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"cd93a657f3760aa884b56a3dd0262094a0ae29c0","scripts":{"lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-5xzWWI2XXWTZIw68Jb5G9srTjiCcn6sYxCKOdmWU8WdzIP6H7ur1uaRDqsqfUZzKVRdAVLTnzJ2TMGGm6E2LZQ==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^1.7.0","lodash.merge":"^4.6.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@types/lodash.merge":"^4.6.9","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-node":"^1.23.2"},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_3.7.2_1772526597582_0.052878678456078854","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"ppu-paddle-ocr","version":"4.0.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@4.0.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"eadd9187b2d91b24ec01716ca4312c3a3140941f","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-4.0.0.tgz","fileCount":42,"integrity":"sha512-oO+9aoMMY26/VjLs/vv+rg5JwBCNrCNzo/Aazz8Iu4nA/rhCENWIaxAdMwtRfwaeaeDKY8K0KwzzG8O8da/fnA==","signatures":[{"sig":"MEQCICRyVC2W8QPdMVcvYKWwoUo4RYXm0S2yQr78eI23xBrTAiACY/nI82mBvS96kfTnRLrD8AtxF0qwi9mWNwydSwYqDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97898},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"eadd9187b2d91b24ec01716ca4312c3a3140941f","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-oO+9aoMMY26/VjLs/vv+rg5JwBCNrCNzo/Aazz8Iu4nA/rhCENWIaxAdMwtRfwaeaeDKY8K0KwzzG8O8da/fnA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_4.0.0_1772607149261_0.31733872398564467","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"ppu-paddle-ocr","version":"4.0.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@4.0.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"c5caa4dafc564f3225044cbf6f643f172b7fe77e","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-4.0.1.tgz","fileCount":42,"integrity":"sha512-yCZM0/HBR2hpGq3gVYXjoFnO4Meki/Ykir1kkffObsjimSdSD0vEMsDKRYnQMKt+p7Q/iwb8pBc8p5nCy1fzDA==","signatures":[{"sig":"MEUCIQCblrmxv0vRcy+qEWvqJ3yI/lt1Z14CCWJ3h/a9wCr+rQIgFOdYWyZCTkmoVtmcvN7Nm/g3+RlgMUD8QUJCWZHpJ/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98038},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"c5caa4dafc564f3225044cbf6f643f172b7fe77e","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-yCZM0/HBR2hpGq3gVYXjoFnO4Meki/Ykir1kkffObsjimSdSD0vEMsDKRYnQMKt+p7Q/iwb8pBc8p5nCy1fzDA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_4.0.1_1772610908743_0.06335418203087917","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"ppu-paddle-ocr","version":"4.0.2","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@4.0.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"317ffa2c97e1ce0fca5846335e3f15343a122e19","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-4.0.2.tgz","fileCount":42,"integrity":"sha512-Bukoq7WgbhqVnObvAjTWJ/ptQOBpWosrGLIQphBh9ezw7rkdm3m+nwY+0j7eJopJAEtSYldoVhAqo8YI1OLu5A==","signatures":[{"sig":"MEQCIG27nZyY2KU06upuQZi0olt51sQfcIKLSr2pHcRv2iWCAiB5qTaIALgxoj2a9En8SHByO+hT/lnh4T2NtG7uKnzjDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103042},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"317ffa2c97e1ce0fca5846335e3f15343a122e19","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-Bukoq7WgbhqVnObvAjTWJ/ptQOBpWosrGLIQphBh9ezw7rkdm3m+nwY+0j7eJopJAEtSYldoVhAqo8YI1OLu5A==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_4.0.2_1772611962811_0.4714900662315791","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"ppu-paddle-ocr","version":"4.1.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@4.1.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"464bf2f5c9ddbe42350b2575c3693bf71292c7d4","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-4.1.0.tgz","fileCount":42,"integrity":"sha512-WTuVZ3eA4fKFEuuYu6IfuWgdN8wj6xb+Zb1u2Uo0Krc/EOIdYellwq8x4OWhcvULrg5WAPbeBsqy/WFAwwkJHw==","signatures":[{"sig":"MEYCIQD4rXflfL86ezfA9zc3hw9BlMHz9vXgHhgsDoAHkOzN3gIhAIZcCQMiqo2zECZTI3pRJIx+1PwPi7eHP5zp6KFFKKVd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103350},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"464bf2f5c9ddbe42350b2575c3693bf71292c7d4","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-WTuVZ3eA4fKFEuuYu6IfuWgdN8wj6xb+Zb1u2Uo0Krc/EOIdYellwq8x4OWhcvULrg5WAPbeBsqy/WFAwwkJHw==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_4.1.0_1772900038369_0.2604115782098049","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"ppu-paddle-ocr","version":"4.1.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","deskew","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@4.1.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"22ef24034bd9f511faabf7a344101bf644b1bd8c","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-4.1.1.tgz","fileCount":42,"integrity":"sha512-nAS8dGzaVHZ1yHm6OfFBCIdKeISlbjXe4RJwYKFeX2XIxvOgh7nqvpWYyqJ5BVPpDJqoMrnOVzrR5bRhqdc49w==","signatures":[{"sig":"MEUCIEdE6QgpKa3G4horMJmYO6TP3wtGwXTTXzT22pjla7IYAiEA8O3cszSvqXvqyszBVroU1YeqDHf/3DmZ6nHO9TgSAKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103983},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"22ef24034bd9f511faabf7a344101bf644b1bd8c","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-nAS8dGzaVHZ1yHm6OfFBCIdKeISlbjXe4RJwYKFeX2XIxvOgh7nqvpWYyqJ5BVPpDJqoMrnOVzrR5bRhqdc49w==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Node.js and Bun. Perform accurate text detection, recognition, and image deskew with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_4.1.1_1772906572541_0.3287134547651944","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"ppu-paddle-ocr","version":"5.0.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@5.0.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"2581141ae4c68f73a36500c0134fdaea03e79168","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.0.0.tgz","fileCount":36,"integrity":"sha512-EyoHpD4DB7EjToqKT37sDUnDPDgaH2TaW+zD4YRclK8qKVkVJ4gGXstNIjE9aMTeIyMQuX+bBJJgcfNZBe2lqA==","signatures":[{"sig":"MEYCIQDKCX/cQFSu0iJoqMotFav7h+yaCfFbpudmphMyQmDGaQIhAJndaRfN9QAwhPAeB/nThPU0Vjuf1kAbN0rUD3SKvM0P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99055},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"2581141ae4c68f73a36500c0134fdaea03e79168","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-EyoHpD4DB7EjToqKT37sDUnDPDgaH2TaW+zD4YRclK8qKVkVJ4gGXstNIjE9aMTeIyMQuX+bBJJgcfNZBe2lqA==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.0.0_1775416918080_0.1596158064491","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"ppu-paddle-ocr","version":"5.1.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@5.1.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"7a62fe34b3076a2b31e3d4004a6e234351deb423","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.1.0.tgz","fileCount":36,"integrity":"sha512-xb8iQHm3GMjn8LcgsJBHvBTGinc88tEf+6d9I226nmWJRF3uIKa7X5CovEwiY77miJlIPzV7Ob5N4rpI1bAC7Q==","signatures":[{"sig":"MEYCIQDO3tdaUXkN3rKxfFeRB/+6m3QUHKP/Bx3B8yc7sUfrcgIhAP+DqAbjLA6b3G2ng4Ttk5VkQtoCESqIZcGzGaz5j7ne","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101359},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"7a62fe34b3076a2b31e3d4004a6e234351deb423","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-xb8iQHm3GMjn8LcgsJBHvBTGinc88tEf+6d9I226nmWJRF3uIKa7X5CovEwiY77miJlIPzV7Ob5N4rpI1bAC7Q==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.1.0_1775912194984_0.19375019566593354","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"ppu-paddle-ocr","version":"5.1.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":"snowfluke","license":"MIT","_id":"ppu-paddle-ocr@5.1.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"dist":{"shasum":"af9349061e1584408c9759980423325507466026","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.1.1.tgz","fileCount":36,"integrity":"sha512-E9O8tpwZp2IYoEHF7TkKsSunKTDvRsQhW8ssQsOcV0vdaiksZMKdcldWMlx/v7X3cDLv9D3rjNJ6WecvuxJFBg==","signatures":[{"sig":"MEUCIEipsthaeyBk0mhh5Te/Tse6DcWxm3kt6Xf9V3rnEs+jAiEAlC5ce820jYi92JteuKtNunYt4wdfq67EMbbQ4h64LME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101492},"main":"./index.js","type":"module","types":"./index.d.ts","shasum":"af9349061e1584408c9759980423325507466026","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"scripts":{"demo":"bunx -y serve -l 3456 .","lint":"prettier --check ./src","task":"bun scripts/task.ts","lint:fix":"prettier --write ./src","build:test":"bun task build && bun test","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"_integrity":"sha512-E9O8tpwZp2IYoEHF7TkKsSunKTDvRsQhW8ssQsOcV0vdaiksZMKdcldWMlx/v7X3cDLv9D3rjNJ6WecvuxJFBg==","deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.3","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","canvas":"^3.2.1","mitata":"latest","prettier":"^3.8.1","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","typescript-eslint":"latest","@stylistic/eslint-plugin":"latest"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.1.1_1775972609924_0.6692427672624901","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"ppu-paddle-ocr","version":"5.2.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.2.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"35accb1db7245188fc4c33c49345eae1c3d9b36d","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.2.0.tgz","fileCount":36,"integrity":"sha512-B3OkakivoOGZsdY1LFZo0B1Zx1BPk5By0lQdiYBmtVVsEa9Me4RRXBCHNYgns/EP7VrXIy24obGXua4cYkrW+w==","signatures":[{"sig":"MEQCIHCifuN7+FPx4EqLcwfBB7mM2hxev3ifze6Xnd4eA3ywAiAYdWXv+QIvJihZ96DZjRsP4SBQRGiYgpUZQ1K6kJxm+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118707},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"b3471f920c3d29125acb683848d6dbeb339f815a","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.2.0_1778329704423_0.3963503437866174","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"ppu-paddle-ocr","version":"5.2.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.2.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"727f6c4db9fd8b55dc1b8f1240b5ae4ec27702f0","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.2.1.tgz","fileCount":36,"integrity":"sha512-le5tGMO/QPEJ4Oqn+YWC6xhxRI9y0PxvTypxjPjyabfUKXMZTJvrcuDGLpVzh2Vfg3AXuN0NxzvGGItQx8Gu1A==","signatures":[{"sig":"MEUCIQCjLnFqLcDfbR3xyS5XOsJJq1ZjDcQPrXzNe3cuHu2BvAIgYomqFkKv2FQH02PevFX5gUuGCazvWmiC/ePcFdF3SiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117814},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"13aa4880d12fde194166d56b7e9fc3ec39fb08be","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.2.1_1778341017260_0.8961294868259373","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"ppu-paddle-ocr","version":"5.3.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.3.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"ac3e89a51ccfe7036d79a13a384bf1aeb16c3c40","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.3.0.tgz","fileCount":36,"integrity":"sha512-4jkPMvibQtSWzmF9isdEZFqjDTEQaftWXKkWFTKJFTvaYGshotz+lIbb4vBsIiBdha/wAh1spFhJNfFdBviXbA==","signatures":[{"sig":"MEQCIDM2e373QW7nrx7MA3nhbnOQIi2muTpRw59KB1sKVdT6AiBTxfBucEwZa3vvKs1jw5+sUoqhv8JhEr1hBIyAb2dpnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126096},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"24ec4215e5090183b604b06e7585e881025ef6ab","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.3.0_1778344799972_0.34187424400443334","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"ppu-paddle-ocr","version":"5.4.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.4.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"dd33a94272c447d0faf54afd4e280afa662b4651","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.4.0.tgz","fileCount":38,"integrity":"sha512-21C5+fSVhAKhMN1aYarMZOJ6dSbD3hUFgm41TwaSUeE7Q7QY0po7N9IqYM1rO8SGDn6W9wq8wO+HYCsGsdfuQg==","signatures":[{"sig":"MEUCIEuHsWLUaMbIdVVv/MpdBEXgCf+VpN8KmAiBzKJIIVfoAiEAlYFIHY21qPmpOZpE83BmnUJBtgltT3Kb+SFttaY3UgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127882},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"4c138660e56a43da9ad9234ad8cd6bb24e6b5b15","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.4.0_1778349772437_0.4598850931096967","host":"s3://npm-registry-packages-npm-production"}},"5.4.1":{"name":"ppu-paddle-ocr","version":"5.4.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.4.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"9c1b1cc72c059c8cd33c38a6176cfccf4dd1b753","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.4.1.tgz","fileCount":38,"integrity":"sha512-7lh3OIlwkh80W9trKnfiETVcYcIUCC7juU6C+Z2EQnfO+KdYQ/n7n2wkIdoQ2wbH9WoBOxGpox21EiHZEy8J9Q==","signatures":[{"sig":"MEUCIFe8+qg7ljIu74NFEKn9+HN3lWcLuzuey8isaCbyAVDsAiEA2FieCKETD10fJaxx92zn3jvCHIbM0X6mpcLeIWOGknA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117782},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"2a13cc4fa8b5093e5209338b74930e6e7025bfa8","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.4.1_1778355100185_0.6515962307255254","host":"s3://npm-registry-packages-npm-production"}},"5.4.2":{"name":"ppu-paddle-ocr","version":"5.4.2","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.4.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"81b94755f70fa00069356aab0fbc7c560ffd95ba","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.4.2.tgz","fileCount":38,"integrity":"sha512-OT8wKd98Uqf3V4YC2eKy2hNbqbNMd3XlP9t2i8xD3iIwlZnBBMcGJ+plHwkuKZB4wcpJNzLC2FELE6m0CV0taA==","signatures":[{"sig":"MEUCIQD5kulBx8uAMzD/7CnUNamjzJ/8wAr6Xm/Wmhsh0ScGzQIgFWgopTFNzqiKhIoJXAUHSbXjcirPrzsHHdgWI7RJYg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118178},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"599542d1d9ebdaa6593c4e3f53e7e1bc8ab49dc3","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Blazing-fast and lightweight PaddleOCR library for Web, Node.js and Bun. Perform accurate text detection and recognition with a simple, modern, and type-safe API. Ideal for document processing, data extraction, and computer vision tasks.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.4.2_1778730974510_0.0792913179332404","host":"s3://npm-registry-packages-npm-production"}},"5.4.3":{"name":"ppu-paddle-ocr","version":"5.4.3","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.4.3","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"cf3025a3765e6ea29f015b9ca3cf8ed46c6c5783","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.4.3.tgz","fileCount":38,"integrity":"sha512-mJu+VEMyeQmTm1DUYc1qcBAiVXdCksExRAlnDnfZ+yF7djFNQoITDDC3ViNVvN9CFkSyZGcu2r19+ZfOzBfFvQ==","signatures":[{"sig":"MEYCIQDmR9e3I76/mHs2nhFkzeYWr9ZHukIqumtRk1rzv7xHFgIhAK9lJSNzxyasrm9p5A4y8I3x5ZfkqKZsOyqrXrxCDILe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120991},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"a4c67323f7ccf66f725c78b3ae3363846563db62","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. The official SDK is browser-only. Accurate text detection and recognition for documents, data extractio","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.48.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.4.3_1778738319162_0.4128233573635316","host":"s3://npm-registry-packages-npm-production"}},"5.4.4":{"name":"ppu-paddle-ocr","version":"5.4.4","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.4.4","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"10b1bdc369c6b38e1010b36d007a9cdb208aa6b1","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.4.4.tgz","fileCount":38,"integrity":"sha512-gie7tz7RSsGR2Z+F7PGAIRZtoAlIc97ybKS4ohDaoxtqJ+WDlkI6CeL+u+xKTnXFoCifKsh6s99yChyuJmrNiw==","signatures":[{"sig":"MEUCIDrRsHCLetZiE5gcJKV2+pV+0PT8ldQGFydmDPxS3BsBAiEAkDtkCv7qlUXJSTpIA4l8riTEM/l+w2T4Q0qq3eXy430=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121062},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"a5b06150c56c745e303255c0e146a9b947306124","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"snowfluke","email":"awalariansyah7@gmail.com"},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"10.8.2","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. The official SDK is browser-only. Accurate text detection and recognition for documents, data extractio","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ppu-ocv":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.49.0","canvas":"^3.2.1","mitata":"latest","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.4.4_1778776145065_0.09285131344430675","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"ppu-paddle-ocr","version":"5.5.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.5.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"efdc59fc0a6203626ccbcc59561ab74417871194","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.5.0.tgz","fileCount":40,"integrity":"sha512-bmzd+TyRxnOevzEP/9zFnY/ypXMubk8vFpkML1ByIfZgAUh6RGDMkCf9K3wk8uOw7OtrN1pnpkImDvntyjQu+w==","signatures":[{"sig":"MEUCIQCPSNq/pdlZxKBw6XMVKTRYx/d0bS30id/bDBGl5xNOwwIgKhUKNXRKBcKP+EcjqMvUW1HcUWqVfM1UGeHxRW/iDlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":135970},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"c7e4435d225213c4ea9ab36340d018f77ab66c44","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test --parallel=$(find tests private-tests -name '*.test.ts' 2>/dev/null | wc -l | tr -d ' ')","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. The official SDK is browser-only. Accurate text detection and recognition for documents, data extractio","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.1.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.51.0","canvas":"^3.2.1","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.5.0_1779550450961_0.7225556357473699","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"ppu-paddle-ocr","version":"5.6.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.6.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"dist":{"shasum":"5b3bfb3e28c360a7792e316fac65f4ba6e536236","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.6.0.tgz","fileCount":40,"integrity":"sha512-XRlqQN29BgETtAH+PNp9UPvN4MWHDC4l5UGn4MvqnDgrZ7jWfIo6J9CuTsEBRNeVURDPltCQj/BXyHEOUDP1dQ==","signatures":[{"sig":"MEYCIQCY7qmh7rIwyXcjUBG6S5CJvu9gRknf3MfehGF0Q10n/AIhALP/OvHAVY+8cTtQWlQn6K+LEuLGc+yIVGjCJxPtg5+7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":136212},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"643eb693757ec12334df3e2a5f0c901cc1f18861","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test tests private-tests --parallel=$(find tests private-tests -name '*.test.ts' 2>/dev/null | wc -l | tr -d ' ')","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker-ready. The official SDK is browser-only. Accurate text detection and recognition for documents, ","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.1.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.51.0","canvas":"^3.2.1","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.6.0_1779563084705_0.4248146800275816","host":"s3://npm-registry-packages-npm-production"}},"5.7.0":{"name":"ppu-paddle-ocr","version":"5.7.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.7.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"c2b290c68571f159b2a7082be7b309f3771126ae","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.7.0.tgz","fileCount":52,"integrity":"sha512-vffV4WZhN2C6CB0dpFel3dpRBRKG7sYamvzVxGrM3PpJBuhvs09yoMyXBfp3g/mZcRYv95pAnghusQgcVaKgsw==","signatures":[{"sig":"MEUCIQCKdi6mp0rJjTm+hmS23tI1W8WNusdVqWhwvGBI8sVpaQIgU/LxMmAOh/eWozHUrYMPJF4n+0QOrabSEssDG2Gs4g8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":159643},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"561ff1e49bac9120df6ee01582d837b396017358","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test tests private-tests --parallel=$(find tests private-tests -name '*.test.ts' 2>/dev/null | wc -l | tr -d ' ')","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker-ready. The official SDK is browser-only. Accurate text detection and recognition for documents, ","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.1.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.51.0","canvas":"^3.2.1","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.7.0_1779608849736_0.07815985641738843","host":"s3://npm-registry-packages-npm-production"}},"5.7.1":{"name":"ppu-paddle-ocr","version":"5.7.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.7.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"57d52b62fed46186e59ce7419f829d8ad8ee5283","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.7.1.tgz","fileCount":52,"integrity":"sha512-R4nlKE4DkivytZwiS86EElF21IEP22Nlw2mA1k5kHeB7TipzOh/D2vdzHdV/K5jw5XFNYA8fB8aLhK31VbIOPg==","signatures":[{"sig":"MEUCICZxTDa2Wsh5OuEv7Z6MUKgfTM5XINo1z1M/s6GqZpToAiEAuuX9Gl6VKfM76aF2ilIocK7pRpkTK52lpx9qbQizuF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":159710},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"4c8d6eda9008d023f58d2ec320b18cc915b1d132","scripts":{"fmt":"oxfmt --check","demo":"bunx -y serve -l 3456 .","lint":"oxlint","task":"bun scripts/task.ts","test":"bun test tests private-tests --parallel=$(find tests private-tests -name '*.test.ts' 2>/dev/null | wc -l | tr -d ' ')","build":"bun task build","fmt:fix":"oxfmt .","prepare":"husky","lint:fix":"oxlint --fix","build:test":"bun task build && bun test","type-check":"bunx tsgo --noEmit","clear-cache":"bun scripts/clear-cache.ts","build:publish":"bun task build && bun task report-size && bun task publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker-ready. The official SDK is browser-only. Accurate text detection and recognition for documents, ","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.1.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","husky":"^9.1.7","oxfmt":"^0.51.0","canvas":"^3.2.1","oxlint":"^1.63.0","uglify-js":">=2.4.24","@types/bun":"latest","typescript":"latest","lint-staged":"^17.0.3","onnxruntime-web":"^1.24.2","@types/uglify-js":"latest","onnxruntime-node":"^1.23.2","@typescript/native-preview":"^7.0.0-dev.20260509.2"},"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"optionalDependencies":{"onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.7.1_1779609538886_0.044336768511753055","host":"s3://npm-registry-packages-npm-production"}},"5.8.0":{"name":"ppu-paddle-ocr","version":"5.8.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.8.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"292d1f868ad8e5464af87f95d631f1bbeff84e23","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.8.0.tgz","fileCount":69,"integrity":"sha512-vJtfdWTX3llHtnYcpjhNQoz05NBCbhCg7BFZ50VLvSepqkCo4pYQ4iz1+SA58ShVh5/eVbZzyIualOFH3trFXw==","signatures":[{"sig":"MEQCIAS3e7bt64OfjyIVZY8LlosP4nWfAYr136HFlAv+vBi6AiAvbBKEkDO/NiIgpWqbNsoCHT5Ub1ylMcTYr+ERxkYLVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167702},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"}},"gitHead":"caa488220c46ffda8ab5c6a8b80cf7ea1b60ebd5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection and recognition for d","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.2.2"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"optionalDependencies":{"onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.8.0_1779654680485_0.4408526675864284","host":"s3://npm-registry-packages-npm-production"}},"5.8.1":{"name":"ppu-paddle-ocr","version":"5.8.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.8.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"65c50baacb2adf800c756995915c4d51e99fd835","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.8.1.tgz","fileCount":70,"integrity":"sha512-XG9CNb5RaDMlibfmhthUMTjvVmranbmn00eCFn+/UlHJFyiG2H/NjIK23D+4xYfJprV4aYKsSU1V5naUglqwVQ==","signatures":[{"sig":"MEUCIQDQTrr2YZrOAHjhCcuhq5aVJto2mTGmdUDwg8TNzcy4JAIgaBh142QRv7T+OSvXMFZ6aYDGMI04V8HPbTYe976Jm5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174322},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"2043c8407a8761b56fd25a48a1f15dc904a3f7c2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection and recognition for d","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.2.2"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"optionalDependencies":{"onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.8.1_1779715761103_0.7407380137012878","host":"s3://npm-registry-packages-npm-production"}},"5.8.2":{"name":"ppu-paddle-ocr","version":"5.8.2","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.8.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"3bded72b8719eea474e426c7adb956a0bc3dbe16","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.8.2.tgz","fileCount":70,"integrity":"sha512-H4coGaYwQLoFvwKXMiEvwTjMaSM9H1ijHhJrvNvb8dcX0DMoLQX7H8j1N2ATrdhc4qieVlUcyJjGWTNWrZCnnQ==","signatures":[{"sig":"MEUCICoHRGSaf2z1yBqW93xYVROomsFm36IpInyeERa5sD/QAiEAr/HRdPOjt9wE+5y3vYDCFu9kv5u75Xqp81e66pt/XLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174322},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"f32940f877c45b39d72c560c56627b50a0ec72f6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection and recognition for d","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.2.2"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"optionalDependencies":{"onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.8.2_1779715984158_0.24349430887663104","host":"s3://npm-registry-packages-npm-production"}},"5.8.3":{"name":"ppu-paddle-ocr","version":"5.8.3","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@5.8.3","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"7d302b41352b1f7c728facacd8f58e5673f65542","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-5.8.3.tgz","fileCount":70,"integrity":"sha512-uw1/EPmJWDSf+0aGFn2YMRnU5VYOfQxHxee671QItkcs8irxvEXH+7wvTFB22MDbRWbgSxbcQeFTsjvUZdT8bQ==","signatures":[{"sig":"MEUCIQDnppvojOUrYFpE1Ny/J0XI58t8Ir2DQk9LoA8vkoAcRQIgVxQGxnliUSkWO2aktAV6cwSmWdPhd1DRSHxwouuuSB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@5.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177809},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"2e893cb4f9bde5be7aa2e9737b61631f28824d57","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"deprecated":"No longer maintained. Upgrade to ppu-paddle-ocr@^6.4.1 - see https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/blob/main/CHANGELOG.md","repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection and recognition for d","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ppu-ocv":"^3.2.2"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2"},"optionalDependencies":{"onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_5.8.3_1779954844762_0.07008305080440769","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"ppu-paddle-ocr","version":"6.0.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.0.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"07b45e4633347e2120d4a37fe216f0f6bc0f34f1","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.0.0.tgz","fileCount":82,"integrity":"sha512-PM4CAppV+58RQVfs5Rj0fD3+VEfUz1I6gq8DbHaAW7BG1P4sv6Xb3AQm/s2y5LZnaaJTAFQdHWlE8BjxeUzj9w==","signatures":[{"sig":"MEUCID6Wc5ZrKR9UXs6b+XORUItrpDXBKlMb4HIj74wNAFpdAiEA6spb2O0bNRdQcOsAuhqym5f+jReEcEwLSauzAD0p6+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217077},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"917ef6782f70c5899b90903ca90b6e9d7164cc7e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.13.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection ","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ppu-ocv":"^3.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"optionalDependencies":{"onnxruntime-node":"^1.23.2"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.0.0_1782147795666_0.11222035987895196","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"ppu-paddle-ocr","version":"6.1.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.1.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"bac63dfc7443f202d923ee58c7ae42f8499ae794","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.1.0.tgz","fileCount":84,"integrity":"sha512-PJgV3T0Sp0O1e1JGElSm+g/xj1izWCy2cVTM8yFXpcHtJ3c+cJmMZP2+MSR33M7OzkOXC6cZGdFDFlNBrv+2Vw==","signatures":[{"sig":"MEQCIHgC6ta/lUsQDdOyGAo86sbTUi+dvhVr8X4hPL4B3U9UAiB1QZi/0gsOwWZuPYI14E93Efq1kiYDu7nkx6BFnLrQ1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227224},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"397ef6475d310d6afa02e3a00257dc9180aecfc6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.1.0_1783939706808_0.0697301608722205","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"ppu-paddle-ocr","version":"6.1.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.1.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"1f3923a170a415087f93ea801a2d736dd61e3d00","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.1.1.tgz","fileCount":84,"integrity":"sha512-OWTf6GyGVwJt4u8QrkS2IGssJ91n2hbs8beGWESSs4JWSYUIWT3aS/B3/y5hIqZu/6S7RURgkEy4kjoR6hZ+fg==","signatures":[{"sig":"MEYCIQCxmrCz8tl0tXGXKl3HpDdS052Q5gGF1P+ghjYWUYwSDAIhAMQrPWOQNi3YXSPA5Lk9cpTwVROc515CEaX+VZ/2j1Ek","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229633},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"b93fee3c66936ca3895f2c87c0df2f5255fcf169","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.1.1_1784557864171_0.7490951567910016","host":"s3://npm-registry-packages-npm-production"}},"6.1.2":{"name":"ppu-paddle-ocr","version":"6.1.2","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.1.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"2626e7737abdccaaf80f60e30b4d98fda1a336bb","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.1.2.tgz","fileCount":84,"integrity":"sha512-vlYLOAKAg8grkZV4FWqlz6bLxb4Nnig2RxnHVSnadmPJUFNN3eVKlbkA0ViPhIhhng/PjJdMKfMO2FlMZa8Tpw==","signatures":[{"sig":"MEUCIQD335+8wrQxLs5j9rmMlAgyowHN6Ogk/XKwujCrEJ+3wwIgQBsZ7EFscyx5/3ogBfUDOoDybTvaagwA8bZU2X7GVyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231950},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"6ec59321b94a8bf71b8b8980ab397d8e4cd093c7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.1.2_1784619987350_0.284278604205334","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"ppu-paddle-ocr","version":"6.2.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.2.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"f9ac471f5a8f9a2a683b09b3d3031039e9fa76a5","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.2.0.tgz","fileCount":84,"integrity":"sha512-8YI6uI/IdhK5Jsi7Tb2job2k+Z5NgLdxh/4xkXVV5RJ+Qxeqq1FnThCRyigb9wy7baOzGKjrMAUBzAm+r2q5sw==","signatures":[{"sig":"MEQCIDTEwdmQfzOE/SO+aGFCfjoLHRlgZWf+9jho2Mjh3S+iAiAvLsBN0ErIDAZta407NFc/wGPdEzV0h8Or8Ug/+lWAEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242293},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"c5f151032f94570cd6f1b555fbf8d139ef93febb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.2.0_1784738203168_0.646194826315375","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"ppu-paddle-ocr","version":"6.3.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.3.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"b7b50ef82dfee186b61386d86d7805ee61b86dee","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.3.0.tgz","fileCount":84,"integrity":"sha512-VbYN5WcgGfVwD/aNylXp5uhNS0J+EdP8m2h3z9Vmt7NGzTb5Ude91rkCKfFnofWRr7nlu7U6COcE6M1EfYTPIw==","signatures":[{"sig":"MEQCIEV0zU8QUg2lzu6Ph6JIo/eF2SBBCRsNNDg9w56ovGAGAiBwViElae16vNiob0c0ITT5eVEQRRTxCARxJ/HwvNYwOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246000},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"4eac39645e6c9da957b2ca6c2f79809cc9891dbf","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.3.0_1785760703201_0.683557467059345","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"ppu-paddle-ocr","version":"6.4.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.4.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"54e7273a9c284630a7ad311dfd58ebf6b1bc9470","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.4.0.tgz","fileCount":86,"integrity":"sha512-Llhlh6zIDbbvgG+6zVKLaoRdi8sQzH8hkh6YB6WewFjK7jhbNKfX8Rel2w2g7EKELhLhgg2zCTaZFM9loeWLVQ==","signatures":[{"sig":"MEUCIQCVl+g55R4xS32LOSZZxOMNBqrSXW3rwvMYzdjMXpT2SAIgYkC88XYKW4lke7TZ3xXm9XJgIiV981GbeIi9ZklcX8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274246},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"fb59d9490aa5d0389505b38874254c17bc029994","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.4.0_1786348614052_0.7197831402271282","host":"s3://npm-registry-packages-npm-production"}},"6.4.1":{"name":"ppu-paddle-ocr","version":"6.4.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.4.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"7f7d5e60f4aaae4c037cc8b2c468d6d5f41b85c6","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.4.1.tgz","fileCount":86,"integrity":"sha512-2cXy9rPpI4G4qQz+2aoK2FJF3OLgRadjA8VYDK6eKPV3/ny0ruH+nS3SKNMckRCvWoIW/64WguODYvqb4UbWVA==","signatures":[{"sig":"MEQCIA2JnwEelADOqINler3j/a3OdTjuGjxVusaZISkh+3FnAiBcIucQ6B9ine70Rl3Z5KCoYjPjYAwI3TU8N+H7cRN4tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":271781},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"56fe85951a2b90afa347bd47f0e8d5fa29f0c0d0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.4.1_1787305909701_0.9248865184640687","host":"s3://npm-registry-packages-npm-production"}},"6.4.2":{"name":"ppu-paddle-ocr","version":"6.4.2","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.4.2","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"2b22409dcd97d5964bb717b9b56c2672b54b1020","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.4.2.tgz","fileCount":86,"integrity":"sha512-1QyXiO2Y7uRo3NpYuhHQ5U0DhD7sLTw2bya9219Sc4SVdu3prhB82sZ8LoKJPcvhkaXJ5RVXLmo93G61HtoE7A==","signatures":[{"sig":"MEYCIQC+fgbxkSxsh2ubPzRmosL0PUxJB6Cng+excEHL5dhz6AIhAMcepGVRfff2174HOIM5ACloLEGxMScaBF0iNrTImiia","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275710},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"e1907d6714afa12566a8a0369d60ff8f8e697827","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.4.2_1787670183722_0.22592600434532373","host":"s3://npm-registry-packages-npm-production"}},"6.4.3":{"name":"ppu-paddle-ocr","version":"6.4.3","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.4.3","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"d7eb34f4408734f995e8e140b85ba3f7a5735f26","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.4.3.tgz","fileCount":86,"integrity":"sha512-SX6uriOpPMJronQP9pnMM1GoHUT+LEwKS9TR4sNHWe8oHdHDAwUnp2NdL2CBUkXYGUqJcxv0Uqo1Y8VGOaRa3Q==","signatures":[{"sig":"MEQCIGZAXVjN8pYC2VsNt0PutbkB5busnOi7Z19Ym4iOQCG4AiAUfrLhEJ2h//O/kSEdvsc9qSplXypVgfL/e9m6ToQ9AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275770},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"f0b2979be2aa959e379a10f7a646db49cfd46425","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.4.3_1787816308480_0.34309894755088366","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"ppu-paddle-ocr","version":"6.5.0","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.5.0","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"76eee9d5b1db662851ae3cc58404004a82522805","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.5.0.tgz","fileCount":86,"integrity":"sha512-+nQoELvAdvTMJ4G2Tmqh1mAeL/ipujeij45JB15uYtrtKXIXDCRoX9Bth2cSOk7KUa0MC0S+KgmBhThupr+jTw==","signatures":[{"sig":"MEUCIQDDq55RfVf4hqd+O2jV6//fb++5E59TWjF4Me+Zo1QIZQIgabRsPzEYhfkC02DXuNib/KyskcY2Q8/8znwcsAAoQxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279571},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"c59dcd964543eb9fe6fa94c7b267c114dfc53f40","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.19.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.5.0_1788885080730_0.35671547373110757","host":"s3://npm-registry-packages-npm-production"}},"6.5.1":{"name":"ppu-paddle-ocr","version":"6.5.1","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","_id":"ppu-paddle-ocr@6.5.1","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"bin":{"ppu-paddle-ocr":"cli/index.js"},"dist":{"shasum":"0ea7570ead92cfc3a3bb2116c5654b2a2d02f63d","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.5.1.tgz","fileCount":86,"integrity":"sha512-KXfAWJ4jixqzH7iXDiG13G+8F12J/5ZN7yjvWZz241hMLPwgEje3npCPfH+9py6QWkj201sQc7c1vevld4jpUQ==","signatures":[{"sig":"MEYCIQDD6V1eD81w6fW6/as41FlAu/i1vc/Vk4u+IPK5JnqxwgIhAMmaYzSY4JF+ZFgUdItNd96YHkxFmYagF+aZFMNWQItC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279100},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"gitHead":"6404bc93a2d1f43479d062287cc99c9f1db55f32","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"overrides":{"adm-zip":"^0.6.0"},"repository":{"url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git","type":"git"},"_npmVersion":"11.19.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ppu-ocv":"^4.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"onnxruntime-web":"^1.23.2","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","@shopify/react-native-skia":">=1.0.0"},"peerDependenciesMeta":{"onnxruntime-web":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"@shopify/react-native-skia":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ppu-paddle-ocr_6.5.1_1788889186272_0.5251319027643584","host":"s3://npm-registry-packages-npm-production"}},"6.6.0":{"name":"ppu-paddle-ocr","version":"6.6.0","description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"author":{"name":"snowfluke"},"license":"MIT","type":"module","main":"./index.js","types":"./index.d.ts","bin":{"ppu-paddle-ocr":"cli/index.js"},"exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web/index.d.ts","default":"./web/index.js"},"./mobile":{"types":"./mobile/index.d.ts","default":"./mobile/index.js"},"./coi-serviceworker.js":"./coi-serviceworker.js"},"repository":{"type":"git","url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git"},"homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","dependencies":{"ppu-ocv":"^4.0.0"},"peerDependencies":{"@shopify/react-native-skia":">=1.0.0","onnxruntime-node":"^1.23.2","onnxruntime-react-native":"^1.23.2","onnxruntime-web":"^1.23.2"},"peerDependenciesMeta":{"@shopify/react-native-skia":{"optional":true},"onnxruntime-node":{"optional":true},"onnxruntime-react-native":{"optional":true},"onnxruntime-web":{"optional":true}},"overrides":{"adm-zip":"^0.6.1"},"gitHead":"677ff7006e9d1474e39b68c95ba5bfc142ebdc86","_id":"ppu-paddle-ocr@6.6.0","bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-AsnJz5ZccJcbgzwYpfEYrockPcr9g7m4AiJjgbGbVS52rJnnTqXCEXwlynyBj3LPi7iFzUki+w6PEiQsMorW7g==","shasum":"0f6d040713beefd20ce7e9ba9200eeeaf6f50526","tarball":"https://registry.npmjs.org/ppu-paddle-ocr/-/ppu-paddle-ocr-6.6.0.tgz","fileCount":86,"unpackedSize":286715,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ppu-paddle-ocr@6.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCPCDik8qbad/eSYMs9io3dxp0KFpIMtAJuHiUUpsZM2wIgS7uXhq1VAWQ1Kuc3PQLR6Nwy4+SjLTTABcjS9aDyHWg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cdccf0e-e161-4a1c-9886-62537064ac74"}},"directories":{},"maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ppu-paddle-ocr_6.6.0_1789310377079_0.566072512811508"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-13T16:39:56.690Z","modified":"2026-09-13T14:39:37.496Z","1.0.0":"2025-05-13T16:39:56.921Z","1.0.1":"2025-05-13T16:58:11.982Z","1.0.2":"2025-05-13T17:02:50.184Z","1.1.0":"2025-05-28T07:36:13.061Z","1.2.0":"2025-06-02T20:00:36.225Z","1.3.0":"2025-06-03T04:33:00.671Z","2.0.0":"2025-06-03T04:49:03.018Z","2.1.0":"2025-06-12T08:11:17.930Z","2.2.2":"2025-06-30T04:03:26.746Z","2.3.0":"2025-06-30T06:16:16.179Z","2.3.1":"2025-06-30T07:09:11.402Z","2.3.2":"2025-06-30T07:36:44.381Z","2.4.0":"2025-07-03T08:40:36.157Z","2.4.1":"2025-07-03T16:35:12.664Z","2.4.2":"2025-07-06T13:58:11.604Z","2.4.3":"2025-07-06T15:30:29.680Z","2.4.4":"2025-07-07T04:44:00.930Z","3.0.0-beta.0":"2025-07-09T06:44:21.305Z","3.0.0":"2025-07-09T06:53:09.025Z","3.1.0":"2025-07-09T07:13:52.321Z","3.1.1":"2025-07-13T00:52:45.387Z","3.2.0":"2025-11-09T11:27:19.144Z","3.2.1":"2025-11-09T15:30:50.015Z","3.2.2":"2025-11-11T07:16:32.934Z","3.2.3":"2025-12-08T03:56:10.659Z","3.4.0":"2025-12-10T04:00:45.399Z","3.5.0":"2025-12-12T16:38:15.845Z","3.6.0":"2026-01-01T16:06:11.438Z","3.7.2":"2026-03-03T08:29:57.750Z","4.0.0":"2026-03-04T06:52:29.434Z","4.0.1":"2026-03-04T07:55:08.882Z","4.0.2":"2026-03-04T08:12:42.955Z","4.1.0":"2026-03-07T16:13:58.519Z","4.1.1":"2026-03-07T18:02:52.695Z","5.0.0":"2026-04-05T19:21:58.295Z","5.1.0":"2026-04-11T12:56:35.136Z","5.1.1":"2026-04-12T05:43:30.100Z","5.2.0":"2026-05-09T12:28:24.563Z","5.2.1":"2026-05-09T15:36:57.412Z","5.3.0":"2026-05-09T16:40:00.133Z","5.4.0":"2026-05-09T18:02:52.594Z","5.4.1":"2026-05-09T19:31:40.325Z","5.4.2":"2026-05-14T03:56:14.660Z","5.4.3":"2026-05-14T05:58:39.307Z","5.4.4":"2026-05-14T16:29:05.203Z","5.5.0":"2026-05-23T15:34:11.130Z","5.6.0":"2026-05-23T19:04:44.850Z","5.7.0":"2026-05-24T07:47:29.870Z","5.7.1":"2026-05-24T07:58:59.029Z","5.8.0":"2026-05-24T20:31:20.627Z","5.8.1":"2026-05-25T13:29:21.269Z","5.8.2":"2026-05-25T13:33:04.301Z","5.8.3":"2026-05-28T07:54:04.938Z","6.0.0":"2026-06-22T17:03:15.811Z","6.1.0":"2026-07-13T10:48:26.962Z","6.1.1":"2026-07-20T14:31:04.295Z","6.1.2":"2026-07-21T07:46:27.579Z","6.2.0":"2026-07-22T16:36:43.322Z","6.3.0":"2026-08-03T12:38:23.361Z","6.4.0":"2026-08-10T07:56:54.191Z","6.4.1":"2026-08-21T09:51:49.834Z","6.4.2":"2026-08-25T15:03:03.872Z","6.4.3":"2026-08-27T07:38:28.675Z","6.5.0":"2026-09-08T16:31:20.937Z","6.5.1":"2026-09-08T17:39:46.518Z","6.6.0":"2026-09-13T14:39:37.225Z"},"bugs":{"url":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/issues"},"author":{"name":"snowfluke"},"license":"MIT","homepage":"https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr#readme","keywords":["accurate-ocr","browser-ocr","bun-compatible","bun-ocr","computer-vision","document-ai","document-analysis","document-processing","fast-ocr","image-processing","image-text-extraction","image-to-text","invoice-processing","javascript-ocr","lightweight-ocr","node-ocr","nodejs-ocr","ocr","ocr-engine","ocr-library","onnx","onnx-ocr","onnxruntime","optical-character-recognition","paddle-ocr-node","paddleocr","paddlepaddle","receipt-scanner","text-detection","text-extraction","text-from-image","text-recognition","typescript-ocr","web-ocr","docker-ocr","cli-ocr","react-native","react-native-ocr","web-worker-ocr"],"repository":{"type":"git","url":"git+https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr.git"},"description":"Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web worker, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate tex","maintainers":[{"name":"snowfluke","email":"awalariansyah7@gmail.com"}],"readme":"# ppu-paddle-ocr\n\n[![Slack](https://img.shields.io/badge/Slack-Community-4A154B?logo=slack&logoColor=white)](https://join.slack.com/t/ppupaddleocrcommunity/shared_invite/zt-3uzp1uuma-lrkEq8OYBYhGdUtzRoVmUg) [![NPM](https://img.shields.io/npm/dw/ppu-paddle-ocr)](https://www.npmjs.com/package/ppu-paddle-ocr) [![npm version](https://img.shields.io/npm/v/ppu-paddle-ocr)](https://www.npmjs.com/package/ppu-paddle-ocr) [![Provenance](https://img.shields.io/badge/npm-signed%20provenance-blue?logo=npm)](https://www.npmjs.com/package/ppu-paddle-ocr#provenance) [![License: MIT](https://img.shields.io/npm/l/ppu-paddle-ocr)](./LICENSE) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/badge)](https://scorecard.dev/viewer/?uri=github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12963/badge)](https://www.bestpractices.dev/projects/12963) [![Socket Badge](https://socket.dev/api/badge/npm/package/ppu-paddle-ocr)](https://socket.dev/npm/package/ppu-paddle-ocr) [![Known Vulnerabilities](https://snyk.io/test/github/pt-perkasa-pilar-utama/ppu-paddle-ocr/badge.svg)](https://snyk.io/test/github/pt-perkasa-pilar-utama/ppu-paddle-ocr) [![codecov](https://codecov.io/gh/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/branch/main/graph/badge.svg)](https://codecov.io/gh/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr)\n\nLightweight, probably the fastest PaddleOCR SDK in TypeScript. Multilingual Support. Runs anywhere JavaScript runs: Node.js, Bun, Deno, web browsers, web worker, browser extensions, and React Native (iOS/Android). Docker & CLI supported. The official SDK is browser-only and significantly slower. [Compare it for yourself](https://paddle-ocr-comparison.snowfluke.workers.dev/). Fine tune it? [fine-tuning on your data](#fine-tuning-on-your-data).\n\nNeed it as HTTP-service? dockerized? we've got you covered! Quickly spins up ppu-paddle-ocr REST API here: [ppu-paddle-ocr-serve](/apps/serve/README.md). Need a CLI instead? sure here: [ppu-paddle-ocr CLI support](#command-line). Adjust the config & model for your use case, [see config recommendation](#choosing-a-model-and-configuration). Are you AI Agents? you can learn quickly by using the skill in the `skill-ppu-paddle-ocr` folder.\n\n![ppu-paddle-ocr demo](https://raw.githubusercontent.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/refs/heads/main/assets/ppu-paddle-ocr-demo.jpg)\n\n```ts\nimport { PaddleOcrService } from \"ppu-paddle-ocr\";\n\nconst service = new PaddleOcrService();\nawait service.initialize();\n\nconst result = await service.recognize(\"./receipt.jpg\");\nconsole.log(result.text);\n\nawait service.destroy();\n```\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Why ppu-paddle-ocr?](#why-ppu-paddle-ocr)\n- [Runtime Support](#runtime-support)\n- [Installation](#installation)\n- [Core Usage](#core-usage)\n  - [Basic Recognition](#basic-recognition)\n  - [Custom Models](#custom-models)\n  - [Changing Models at Runtime](#changing-models-at-runtime)\n  - [Per-Call Options](#per-call-options)\n  - [Detection Only](#detection-only)\n- [Command Line](#command-line)\n  - [Standalone Binaries](#standalone-binaries)\n- [Batch Recognition](#batch-recognition)\n- [Recognition Strategies](#recognition-strategies)\n- [Choosing a Model and Configuration](#choosing-a-model-and-configuration)\n- [Image Preprocessing](#image-preprocessing)\n- [Processing Engine](#processing-engine)\n- [Web / Browser Support](#web--browser-support)\n  - [Using a Bundler](#using-a-bundler-vite-webpack-etc)\n  - [Main-Thread Usage (No Worker)](#main-thread-usage-no-worker)\n  - [CDN (No Bundler)](#cdn-no-bundler)\n  - [WebGPU Acceleration](#webgpu-acceleration)\n  - [Multithreaded WASM (Cross-Origin Isolation)](#multithreaded-wasm-cross-origin-isolation)\n- [React Native (Mobile)](#react-native-mobile)\n- [Models and Language Support](#models-and-language-support)\n  - [PP-OCRv6 Models](#pp-ocrv6-models)\n  - [Cache Location](#cache-location-node--bun)\n  - [Multilingual Support](#multilingual-support)\n  - [Switching Languages](#switching-languages)\n  - [Server Models](#server-models-higher-accuracy)\n  - [INT8 Quantization](#int8-quantization)\n  - [Model Output Limitations](#model-output-limitations)\n  - [Converting Custom Models](#converting-custom-paddlepaddle-models)\n  - [Fine-Tuning on Your Data](#fine-tuning-on-your-data)\n- [Configuration Reference](#configuration-reference)\n  - [PaddleOptions](#paddleoptions)\n  - [RecognizeOptions](#recognizeoptions)\n  - [DetectOptions](#detectoptions)\n  - [ModelPathOptions](#modelpathoptions)\n  - [DetectionOptions](#detectionoptions)\n  - [RecognitionOptions](#recognitionoptions)\n  - [DebuggingOptions](#debuggingoptions)\n  - [SessionOptions](#sessionoptions)\n  - [ProcessingOptions](#processingoptions)\n- [Benchmark](#benchmark)\n- [Ecosystem](#ecosystem)\n- [Contributing](#contributing)\n- [License](#license)\n- [Support](#support)\n- [Scripts](#scripts)\n\n## Why ppu-paddle-ocr?\n\n- **Lightweight**, minimal dependencies, optimized for performance.\n- **Pre-packed models**, PP-OCRv6 tiny models (~6 MB, multilingual) are fetched and cached automatically on first run; the full-dictionary small/medium tiers and language-specific variants are one option away. Supports additional variants via [ppu-paddle-ocr-models](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models).\n- **Runs everywhere**, Node.js, Bun, Deno, web browsers, web workers, browser extensions, and React Native (iOS/Android). The official SDK is browser-only.\n- **Customizable**, custom models, dictionaries, and per-call overrides.\n- **TypeScript**, full type definitions.\n\n## Runtime Support\n\nThe same package, the same API, every JavaScript runtime:\n\n| Runtime                   | How to install                                                                                              | Try it                                                                                           |\n| ------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |\n| **Node.js**               | `npm install ppu-paddle-ocr onnxruntime-node`                                                               | [npm package](https://www.npmjs.com/package/ppu-paddle-ocr)                                      |\n| **Bun**                   | `bun add ppu-paddle-ocr onnxruntime-node`                                                                   | [npm package](https://www.npmjs.com/package/ppu-paddle-ocr)                                      |\n| **Deno**                  | `deno add jsr:@snowfluke/ppu-paddle-ocr`                                                                    | [JSR package](https://jsr.io/@snowfluke/ppu-paddle-ocr)                                          |\n| **Web browser**           | `npm install ppu-paddle-ocr onnxruntime-web` (import `/web` subpath)                                        | [Live demo](https://ppu-paddle-ocr.snowfluke.workers.dev/)                                       |\n| **Web worker**            | Same as web; the `/web` subpath runs in workers and MV3 service workers unchanged.                          | [Web Workers](#web-workers)                                                                      |\n| **Browser extension**     | Same as web; bundle `ppu-paddle-ocr/web` with your extension's bundler.                                     | [Example extension repo](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-extension)     |\n| **Mobile (React Native)** | `npm install ppu-paddle-ocr onnxruntime-react-native @shopify/react-native-skia` (import `/mobile` subpath) | [Example app](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-mobile-react-native-demo) |\n\n## Installation\n\n```bash\nnpm install ppu-paddle-ocr onnxruntime-node onnxruntime-web\n```\n\nOmit `onnxruntime-node` or `onnxruntime-web` depending on your target environment (Node/Bun vs browser).\n\n### CLI (global install)\n\n```bash\nnpm install -g ppu-paddle-ocr onnxruntime-node      # or: bun add -g ppu-paddle-ocr onnxruntime-node\nppu-paddle-ocr recognize receipt.jpg\n```\n\nThis puts a `ppu-paddle-ocr` command on your `PATH`. See [Command Line](#command-line) for all commands.\n\n<details>\n<summary>Notes on the global install</summary>\n\n- **`onnxruntime-node` is required.** It is an optional peer dependency (~258MB of native binaries), so install it alongside the CLI.\n- **bun**: ensure `~/.bun/bin` is on your `PATH` (npm's global bin usually already is).\n- **Updates are manual.** Re-run the install with `@latest` to upgrade. (`bunx`/`npx` always fetch the latest but can serve a stale cache; a global install pins the version and you own upgrades.)\n- **Node or Bun must be present.** This is the Node/Bun build, not a standalone binary. For that, see [Standalone Binaries](#standalone-binaries) below.\n\n</details>\n\n### Standalone Binaries\n\nEvery release attaches self-contained executables, no Node, Bun, or `npm install` required. Download, extract, run:\n\n```bash\ncurl -L https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/releases/latest/download/ppu-paddle-ocr-linux-x64.tar.gz | tar xz\n./ppu-paddle-ocr-linux-x64 recognize receipt.jpg\n```\n\n| Asset                                | Platform                                                       |\n| :----------------------------------- | :------------------------------------------------------------- |\n| `ppu-paddle-ocr-linux-x64.tar.gz`    | Linux x86-64 (glibc; Debian, Ubuntu, Fedora, ...)              |\n| `ppu-paddle-ocr-linux-arm64.tar.gz`  | Linux ARM64 (glibc; Raspberry Pi OS 64-bit, AWS Graviton, ...) |\n| `ppu-paddle-ocr-darwin-arm64.tar.gz` | macOS on Apple Silicon                                         |\n| `ppu-paddle-ocr-windows-x64.zip`     | Windows x86-64 (contains the `.exe`)                           |\n\nIntel Macs and Alpine (musl) are not covered, onnxruntime ships no darwin-x64 or musl builds; use `npx`/`bunx` there.\n\n<details>\n<summary>Size, slim variant, and OS warnings</summary>\n\n- **Size and first run.** ~50 MB download, ~140-200 MB extracted (the executable embeds the Bun runtime, ONNX Runtime, and the canvas engine; `tar` preserves the executable bit). Models (~6 MB) still download to `~/.cache/ppu-paddle-ocr` on first run, exactly like the npm CLI.\n- **Slim variant.** Each target also ships a `-slim` archive (e.g. `ppu-paddle-ocr-linux-x64-slim.tar.gz`) that excludes the OpenCV engine: ~28 MB smaller extracted, though only ~5 MB smaller to download (the OpenCV payload compresses well). It always uses the `canvas-native` engine and rejects `--engine opencv`; accuracy on the reference receipt is near-identical (see [Benchmark](#benchmark)). Pick slim for disk and memory footprint; pick full if you want the opencv engine.\n- **macOS Gatekeeper.** The binaries are ad-hoc signed but not Apple-notarized. If macOS blocks a downloaded binary, clear the quarantine flag: `xattr -d com.apple.quarantine ./ppu-paddle-ocr-darwin-arm64` (or right-click, Open, once).\n- **Windows SmartScreen.** Unrecognized-app warning on first run: \"More info\", then \"Run anyway\".\n\n</details>\n\n<details>\n<summary>Verify a download (Sigstore + SLSA)</summary>\n\nBoth checks run against the archive, before extraction; both artifacts are attached per release.\n\n```bash\n# Sigstore signature (bundle is attached next to each archive)\ncosign verify-blob ppu-paddle-ocr-linux-x64.tar.gz \\\n  --bundle ppu-paddle-ocr-linux-x64.tar.gz.sigstore.json \\\n  --certificate-identity-regexp \"github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr\" \\\n  --certificate-oidc-issuer https://token.actions.githubusercontent.com\n\n# GitHub build provenance (SLSA)\ngh attestation verify ppu-paddle-ocr-linux-x64.tar.gz --repo PT-Perkasa-Pilar-Utama/ppu-paddle-ocr\n```\n\n</details>\n\n## Core Usage\n\n### Basic Recognition\n\n```ts\nimport { PaddleOcrService } from \"ppu-paddle-ocr\";\n\nconst service = new PaddleOcrService({\n  debugging: {\n    debug: false,\n    verbose: true,\n  },\n});\n\nawait service.initialize();\n\nconst result = await service.recognize(\"./assets/receipt.jpg\");\nconsole.log(result.text);\n\nawait service.destroy();\n```\n\nFor a single image, `ocr()` and `detect()` manage a short-lived service for\nyou. Create a `PaddleOcrService` when processing more than one image so the\nmodels remain initialized between calls.\n\n```ts\nimport { detect, ocr } from \"ppu-paddle-ocr\";\n\nconst result = await ocr(imageBuffer);\nconst { boxes } = await detect(imageBuffer);\n```\n\n### Custom Models\n\n**Using preset models**, import constants for quick switching:\n\n```ts\nimport { PaddleOcrService, V6_SMALL_MODEL, V5_EN_MOBILE_MODEL } from \"ppu-paddle-ocr\";\n\n// PP-OCRv6 small (full dictionary; the default is PP-OCRv6 tiny)\nconst service = new PaddleOcrService({ model: V6_SMALL_MODEL });\n\n// Switch to PP-OCRv5 English\nconst service = new PaddleOcrService({ model: V5_EN_MOBILE_MODEL });\n```\n\n**Available presets:**\n\n- **v6**: `V6_TINY_MODEL` (default), `V6_SMALL_MODEL`, `V6_MEDIUM_MODEL`\n- **v5**: `V5_EN_MOBILE_MODEL`, `V5_EN_MOBILE_INT8_MODEL`, `V5_EN_SERVER_MODEL`, `V5_MOBILE_MODEL`, `V5_SERVER_MODEL`\n- **v5 languages**: `V5_ARABIC_MOBILE_MODEL`, `V5_CYRILLIC_MOBILE_MODEL`, `V5_DEVANAGARI_MOBILE_MODEL`, `V5_GREEK_MOBILE_MODEL`, `V5_ESLAV_MOBILE_MODEL`, `V5_KOREAN_MOBILE_MODEL`, `V5_LATIN_MOBILE_MODEL`, `V5_TAMIL_MOBILE_MODEL`, `V5_TELUGU_MOBILE_MODEL`, `V5_THAI_MOBILE_MODEL`\n- **v4**: `V4_EN_MOBILE_MODEL`, `V4_MOBILE_MODEL`, `V4_SERVER_MODEL`, `V4_SERVER_DOC_MODEL`\n- **v3**: `V3_MOBILE_MODEL`, `V3_JAPANESE_MOBILE_MODEL`\n\n**Granular override**, mix presets with custom paths:\n\n```ts\nconst service = new PaddleOcrService({\n  model: {\n    ...V6_SMALL_MODEL,\n    detection: \"./models/custom-det.onnx\", // Override just detection\n  },\n});\n```\n\n**Fully custom**, pass file paths, URLs, or `ArrayBuffer`s:\n\n```ts\nconst service = new PaddleOcrService({\n  model: {\n    detection: \"./models/custom-det.onnx\",\n    recognition: \"https://example.com/models/custom-rec.onnx\",\n    charactersDictionary: customDictArrayBuffer,\n  },\n});\n\nawait service.initialize();\n```\n\n### Changing Models at Runtime\n\n```ts\nconst service = new PaddleOcrService();\nawait service.initialize();\n\nawait service.changeDetectionModel(\"./models/new-det.onnx\");\nawait service.changeRecognitionModel(\"./models/new-rec.onnx\");\nawait service.changeTextDictionary(\"./models/new-dict.txt\");\n```\n\n### Per-Call Options\n\nEach `recognize()` call accepts `RecognizeOptions` for fine-grained control:\n\n```ts\n// Custom dictionary for one-off recognition\nconst result = await service.recognize(\"./assets/receipt.jpg\", {\n  dictionary: \"./models/new-dict.txt\",\n});\n\n// Disable caching for fresh processing\nconst fresh = await service.recognize(\"./assets/receipt.jpg\", {\n  noCache: true,\n});\n\n// Combine options\nconst result = await service.recognize(\"./assets/receipt.jpg\", {\n  noCache: true,\n  flatten: true,\n  strategy: \"per-box\",\n});\n```\n\n### Detection Only\n\n`detect()` runs only the detection model - no recognition - and returns the\nbounding boxes of the text regions it finds. Useful when you only need layout\n(where the text is), or want to feed the crops into your own pipeline.\n\n```ts\n// Just the boxes\nconst { boxes } = await service.detect(imageBuffer);\n// boxes: { x, y, width, height }[] in original image coordinates\n\n// Also return each region as a PNG buffer, index-aligned with boxes\nconst { crops } = await service.detect(imageBuffer, { crop: true });\nawait Bun.write(\"first-region.png\", crops![0]!);\n\n// Or write the crops straight to a folder as crop_000.png, crop_001.png, ...\nawait service.detect(imageBuffer, { saveCropsTo: \"./out/regions\" });\n\n// DetectOptions extends DetectionOptions, so any tuning field\n// can be overridden per call:\nconst { boxes: bigOnly } = await service.detect(imageBuffer, {\n  minimumAreaThreshold: 500,\n  maxSideLength: 960,\n});\n```\n\n`detect()` accepts the same inputs as `recognize()` (`ArrayBuffer`, canvas,\nabsolute path, or URL) and works on all entry points. `saveCropsTo` is\nNode/Bun only (ignored on web/mobile); `crop: true` is not supported on React\nNative, where the Skia canvas cannot be encoded to PNG.\n\nAlso available as the CLI `detect` command and the serve app's\n`POST /v1/detect` - see [Command Line](#command-line) and\n[`apps/serve`](/apps/serve/README.md).\n\n## Command Line\n\nThe package ships a `bin`, so you can OCR without writing any code. In a project that has `ppu-paddle-ocr` and `onnxruntime-node` installed, `bunx`/`npx` resolve the local install directly; for zero-install runs use `npx -p onnxruntime-node -p ppu-paddle-ocr ppu-paddle-ocr <args>` or a [global install](#cli-global-install):\n\n```bash\n# one image -> recognized text on stdout\nbunx ppu-paddle-ocr recognize receipt.jpg\n\n# a URL, as structured JSON\nnpx ppu-paddle-ocr recognize https://example.com/invoice.png --json --pretty\n\n# detection only: bounding boxes as JSON, optionally saving each region as a PNG\nbunx ppu-paddle-ocr detect receipt.jpg --save-crops ./regions --pretty\n\n# zero-install (no local ppu-paddle-ocr): npx can pull both packages\nnpx -p onnxruntime-node -p ppu-paddle-ocr ppu-paddle-ocr recognize receipt.jpg\n\n# many images (glob), fastest strategy, written to a file\nbunx ppu-paddle-ocr batch \"scans/*.png\" --strategy cross-line --json -o results.json\n\n# print each result as it finishes\nbunx ppu-paddle-ocr stream \"scans/*.png\"\n\n# pick a catalogue preset by name (granular --model-* flags override parts)\nbunx ppu-paddle-ocr recognize receipt.jpg --model v6-tiny\nbunx ppu-paddle-ocr recognize receipt.jpg --model v5-thai-mobile\n\n# pre-warm / clear the model cache, inspect the active config (+ preset list)\nbunx ppu-paddle-ocr download-models\nbunx ppu-paddle-ocr clear-cache\nbunx ppu-paddle-ocr models --json\n```\n\nEvery `PaddleOptions` / `RecognizeOptions` field maps to a flag:\n\n**Models and engine** (all commands):\n\n| Flags                                                                                              | Purpose                                                                              |\n| :------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------- |\n| `--model <preset>`                                                                                 | Catalogue preset (`v6-tiny`, `v6-small`, `v5-en-mobile`, ...); list: `models --json` |\n| `--model-detection`, `--model-recognition`, `--model-dict`                                         | Raw paths/URLs; each overrides that part of the preset                               |\n| `--engine`, `--execution-providers`                                                                | `opencv` \\| `canvas-native`; ONNX providers (e.g. `cuda,cpu`)                        |\n| `--max-side-length`, `--padding-vertical`, `--padding-horizontal`, `--min-area`, `--mean`, `--std` | Detection tuning (`--max-side-length` accepts `auto`)                                |\n\n**Behavior and output**:\n\n| Flags                                                                 | Applies to        | Purpose                                                      |\n| :-------------------------------------------------------------------- | :---------------- | :----------------------------------------------------------- |\n| `--strategy`, `--cross-line-width-factor`, `--flatten`, `--no-cache`  | recognition       | Grouping strategy, flat output, result cache                 |\n| `--image-height`, `--min-confidence`, `--max-crop-source-side-length` | recognition       | Input height, confidence filter, crop-source cap             |\n| `--rec-batch-size`, `--no-rotate-vertical-crops`, `--space-recovery`  | recognition       | Batch size, vertical-crop rotation, space recovery           |\n| `--main-thread-yield-ms`                                              | recognition       | Pause before each inference (browser only, no-op in the CLI) |\n| `--save-crops <dir>`                                                  | `detect` only     | Write one PNG per detected box                               |\n| `--concurrency`, `--settle`                                           | `batch`, `stream` | Images in flight, keep going past a failed image             |\n| `--json`, `--pretty`, `-o`/`--output`, `-q`/`--quiet`, `--verbose`    | all commands      | Output format and destination                                |\n| `--debug`, `--debug-folder <dir>`                                     | all commands      | Dump intermediate frames to disk                             |\n\nRecognized text goes to **stdout**; progress and logs go to **stderr**, so output pipes cleanly. Exit codes: `0` success, `1` runtime error, `2` usage error.\n\nRun `bunx ppu-paddle-ocr help` for the full reference. The CLI uses the default v6 tiny models unless you select a `--model` preset or override the `--model-*` flags.\n\n## Batch Recognition\n\n`batchRecognize()` runs `recognize()` over many images with **bounded concurrency**: at most `concurrency` images are decoded and in flight at once, so memory stays in check. Results come back **index-aligned** to the inputs, whatever order they finish in.\n\n```ts\nconst results = await service.batchRecognize([buf1, buf2, buf3]);\nresults.forEach((r, i) => console.log(i, r.text));\n```\n\n| You want                            | Use                                   |\n| :---------------------------------- | :------------------------------------ |\n| More or fewer images in flight      | `{ concurrency: 8 }`                  |\n| One bad image not to kill the batch | `{ settle: true }`                    |\n| Progress or cancellation            | `{ onProgress, signal }`              |\n| Results as they finish              | `batchRecognizeStream()`              |\n| An input list too big for memory    | pass an `Iterable` or `AsyncIterable` |\n\nAll `RecognizeOptions` (`flatten`, `strategy`, `dictionary`, `noCache`) are accepted too and apply to every image. Full surface: [`BatchRecognizeOptions`](#batchrecognizeoptions).\n\n**Concurrency.** Defaults to `\"auto\"`: `1` on an accelerator provider (CUDA, WebGPU), `4` on CPU. Set it when you know your hardware:\n\n```ts\nawait service.batchRecognize(images, { concurrency: 8, flatten: true });\n```\n\n<details>\n<summary>Why auto picks 1 on an accelerator</summary>\n\nA shared ONNX session serializes device work anyway, so parallel runs buy nothing and stack VRAM. On CPU the default overlaps JS preprocessing with native inference, which does help.\n\n</details>\n\n**Failures.** With `settle: true` the call never rejects; each slot becomes `{ status, value | reason }`:\n\n```ts\nconst results = await service.batchRecognize(images, { settle: true });\nfor (const r of results) {\n  if (r.status === \"fulfilled\") console.log(r.value.text);\n  else console.error(\"failed:\", r.reason);\n}\n```\n\n**Progress and cancellation** use the usual primitives:\n\n```ts\nconst ac = new AbortController();\nawait service.batchRecognize(images, {\n  signal: ac.signal,\n  onProgress: (done, total) => console.log(`${done}/${total}`),\n});\n```\n\n**Streaming.** `batchRecognizeStream()` yields each result as it finishes, so the whole batch is never buffered. Each item carries its input `index` for reordering:\n\n```ts\nfor await (const item of service.batchRecognizeStream(images)) {\n  if (item.status === \"fulfilled\") console.log(item.index, item.value.text);\n}\n```\n\nBoth methods accept any `Iterable` or `AsyncIterable` of inputs, so a directory walk or a queue never has to be materialized in memory at once.\n\n## Recognition Strategies\n\nRecognition strategies control how detected text regions are cropped from the canvas and fed into the recognition model. Fewer inference calls means faster throughput.\n\n| Strategy     | Description                                                                       |\n| :----------- | :-------------------------------------------------------------------------------- |\n| `per-box`    | Each detected box is recognized individually, _n_ boxes, _n_ inferences.          |\n| `per-line`   | Boxes on the same line are merged into a single crop, fewer inferences. (Default) |\n| `cross-line` | Crops are bin-packed across lines into uniform-width batches, fewest calls.       |\n\nSee [Choosing a model and configuration](#choosing-a-model-and-configuration) for a workload-based selection matrix.\n\nStrategies are set in `RecognitionOptions`:\n\n```ts\nconst service = new PaddleOcrService({\n  recognition: { strategy: \"cross-line\" },\n});\nawait service.initialize();\n```\n\n![recognition strategies](https://raw.githubusercontent.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr/refs/heads/main/assets/recognition-strategies.jpg)\n\n## Choosing a Model and Configuration\n\nThe defaults (PP-OCRv6 tiny, `per-line`, `maxSideLength: \"auto\"`, `minimumAreaThreshold: 20`, `minimumConfidence: 0.5`, `opencv` engine) are tuned to be fast and accurate across the tested corpus, including the receipt photo.\n\nFor dense document pages or full multilingual coverage, step up to `V6_SMALL_MODEL`. Each recipe below was validated against the committed example image it names.\n\n### Model families\n\nv5 models are single-language specialists; v6 models are multilingual (one model, 50+ languages). If your documents are always one known language, the matching v5 model avoids cross-language confusion; if the language varies or mixes, stay on v6.\n\n| Model                              | Languages                           | Download | Speed (vs small) | Reach for it when                                       |\n| :--------------------------------- | :---------------------------------- | :------- | :--------------- | :------------------------------------------------------ |\n| `V6_TINY_MODEL` (default)          | multilingual, ~6.9k-char dictionary | ~6 MB    | 3-4x faster      | screenshots, UIs, latency-sensitive pipelines           |\n| `V6_SMALL_MODEL`                   | 50+ languages, full dictionary      | ~30 MB   | baseline         | dense pages, rare CJK or kana, full-dictionary coverage |\n| `V6_MEDIUM_MODEL`                  | 50+ languages, full dictionary      | ~139 MB  | ~3x slower       | photos, low contrast, the crops other tiers misread     |\n| `V5_EN_MOBILE_MODEL` and v5 family | one language each (en, arabic, ...) | ~12 MB   | comparable       | input language is fixed and known                       |\n\nParameter counts, file names, and preset-switching code live in\n[PP-OCRv6 Models](#pp-ocrv6-models).\n\n### Input characteristics\n\n| Input looks like                  | What to set                                                   | Why                                                                                                              |\n| :-------------------------------- | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- |\n| Dark theme (light text on dark)   | nothing, keep defaults                                        | models read inverted text natively; pre-inverting hurt accuracy in our tests                                     |\n| Light theme, clean digital render | defaults                                                      | high-contrast digital text is the easy case                                                                      |\n| Dense lines (documents, tables)   | `V6_SMALL_MODEL`; `cross-line` for max throughput             | full dictionary and a more sensitive detector for small body text                                                |\n| Sparse short labels (UI, forms)   | defaults                                                      | merged line context fixes short-label misreads that isolated crops produce                                       |\n| Tiny text / fine print            | `\"auto\"` (default) scales the cap with input size             | text below ~10px after downscale stops being detected; override with a fixed `maxSideLength` only if it persists |\n| Landscape / wide pages            | defaults; the cap applies to the longest side                 | `\"auto\"` keeps mid-size pages near native scale instead of downscaling sooner                                    |\n| Low contrast                      | `V6_MEDIUM_MODEL` if defaults fall short                      | weak probability responses need more pixels or a stronger model                                                  |\n| Photo (camera, uneven lighting)   | defaults (99.5% on the receipt); medium for the hardest shots | decode refinements beat small (97.4%) here; `\"auto\"` sizing keeps large photos near native scale                 |\n| Tilted / rotated                  | deskew first with `ppu-ocv` `DeskewService`                   | every model tier degrades sharply past a few degrees of skew                                                     |\n| One known language                | the matching v5 model                                         | single-language dictionary, no cross-language confusion                                                          |\n\n## Image Preprocessing\n\nPaddleOCR works best with grayscale or thresholded images. Use [ppu-ocv](https://github.com/PT-Perkasa-Pilar-Utama/ppu-ocv) for preprocessing before recognition:\n\n```ts\nimport { ImageProcessor, CanvasProcessor } from \"ppu-ocv\";\nconst processor = new ImageProcessor(bodyCanvas);\n\n// For non-OpenCV environments (e.g. browser extensions)\n// const processor = new CanvasProcessor(bodyCanvas)\n\nprocessor.grayscale().blur();\nconst canvas = processor.toCanvas();\nprocessor.destroy();\n```\n\n### Document Correction (Rotated or Warped Pages)\n\nppu-paddle-ocr deliberately ships no orientation-classifier models - most inputs don't need them, and skipping them keeps the default path fast. For scans that arrive rotated (90/180/270), curved, or photographed at an angle, compose with [ppu-doc-correction](https://github.com/PT-Perkasa-Pilar-Utama/ppu-doc-correction), which provides exactly those models as independent, lazy-loading services:\n\n```ts\nimport { DocOrientService } from \"ppu-doc-correction\";\n\nconst orient = new DocOrientService();\nconst { orientation, correctedImage } = await orient.run(imageBuffer);\n// feed correctedImage to service.recognize() - upside-down scans now read correctly\n```\n\n`TextUnwarpService` (UVDoc) flattens curved or warped pages the same way, and `DeskewService` from [ppu-ocv](https://github.com/PT-Perkasa-Pilar-Utama/ppu-ocv) handles small-angle tilt. Individual vertical text lines need none of this: `recognition.rotateVerticalCrops` (on by default) rotates tall crops before recognition at zero model cost.\n\n## Processing Engine\n\nTwo image processing backends are available for detection preprocessing and recognition resizing:\n\n| Engine            | Default | OpenCV Required | Notes                                               |\n| :---------------- | :-----: | :-------------: | :-------------------------------------------------- |\n| `\"opencv\"`        |   Yes   |       Yes       | Uses OpenCV.js from `ppu-ocv`. More accurate boxes. |\n| `\"canvas-native\"` |   No    |       No        | Pure canvas from `ppu-ocv/canvas`. Lighter weight.  |\n\nThe browser build (`ppu-paddle-ocr/web`) always uses `canvas-native`, OpenCV.js is not bundled in the web entry point.\n\n```ts\n// OpenCV (default, recommended)\nconst service = new PaddleOcrService();\n\n// Canvas-native (no OpenCV dependency)\nconst service = new PaddleOcrService({\n  processing: { engine: \"canvas-native\" },\n});\n```\n\n## Web / Browser Support\n\nImport from `ppu-paddle-ocr/web` for browser-native capabilities (`HTMLCanvasElement`, `OffscreenCanvas`, `fetch` buffering).\n\n### Using a Bundler (Vite, Webpack, etc.)\n\n```ts\nimport { PaddleOcrService } from \"ppu-paddle-ocr/web\";\n\nconst service = new PaddleOcrService();\nawait service.initialize();\n\nconst file = document.getElementById(\"upload\").files[0];\n\nconst img = new Image();\nimg.src = URL.createObjectURL(file);\nawait new Promise((r) => (img.onload = r));\n\nconst canvas = document.createElement(\"canvas\");\ncanvas.width = img.width;\ncanvas.height = img.height;\ncanvas.getContext(\"2d\").drawImage(img, 0, 0);\n\nconst result = await service.recognize(canvas);\nconsole.log(result.text);\n```\n\n### Web Workers\n\nThe web build runs unchanged inside a Web Worker, a shared worker, or a Manifest V3 extension service worker. Every intermediate canvas comes from `OffscreenCanvas`, so the pipeline never touches `document` or `HTMLCanvasElement` and needs no shims.\n\nKeep the service inside the worker and send image bytes across the boundary, so inference never blocks the main thread:\n\n```ts\n// worker.ts\nimport { PaddleOcrService } from \"ppu-paddle-ocr/web\";\n\nconst service = new PaddleOcrService();\nconst ready = service.initialize();\n\nself.onmessage = async (event: MessageEvent<ArrayBuffer>) => {\n  await ready;\n  const result = await service.recognize(event.data);\n  self.postMessage(result);\n};\n```\n\n```ts\n// main.ts\nconst worker = new Worker(new URL(\"./worker.ts\", import.meta.url), {\n  type: \"module\",\n});\nworker.onmessage = (event) => console.log(event.data.text);\n\nconst bytes = await file.arrayBuffer();\nworker.postMessage(bytes, [bytes]); // transferred, not copied\n```\n\n`recognize()` also accepts an `OffscreenCanvas` directly, which is what `canvas.transferControlToOffscreen()` hands the worker.\n\nNotes:\n\n- WebGPU detection behaves the same way in a worker and falls back to WASM when `navigator.gpu` is absent.\n- Cross-origin isolation still governs WASM threading, see [Multithreaded WASM](#multithreaded-wasm-cross-origin-isolation). It is a property of the page, not of the worker.\n- `isWebWorker()` is exported if you need to branch on the scope yourself.\n\n```ts\nimport { isWebWorker } from \"ppu-paddle-ocr/web\";\n```\n\n### Main-Thread Usage (No Worker)\n\nA worker is still the right home for OCR. Call `recognize()` directly on the page (a plain `<script>` setup, no bundler, no worker) and WASM inference blocks the main thread: the tab freezes until the whole image is done.\n\nSo the web entry pauses ~10 ms before each recognition inference on the main thread. The page paints and handles input between inferences instead of locking up for the full run. The cost is one pause per batched inference, so roughly 10 ms per `recBatchSize` detected lines (6 by default).\n\nTune it with `recognition.mainThreadYieldMs`:\n\n| Value     | Effect                                                                           |\n| :-------- | :------------------------------------------------------------------------------- |\n| `0`       | No pause: fastest total time, page frozen while recognizing. Default in workers. |\n| `10`      | Default on the main thread.                                                      |\n| `16`-`32` | Longer pauses, smoother page. Use when heavy UI runs around the OCR call.        |\n\n```ts\nconst service = new PaddleOcrService({\n  recognition: { mainThreadYieldMs: 32 },\n});\n```\n\nAn explicit value always wins, including `0`. Inside a Web Worker the default is `0`, there is no UI to yield to. Detection's single inference still blocks briefly either way; only the recognition loop yields.\n\n### CDN (No Bundler)\n\nSee the [live demo](https://ppu-paddle-ocr.snowfluke.workers.dev/) for a complete ESM/CDN setup.\n\n### WebGPU Acceleration\n\nOn WebGPU-capable browsers (Chrome/Edge on Windows/Linux/macOS, Firefox Nightly), ONNX inference automatically runs on the GPU, typically **2-5x faster** with no code changes. The library silently falls back to WASM if WebGPU is unavailable or fails.\n\nDetection runs once during `initialize()` and is fully transparent.\n\n```ts\nimport { isWebGpuAvailable, getDefaultWebExecutionProviders } from \"ppu-paddle-ocr/web\";\n\nif (await isWebGpuAvailable()) {\n  console.log(\"WebGPU supported\");\n}\n```\n\n#### Override Provider Preference\n\n```ts\n// Force WASM-only\nconst service = new PaddleOcrService({\n  session: {\n    executionProviders: [\"wasm\"],\n    graphOptimizationLevel: \"all\",\n  },\n});\n```\n\n**The WASM binaries are always required**, even when WebGPU is the primary provider - ONNX Runtime uses them for graph optimization and fallback ops. When `ort.env.wasm.wasmPaths` is unset, pages and workers load the jsDelivr copy of the exact `onnxruntime-web` version you loaded, so the loader and the binaries never disagree. To self-host them, set it before `initialize()`:\n\n```ts\nort.env.wasm.wasmPaths = \"/ort/\"; // your copy of the onnxruntime-web dist files\n```\n\n### Multithreaded WASM (Cross-Origin Isolation)\n\nThis only matters on the WASM fallback path (no WebGPU, or `executionProviders: [\"wasm\"]`). WebGPU needs no isolation at all.\n\nONNX Runtime runs WASM multithreaded only if the page is [cross-origin isolated](https://developer.mozilla.org/en-US/docs/Web/API/Window/crossOriginIsolated); otherwise `numThreads` is pinned to 1. Isolation needs two response headers:\n\n```http\nCross-Origin-Opener-Policy: same-origin\nCross-Origin-Embedder-Policy: require-corp\n```\n\n**If you can set those headers server-side, do that.** It is the correct fix and needs nothing from this package.\n\nFor static hosts that cannot (e.g. GitHub Pages), the package ships an opt-in [coi-serviceworker](https://github.com/gzuidhof/coi-serviceworker) that injects the headers client-side. Copy it to your served root and load it **before** anything else:\n\n```html\n<script src=\"/coi-serviceworker.js\"></script>\n```\n\nResolve the shipped copy from the package, e.g. in a build step:\n\n```ts\n// path on disk: node_modules/ppu-paddle-ocr/coi-serviceworker.js\nconst swPath = import.meta.resolve(\"ppu-paddle-ocr/coi-serviceworker.js\");\n```\n\n> The service worker reloads the page once on first visit to apply the headers, and rewrites all fetch responses. Don't use it if you already control your headers or run another service worker that conflicts.\n\n## React Native (Mobile)\n\nRun the same OCR pipeline on iOS and Android via the `ppu-paddle-ocr/mobile` entry. It uses `onnxruntime-react-native` (native JSI inference) and `ppu-ocv/canvas-mobile` (Skia-backed canvas) instead of their web counterparts.\n\n```bash\nnpm install ppu-paddle-ocr onnxruntime-react-native @shopify/react-native-skia\n```\n\n```ts\nimport { PaddleOcrService } from \"ppu-paddle-ocr/mobile\";\n\nconst service = new PaddleOcrService();\nawait service.initialize();\n\n// `imageBuffer` is an ArrayBuffer e.g. from a captured frame or a bundled asset.\nconst result = await service.recognize(imageBuffer, { flatten: true });\nconsole.log(result.text);\n\nawait service.destroy();\n```\n\n**Requirements.** RN >= 0.74 / Expo SDK >= 51 (Hermes). Both peer packages ship native code, so you need a dev client or `expo prebuild`. **Expo Go is not supported.**\n\n**Hardware acceleration is opt-in**, mobile inference runs on CPU by default. There is no WebGPU on React Native:\n\n```ts\n// Android: [\"nnapi\"]. iOS: [\"coreml\"].\nnew PaddleOcrService({ session: { executionProviders: [\"nnapi\"] } });\n```\n\n**Camera capture is out of scope.** Pass a decoded frame from `react-native-vision-camera` or `expo-camera` as an `ArrayBuffer`.\n\nA runnable Expo example lives in a separate repo: [ppu-paddle-ocr-mobile-react-native-demo](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-mobile-react-native-demo).\n\n<details>\n<summary>Why the mobile entry is on npm but not JSR</summary>\n\n`onnxruntime-react-native` and `@shopify/react-native-skia` are native React Native modules that only resolve through npm/Metro, and JSR's Deno-based publish cannot resolve them (React Native itself cannot consume JSR packages). So the mobile entry is excluded from the JSR package. Install via npm/yarn/bun as shown above.\n\n</details>\n\n## Models and Language Support\n\n### PP-OCRv6 Models\n\nPP-OCRv6 ships a **single unified model family** covering 50+ languages (Simplified/Traditional Chinese, English, Japanese, 46+ Latin-script languages, Arabic, Indic, ...), no per-language model files needed. The package default is the **tiny** tier; which tier fits which workload is covered in [Choosing a Model and Configuration](#choosing-a-model-and-configuration).\n\n| Tier     | Det + rec params | Notes                                                         |\n| :------- | :--------------- | :------------------------------------------------------------ |\n| `tiny`   | ~1.5M + ~19.9M   | **Default.** Fastest on all platforms; ~6.9k-char dictionary. |\n| `small`  | ~5.1M + ~19.9M   | Full dictionary. Matches PP-OCRv5 mobile latency.             |\n| `medium` | ~14.6M + ~19.9M  | Server-grade, full dictionary. +5.1% accuracy vs v5 server.   |\n\nThe default resolves to these files, downloaded and cached on first run:\n\n| Component   | File                    |\n| :---------- | :---------------------- |\n| Detection   | `PP-OCRv6_tiny_det.ort` |\n| Recognition | `PP-OCRv6_tiny_rec.ort` |\n| Dictionary  | `ppocrv6_tiny_dict.txt` |\n\nPortable `.onnx` variants are available at [ppu-paddle-ocr-models](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models), point `model.detection` / `model.recognition` at the `.onnx` URLs.\n\n**Quick switching with presets:**\n\n```ts\nimport {\n  PaddleOcrService,\n  V6_SMALL_MODEL,\n  V6_MEDIUM_MODEL,\n  V6_TINY_MODEL,\n  V5_EN_MOBILE_MODEL,\n} from \"ppu-paddle-ocr\";\n\n// Default (v6 tiny) - same as passing no model option\nconst service = new PaddleOcrService({ model: V6_TINY_MODEL });\n\n// Full dictionary\nconst serviceFull = new PaddleOcrService({ model: V6_SMALL_MODEL });\n\n// Server-grade\nconst serviceServer = new PaddleOcrService({ model: V6_MEDIUM_MODEL });\n\n// Pre-6.0.0 default (PP-OCRv5 English mobile)\nconst v5 = new PaddleOcrService({ model: V5_EN_MOBILE_MODEL });\n```\n\n### Cache Location (Node / Bun)\n\nModels are cached under `~/.cache/ppu-paddle-ocr`:\n\n| OS      | Path                                        |\n| :------ | :------------------------------------------ |\n| macOS   | `~/.cache/ppu-paddle-ocr`                   |\n| Linux   | `~/.cache/ppu-paddle-ocr`                   |\n| Windows | `C:\\Users\\<username>\\.cache\\ppu-paddle-ocr` |\n\nEach file lands in a subdirectory named after a digest of its source URL, so two models that share a file name never collide. Point a model at a different host and it downloads again rather than reading the old host's copy.\n\n```ts\n// Warm the cache (e.g. in CI or Docker builds)\nPaddleOcrService.downloadModels();\n\n// Clear the cache\nservice.clearModelCache();\n```\n\n> In the browser, model files are fetched via `fetch()` on every page load and rely on the browser's HTTP cache. For persistent offline caching, use a Service Worker or store the `ArrayBuffer` in IndexedDB.\n\n### Multilingual Support\n\nPP-OCRv5 supports 40+ languages across different script systems. Pre-converted ONNX models are published on [Hugging Face](https://huggingface.co/snowfluke/ppu-paddle-ocr-models) and mirrored in [ppu-paddle-ocr-models](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models):\n\n- **Latin**: English, French, German, Italian, Spanish, Portuguese, and 40+ others\n- **Cyrillic**: Russian, Ukrainian, Bulgarian, Kazakh, Serbian, and 30+ related\n- **Arabic**: Arabic, Persian, Urdu, Kurdish\n- **Indic**: Hindi (Devanagari), Tamil, Telugu\n- **East Asian**: Korean, Japanese\n- **Southeast Asian**: Thai\n\n### Switching Languages\n\n**Using presets** (easiest):\n\n```ts\nimport { PaddleOcrService, V5_THAI_MOBILE_MODEL, V5_ARABIC_MOBILE_MODEL } from \"ppu-paddle-ocr\";\n\n// Thai\nconst service = new PaddleOcrService({ model: V5_THAI_MOBILE_MODEL });\n\n// Arabic\nconst service = new PaddleOcrService({ model: V5_ARABIC_MOBILE_MODEL });\n```\n\n**Manual URLs** (advanced). The library's own defaults resolve from the Hugging Face mirror, which serves models and dictionaries from one CDN-backed base with no Git LFS bandwidth budget behind it. Build custom URLs from the same base.\n\n```ts\nconst BASE = \"https://huggingface.co/snowfluke/ppu-paddle-ocr-models/resolve/main\";\n\n// Thai\nconst service = new PaddleOcrService({\n  model: {\n    detection: `${BASE}/detection/PP-OCRv5_mobile_det_infer.onnx`,\n    recognition: `${BASE}/recognition/multi/th/v5/th_PP-OCRv5_mobile_rec_infer.onnx`,\n    charactersDictionary: `${BASE}/recognition/multi/th/v5/ppocrv5_th_dict.txt`,\n  },\n});\n```\n\nPaths are identical on both hosts, so the base is the only part that changes:\n\n| Host                  | Base URL                                                                                      | Notes                                                                                   |\n| :-------------------- | :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |\n| Hugging Face          | `https://huggingface.co/snowfluke/ppu-paddle-ocr-models/resolve/main`                         | Preferred. One base for models and dictionaries.                                        |\n| GitHub (models)       | `https://media.githubusercontent.com/media/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models/main` | Source of truth for the files. Git LFS, subject to a bandwidth budget that can run out. |\n| GitHub (dictionaries) | `https://raw.githubusercontent.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models/main`         | Plain files, not LFS.                                                                   |\n\n### Server Models (Higher Accuracy)\n\n**Using presets:**\n\n```ts\nimport { PaddleOcrService, V5_EN_SERVER_MODEL, V5_SERVER_MODEL } from \"ppu-paddle-ocr\";\n\n// PP-OCRv5 English server\nconst service = new PaddleOcrService({ model: V5_EN_SERVER_MODEL });\n\n// PP-OCRv5 server (multilingual)\nconst service = new PaddleOcrService({ model: V5_SERVER_MODEL });\n```\n\n**Manual configuration:**\n\n```ts\nconst service = new PaddleOcrService({\n  model: {\n    detection: `${MODEL_BASE}/detection/PP-OCRv5_server_det_infer.onnx`,\n    recognition: `${MODEL_BASE}/recognition/PP-OCRv5_server_rec_infer.onnx`,\n    charactersDictionary: `${DICT_BASE}/recognition/ppocrv5_dict.txt`,\n  },\n});\n```\n\n### INT8 Quantization\n\nThe recognition model's transformer MatMul operations can be dynamically quantized to INT8 with **no accuracy loss** (measured 99.22% -> 99.22%) and a 20-50% speedup on **x86-64 CPUs with VNNI** and **WebAssembly**.\n\n> On Apple Silicon (M-series), INT8 is **not faster**, the FP32 NEON/Accelerate kernels outperform the INT8 MLAS path. Stick with FP32 on macOS ARM64.\n\n**Using the preset:**\n\n```ts\nimport { PaddleOcrService, V5_EN_MOBILE_INT8_MODEL } from \"ppu-paddle-ocr\";\n\nconst service = new PaddleOcrService({ model: V5_EN_MOBILE_INT8_MODEL });\n```\n\n**Custom quantization**, run the quantization helper:\n\n```bash\npip install onnxruntime onnx sympy\npython examples/quantize-onnx.py /path/to/en_PP-OCRv5_mobile_rec_infer.onnx\n# -> produces en_PP-OCRv5_mobile_rec_infer_int8.onnx\n```\n\nUse the quantized model via `model.recognition`:\n\n```ts\nconst service = new PaddleOcrService({\n  model: {\n    recognition: \"https://example.com/en_PP-OCRv5_mobile_rec_infer_int8.onnx\",\n  },\n});\n```\n\nINT8 `.ort` variants are also available in the [ppu-paddle-ocr-models](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models) repo.\n\n### Model Output Limitations\n\n- **Tables**: Text within table cells is detected, but table structure is not preserved.\n- **Math formulas**: Not optimized for mathematical notation.\n- **Document layout**: For layout detection, see PP-DocLayoutV2/V3 models in [ppu-paddle-ocr-models](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models).\n\n### Converting Custom PaddlePaddle Models\n\nSee the [ONNX conversion guide](./examples/convert-onnx.ipynb).\n\n### Fine-Tuning on Your Data\n\nFine-tune the recognition model when stock accuracy is limited by domain quirks - dropped inter-word spaces, unusual fonts, ID-card hatching - rather than by image quality. If the inputs are blurry, skewed, or warped, fix that first: see [Image Preprocessing](#image-preprocessing).\n\nThe [fine-tuning starter kit](./examples/fine-tune/README.md) walks the whole path, from picking a tier to loading the result:\n\n- **Per-tier training configs.** The tiny, small, and medium YAMLs differ in neck, head, and dictionary. They are not interchangeable.\n- **A dataset preparation script** that builds train/val/test splits from images with line-level ground truth.\n- **The train -> export -> ONNX -> `model.recognition` walkthrough**, end to end.\n\n## Configuration Reference\n\n### `PaddleOptions`\n\n```ts\nimport type { PaddleOptions } from \"ppu-paddle-ocr\";\n\nexport type PaddleOptions = {\n  model?: ModelPathOptions;\n  detection?: DetectionOptions;\n  recognition?: RecognitionOptions;\n  debugging?: DebuggingOptions;\n  session?: SessionOptions;\n  processing?: ProcessingOptions;\n};\n```\n\n### `RecognizeOptions`\n\nPer-call options for `recognize()`.\n\n| Property              |                   Type                    |     Default     | Description                                             |\n| :-------------------- | :---------------------------------------: | :-------------: | :------------------------------------------------------ |\n| `flatten`             |                 `boolean`                 |     `false`     | Return flat results instead of grouped by lines.        |\n| `strategy`            | `\"per-box\" \\| \"per-line\" \\| \"cross-line\"` | service default | Override strategy for this call.                        |\n| `dictionary`          |          `string \\| ArrayBuffer`          |     `null`      | Custom character dictionary (disables caching).         |\n| `noCache`             |                 `boolean`                 |     `false`     | Bypass the result cache.                                |\n| `minimumConfidence`   |                 `number`                  | service default | Override the confidence threshold for this call.        |\n| `spaceRecovery`       |                 `boolean`                 | service default | Override inter-word space recovery for this call.       |\n| `rotateVerticalCrops` |                 `boolean`                 | service default | Override vertical crop rotation for this call.          |\n| `recBatchSize`        |                 `number`                  | service default | Override the recognition inference batch size per call. |\n\nA call that sets `strategy`, `dictionary`, or any of the four recognition overrides skips the result cache, which is keyed on the image alone.\n\n### `DetectOptions`\n\nPer-call options for `detect()`. Extends [`DetectionOptions`](#detectionoptions),\nso every detection tuning field (`maxSideLength`, `minimumAreaThreshold`,\n`paddingVertical`, `paddingHorizontal`, `mean`, `stdDeviation`) can also be\noverridden for a single call, plus:\n\n| Property      |   Type    | Default | Description                                                                               |\n| :------------ | :-------: | :-----: | :---------------------------------------------------------------------------------------- |\n| `crop`        | `boolean` | `false` | Return each detected region PNG-encoded as `ArrayBuffer`, index-aligned with `boxes`.     |\n| `saveCropsTo` | `string`  | `null`  | Folder where each crop is saved as `crop_NNN.png` (Node/Bun only; ignored on web/mobile). |\n\n### `BatchRecognizeOptions`\n\nExtends `RecognizeOptions` (applied to every image) for `batchRecognize()` / `batchRecognizeStream()`.\n\n| Property      |           Type           | Default  | Description                                                                              |\n| :------------ | :----------------------: | :------: | :--------------------------------------------------------------------------------------- |\n| `concurrency` |    `number \\| \"auto\"`    | `\"auto\"` | Max images in flight. `\"auto\"` = `1` on an accelerator provider, `4` on CPU.             |\n| `settle`      |        `boolean`         | `false`  | When `true`, a failed image yields `{ status: \"rejected\", reason }` instead of throwing. |\n| `signal`      |      `AbortSignal`       |  `null`  | Cancels the batch; pending images are not scheduled and the call rejects.                |\n| `onProgress`  | `(done, total?) => void` |  `null`  | Called after each image settles, with the running count and total (if known).            |\n\n### `ModelPathOptions`\n\n| Property               |          Type           |             Default / Required             | Description                                     |\n| :--------------------- | :---------------------: | :----------------------------------------: | :---------------------------------------------- |\n| `detection`            | `string \\| ArrayBuffer` |       Optional (uses default model)        | Path, URL, or buffer for the detection model.   |\n| `recognition`          | `string \\| ArrayBuffer` |       Optional (uses default model)        | Path, URL, or buffer for the recognition model. |\n| `charactersDictionary` | `string \\| ArrayBuffer` | Optional (uses default English dictionary) | Path, URL, or buffer of the dictionary file.    |\n\n> Leave a trailing newline in your dictionary file.\n\n### `DetectionOptions`\n\nControls preprocessing and filtering during text detection.\n\n| Property               |            Type            |         Default         | Description                                                                                                                                  |\n| :--------------------- | :------------------------: | :---------------------: | :------------------------------------------------------------------------------------------------------------------------------------------- |\n| `mean`                 | `[number, number, number]` | `[0.485, 0.456, 0.406]` | Per-channel mean for input normalization [R, G, B].                                                                                          |\n| `stdDeviation`         | `[number, number, number]` | `[0.229, 0.224, 0.225]` | Per-channel std dev for input normalization.                                                                                                 |\n| `maxSideLength`        |     `number \\| \"auto\"`     |        `\"auto\"`         | Longest side limit (px). `\"auto\"` = clamp(0.75 x longest, 960, 1920): fixed-960 behavior up to ~1280px inputs, more pixels for large photos. |\n| `paddingVertical`      |          `number`          |          `0.4`          | Fractional vertical padding per detected box.                                                                                                |\n| `paddingHorizontal`    |          `number`          |          `0.6`          | Fractional horizontal padding per detected box.                                                                                              |\n| `minimumAreaThreshold` |          `number`          |          `20`           | Minimum box area (px^2); smaller boxes are discarded.                                                                                        |\n\n### `RecognitionOptions`\n\nControls recognition preprocessing and strategy.\n\n| Property                  |                   Type                    |           Default           | Description                                                                                                                                                                                  |\n| :------------------------ | :---------------------------------------: | :-------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `imageHeight`             |                 `number`                  |            `48`             | Fixed height for resized text line images (px).                                                                                                                                              |\n| `strategy`                | `\"per-box\" \\| \"per-line\" \\| \"cross-line\"` |        `\"per-line\"`         | Recognition strategy (see above).                                                                                                                                                            |\n| `crossLineWidthFactor`    |                 `number`                  |            `1.0`            | Batch width multiplier for `cross-line` strategy.                                                                                                                                            |\n| `minimumConfidence`       |                 `number`                  |            `0.5`            | Drop items below this confidence (0 disables). Mirrors upstream `drop_score`; noise reads at 0.2-0.45, real text at 0.65+.                                                                   |\n| `charactersDictionary`    |                `string[]`                 |            `[]`             | Loaded character dictionary for result decoding.                                                                                                                                             |\n| `maxCropSourceSideLength` |                 `number`                  |           `2000`            | Longest side (px) the recognition crop source is capped at; independent of `detection.maxSideLength`. Lower for speed on large sources, raise for full-resolution crops.                     |\n| `mainThreadYieldMs`       |                 `number`                  | `0` (web main thread: `10`) | Pause (ms) before each recognition inference so a browser page keeps painting; `0` disables. See [Main-Thread Usage](#main-thread-usage-no-worker).                                          |\n| `recBatchSize`            |                 `number`                  |             `6`             | Crops per batched recognition inference (width-bucketed, one tensor per chunk, ~35% faster at equal-or-better accuracy). `1` restores sequential; auto-forced to `1` for fixed-batch models. |\n| `rotateVerticalCrops`     |                 `boolean`                 |           `true`            | Rotate crops with height/width >= 1.5 by 90 degrees CCW before recognition, so vertical text lines read correctly without an orientation model.                                              |\n| `spaceRecovery`           |                 `boolean`                 |           `false`           | Emit inter-word spaces the greedy CTC decode drops when the space class is a strong runner-up. Helps Latin text; may add spurious spaces in dense symbol runs.                               |\n\n### `DebuggingOptions`\n\n| Property      |   Type    | Default | Description                                    |\n| :------------ | :-------: | :-----: | :--------------------------------------------- |\n| `verbose`     | `boolean` | `false` | Detailed console logs of each processing step. |\n| `debug`       | `boolean` | `false` | Write intermediate image frames to disk.       |\n| `debugFolder` | `string`  | `\"out\"` | Output directory for debug images.             |\n\n### `SessionOptions`\n\nAny valid ONNX Runtime `InferenceSession.SessionOptions` property is accepted. ppu-paddle-ocr sets these defaults:\n\n| Property                 |                            Type                            |    Default     | Description                                                                          |\n| :----------------------- | :--------------------------------------------------------: | :------------: | :----------------------------------------------------------------------------------- |\n| `executionProviders`     |          `string[] \\| ExecutionProviderConfig[]`           |   `['cpu']`    | Execution providers for inference. Accepts strings or config objects.                |\n| `graphOptimizationLevel` | `'disabled' \\| 'basic' \\| 'extended' \\| 'layout' \\| 'all'` |    `'all'`     | ONNX graph optimization level.                                                       |\n| `enableCpuMemArena`      |                         `boolean`                          |     `true`     | Enable CPU memory arena for better memory management.                                |\n| `enableMemPattern`       |                         `boolean`                          |     `true`     | Enable memory pattern optimization.                                                  |\n| `executionMode`          |                `'sequential' \\| 'parallel'`                | `'sequential'` | Execution mode for the session.                                                      |\n| `interOpNumThreads`      |                          `number`                          |      `0`       | Inter-op threads (0 = ONNX decides).                                                 |\n| `intraOpNumThreads`      |                          `number`                          |      `0`       | Intra-op threads (0 = ONNX decides).                                                 |\n| `onSessionFallback`      |                 `(error: unknown) => void`                 |       -        | Called when the requested providers fail and the session is rebuilt on `cpu`/`wasm`. |\n\n```ts\nconst service = new PaddleOcrService({\n  session: {\n    executionProviders: [\"cpu\"],\n    graphOptimizationLevel: \"all\",\n    enableCpuMemArena: true,\n    enableMemPattern: true,\n    executionMode: \"sequential\",\n  },\n});\n```\n\n`onSessionFallback` is the only non-ORT property. It is stripped before the\noptions reach ONNX Runtime. Use it when you run your own accelerator ladder and\nneed to know that a GPU provider was dropped instead of reading a log line:\n\n```ts\nlet degraded: unknown = null;\nconst service = new PaddleOcrService({\n  session: {\n    executionProviders: [{ name: \"cuda\", deviceId: 0 }, \"cpu\"],\n    onSessionFallback: (error) => (degraded ||= error),\n  },\n});\nawait service.initialize();\nif (degraded) {\n  // Acceleration was dropped. Fail over to your own runtime profile.\n}\n```\n\nIt can fire twice per `initialize()`, once for the detection session and once\nfor the recognition session.\n\n### Model host mirror\n\nBuilt-in models download from a Hugging Face mirror of\n[ppu-paddle-ocr-models](https://github.com/PT-Perkasa-Pilar-Utama/ppu-paddle-ocr-models).\nThat host rate-limits by IP, which shows up as `HTTP 429 Too Many Requests` from\nshared addresses such as CI runners.\n\nSet `PPU_PADDLE_OCR_MODEL_MIRROR=1` and a download that exhausts its retries\nfalls back to the GitHub copy, which serves byte-identical files:\n\n```sh\nPPU_PADDLE_OCR_MODEL_MIRROR=1 bun run your-script.ts\n```\n\nIt is off by default. GitHub LFS bandwidth is a monthly budget, and once it is\nspent downloads stop for every version at once, so turn it on where request\nvolume is bounded and known. A model URL you pass yourself is never rewritten.\n\n### `ProcessingOptions`\n\n| Property |             Type              |  Default   | Description                           |\n| :------- | :---------------------------: | :--------: | :------------------------------------ |\n| `engine` | `\"opencv\" \\| \"canvas-native\"` | `\"opencv\"` | Image processing backend (see above). |\n\n## Benchmark\n\nBenches use a small zero-dependency harness (`bench/harness.ts`): in-process timing, round-robin scheduling across rounds so thermal/GC drift hits every task equally, reporting the median plus min/max/stddev. Run `bun task bench`.\n\nRepresentative results on Apple M1 / Bun 1.3.14 (20 rounds, opencv + canvas-native) at the shipped defaults (PP-OCRv6 tiny, `\"auto\"` sizing, `minimumConfidence: 0.5`, decode refinements):\n\n```bash\ntask                                   median      +/-stddev        min        max\n--------------------------------------------------------------------------------\n[per-box][opencv][noCache]             139.7 ms      18.3 ms   135.3 ms   194.3 ms\n[per-line][opencv][noCache]            138.8 ms      10.9 ms   132.9 ms   171.3 ms\n[cross-line][opencv][noCache]          139.8 ms       8.0 ms   135.5 ms   168.6 ms\n[per-box][canvas-native][noCache]      160.2 ms       7.9 ms   156.6 ms   192.4 ms\n[per-line][canvas-native][noCache]     154.6 ms      10.3 ms   150.2 ms   188.0 ms\n[cross-line][canvas-native][noCache]   161.9 ms      13.1 ms   156.2 ms   211.4 ms\n\n=== Accuracy on receipt.jpg (ground truth: 383 chars) ===\n  [opencv]        per-box=99.48%  per-line=99.48%  cross-line=94.26%\n  [canvas-native] per-box=99.48%  per-line=99.22%  cross-line=94.78%\n```\n\n### Batch vs. concurrent `recognize()`\n\n`bench/batch.bench.ts` compares the ways to OCR many images, tracking peak RSS alongside time. Captured on the previous v5 default (the relative comparison between sequential / `Promise.all` / `batchRecognize` is model-independent), median over 7 rounds of 16 images each, Apple M1 / Bun 1.3.14, opencv, `noCache`:\n\n```bash\ntask                          median      +/-stddev        min        max   peak RSS\n----------------------------------------------------------------------------------\nsequential for-loop          3802.5 ms     300.6 ms  3169.4 ms  3979.7 ms    1059 MB\nPromise.all(map(recognize))  3543.5 ms     254.0 ms  3030.0 ms  3768.0 ms    1428 MB\nbatchRecognize (auto)        3676.1 ms     200.9 ms  3217.1 ms  3761.3 ms    1096 MB\nbatchRecognize (c=4)         3653.8 ms     239.1 ms  3170.1 ms  3804.1 ms    1027 MB\nbatchRecognize (c=8)         3605.7 ms     187.6 ms  3202.1 ms  3786.6 ms    1096 MB\n```\n\nOn CPU, throughput is bound by ONNX Runtime's native thread pool (which already saturates all cor","readmeFilename":"README.md"}