{"_id":"@agsolutions-at/printers","_rev":"7-7ac0c8d6a0daa9a14965b292743cb08b","name":"@agsolutions-at/printers","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.1":{"name":"@agsolutions-at/printers","version":"0.0.1","keywords":["nodejs","napi-rs","rust"],"author":{"name":"agsolutions GmbH"},"license":"MIT","_id":"@agsolutions-at/printers@0.0.1","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"homepage":"https://github.com/agsolutions-at/printers#readme","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"ava":{"timeout":"3m"},"dist":{"shasum":"05a2b85d2b2a6b975b0a4fa8de0160f29519be82","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.0.1.tgz","fileCount":11,"integrity":"sha512-EbOFkCSNrUruzpF3Wd4g9zvwlQ3ZsfvRGnLbQbxqgfRIPHfE+x1YdFDrdr+JmLXjPA3B+s26FSl4JWdhIWhG7w==","signatures":[{"sig":"MEYCIQCYxIHt0aq+F8MlTDPFjTTQHGXHCcg9KDDGr19D2u2iYQIhAKJDQPHwsoyRuzglcPDcNBoTStcDzUxMxQdiOyP5dTVE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26068},"main":"index.js","napi":{"name":"printers","triples":{"defaults":false,"additional":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]}},"types":"index.d.ts","engines":{"node":">= 12.17.0"},"gitHead":"fc814d839521c937da1cc4a2b8e7fdd73bb1f433","scripts":{"test":"ava","build":"napi build --platform --release","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"packageManager":"yarn@4.9.1","devDependencies":{"ava":"^6.0.1","@napi-rs/cli":"^2.18.4"},"optionalDependencies":{"@agsolutions-at/printers-darwin-x64":"0.0.1","@agsolutions-at/printers-darwin-arm64":"0.0.1","@agsolutions-at/printers-win32-x64-msvc":"0.0.1","@agsolutions-at/printers-win32-ia32-msvc":"0.0.1","@agsolutions-at/printers-darwin-universal":"0.0.1","@agsolutions-at/printers-win32-arm64-msvc":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/printers_0.0.1_1745001651185_0.6754614297476735","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@agsolutions-at/printers","version":"0.0.2","keywords":["nodejs","napi-rs","rust"],"author":{"name":"agsolutions GmbH"},"license":"MIT","_id":"@agsolutions-at/printers@0.0.2","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"homepage":"https://github.com/agsolutions-at/printers#readme","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"ava":{"timeout":"3m"},"dist":{"shasum":"4f2f552ebb430318faac291fea044f4f46ce11c5","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.0.2.tgz","fileCount":11,"integrity":"sha512-b9xFg19112LtZxnbmrIuOGu9UEfR+emNwZzLd7cO+zMOxNydxLeylF0FQtp5eaRn5i7szqjs91qPcaHUpvS7dA==","signatures":[{"sig":"MEYCIQDhAjnSI2YilrUoPIBZhiVFqdXUc/v8R3JMY2VOIuC3CAIhAKArqDz/ejWHgK09kGan3ksWksZ9TMihj/6pIFE7SGfj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32669},"main":"index.js","napi":{"name":"printers","triples":{"defaults":false,"additional":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]}},"types":"index.d.ts","engines":{"node":">= 12.17.0"},"gitHead":"8c1544f21c6f6c931dea6211e746a123fd7497b3","scripts":{"test":"ava","build":"napi build --platform --release","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"packageManager":"yarn@4.9.1","devDependencies":{"ava":"^6.0.1","@napi-rs/cli":"^2.18.4"},"optionalDependencies":{"@agsolutions-at/printers-darwin-x64":"0.0.2","@agsolutions-at/printers-darwin-arm64":"0.0.2","@agsolutions-at/printers-win32-x64-msvc":"0.0.2","@agsolutions-at/printers-win32-ia32-msvc":"0.0.2","@agsolutions-at/printers-darwin-universal":"0.0.2","@agsolutions-at/printers-win32-arm64-msvc":"0.0.2"},"_npmOperationalInternal":{"tmp":"tmp/printers_0.0.2_1745350418014_0.08945668662527684","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@agsolutions-at/printers","version":"0.0.3","keywords":["nodejs","napi-rs","rust"],"author":{"name":"agsolutions GmbH"},"license":"MIT","_id":"@agsolutions-at/printers@0.0.3","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"homepage":"https://github.com/agsolutions-at/printers#readme","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"ava":{"timeout":"3m"},"dist":{"shasum":"835425a48e8f9aab09367933ebecd2b24b64fb8f","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.0.3.tgz","fileCount":11,"integrity":"sha512-3lBofCzA3JCkboWES7ki2LEpY1AOMPqUsg5miKCQQkI39qYn3oZ62ZII+jKcm54aK4DoCEMN5ZQX98iw/BLGkg==","signatures":[{"sig":"MEUCIQDQdb7OWrGCQ0KYFidbn/x4z9XAV+fF0K05dF7we1EQxQIgFIiV8doaRqUA37EEld7hmrWQhbZ0JemV9J/e/yhYaoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32670},"main":"index.js","napi":{"name":"printers","triples":{"defaults":false,"additional":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]}},"types":"index.d.ts","engines":{"node":">= 12.17.0"},"gitHead":"599754f6a8965ba4c1a3b9f950711e891729de11","scripts":{"test":"ava","build":"napi build --platform --release","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"packageManager":"yarn@4.9.1","devDependencies":{"ava":"^6.0.1","@napi-rs/cli":"^2.18.4"},"optionalDependencies":{"@agsolutions-at/printers-darwin-x64":"0.0.3","@agsolutions-at/printers-darwin-arm64":"0.0.3","@agsolutions-at/printers-win32-x64-msvc":"0.0.3","@agsolutions-at/printers-win32-ia32-msvc":"0.0.3","@agsolutions-at/printers-darwin-universal":"0.0.3","@agsolutions-at/printers-win32-arm64-msvc":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/printers_0.0.3_1745350852172_0.704606661070736","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@agsolutions-at/printers","version":"0.0.4","keywords":["electron","nodejs","napi-rs","rust"],"author":{"name":"agsolutions GmbH"},"license":"MIT","_id":"@agsolutions-at/printers@0.0.4","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"homepage":"https://github.com/agsolutions-at/printers#readme","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"ava":{"timeout":"3m"},"dist":{"shasum":"023dca0f464b8a78be6b6a9012f578d1f11dee0e","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.0.4.tgz","fileCount":11,"integrity":"sha512-pypwPGFa35WjRWxG6MN1pCHROn/yYSpe/XsMKZvVaHLI+bu+3knmb1zYa6UbQNvsZUNa82vXDQIgSkY2WC7KLw==","signatures":[{"sig":"MEYCIQDE+qpj9eAVI0KeDnu/Wwz1mmcMJVa0gHOAAYTszlG53wIhAOO9yuTjoug6LQs07fd/akeGI2l/VsLja6av0gUBIdXj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32686},"main":"index.js","napi":{"name":"printers","triples":{"defaults":false,"additional":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]}},"types":"index.d.ts","engines":{"node":">= 12.17.0"},"gitHead":"a51cb73d37a575187ab26a08d9f62f456831062c","scripts":{"test":"ava","build":"napi build --platform --release","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"packageManager":"yarn@4.9.1","devDependencies":{"ava":"^6.0.1","@napi-rs/cli":"^2.18.4"},"optionalDependencies":{"@agsolutions-at/printers-darwin-x64":"0.0.4","@agsolutions-at/printers-darwin-arm64":"0.0.4","@agsolutions-at/printers-win32-x64-msvc":"0.0.4","@agsolutions-at/printers-win32-ia32-msvc":"0.0.4","@agsolutions-at/printers-darwin-universal":"0.0.4","@agsolutions-at/printers-win32-arm64-msvc":"0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/printers_0.0.4_1745352060766_0.15791287522711173","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@agsolutions-at/printers","version":"0.0.5","keywords":["electron","nodejs","napi-rs","rust"],"author":{"name":"agsolutions GmbH"},"license":"MIT","_id":"@agsolutions-at/printers@0.0.5","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"homepage":"https://github.com/agsolutions-at/printers#readme","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"ava":{"timeout":"3m"},"dist":{"shasum":"029abd636bb07221970a8ccb81a0632df0d2b740","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.0.5.tgz","fileCount":11,"integrity":"sha512-8MFYEqJNk9VnXvWHpjqQlmIS9DwSV54S2tRwD9OiqEw3yTU3H1W+qUrVaKR4dXKI/YUZ8AzrhISkdQaHhfNM8A==","signatures":[{"sig":"MEYCIQDFJ6ayMD0uPGJImGXiF8ysADmrAjS/w7UJRk2szm9FJwIhANO8PXkWi41no0aRZqv7r9qFuEcib0ncv8HVaaUNy7kJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32881},"main":"index.js","napi":{"name":"printers","triples":{"defaults":false,"additional":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]}},"types":"index.d.ts","engines":{"node":">= 12.17.0"},"gitHead":"8a0da4ac2080ccad38ab6a300b8bfa10ff45368f","scripts":{"test":"ava","build":"napi build --platform --release","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"packageManager":"yarn@4.9.1","devDependencies":{"ava":"^6.0.1","@napi-rs/cli":"^2.18.4"},"optionalDependencies":{"@agsolutions-at/printers-darwin-x64":"0.0.5","@agsolutions-at/printers-darwin-arm64":"0.0.5","@agsolutions-at/printers-win32-x64-msvc":"0.0.5","@agsolutions-at/printers-win32-ia32-msvc":"0.0.5","@agsolutions-at/printers-darwin-universal":"0.0.5","@agsolutions-at/printers-win32-arm64-msvc":"0.0.5"},"_npmOperationalInternal":{"tmp":"tmp/printers_0.0.5_1747174808790_0.4767783111709407","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@agsolutions-at/printers","version":"0.0.6","keywords":["electron","nodejs","napi-rs","rust"],"author":{"name":"agsolutions GmbH"},"license":"MIT","_id":"@agsolutions-at/printers@0.0.6","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"homepage":"https://github.com/agsolutions-at/printers#readme","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"ava":{"timeout":"3m"},"dist":{"shasum":"d884035bfc5a55552e87e24bff7c28301cedc422","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.0.6.tgz","fileCount":11,"integrity":"sha512-VsHFBmK+PfgB47oXZlLni46Tt9atpEQPKjq30c0iSPk817UCh1V8ea0gf3VdSY2lr5+2SIzcygA+P+cUEsaMhw==","signatures":[{"sig":"MEYCIQCdD18UqY9hLZMzLapZi0ZP6fY9k556SJf9SHTZXhcoigIhAM9zZyoNzb5MKiUkH5CiB+HWhqCEQzQYdhZdHALmoGps","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32887},"main":"index.js","napi":{"name":"printers","triples":{"defaults":false,"additional":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]}},"types":"index.d.ts","engines":{"node":">= 12.17.0"},"gitHead":"926ea9ff55d2413e76c1c864b333ad0f896b0248","scripts":{"test":"ava","build":"napi build --platform --release","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"packageManager":"yarn@4.9.1","devDependencies":{"ava":"^6.0.1","@napi-rs/cli":"^2.18.4"},"optionalDependencies":{"@agsolutions-at/printers-darwin-x64":"0.0.6","@agsolutions-at/printers-darwin-arm64":"0.0.6","@agsolutions-at/printers-win32-x64-msvc":"0.0.6","@agsolutions-at/printers-win32-ia32-msvc":"0.0.6","@agsolutions-at/printers-darwin-universal":"0.0.6","@agsolutions-at/printers-win32-arm64-msvc":"0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/printers_0.0.6_1747175372171_0.19231445596853436","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@agsolutions-at/printers","version":"0.1.0","main":"index.js","types":"index.d.ts","author":{"name":"agsolutions GmbH"},"license":"MIT","repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"keywords":["electron","nodejs","napi-rs","rust"],"napi":{"binaryName":"printers","targets":["aarch64-apple-darwin","aarch64-pc-windows-msvc","x86_64-apple-darwin","x86_64-pc-windows-msvc","i686-pc-windows-msvc","universal-apple-darwin"]},"devDependencies":{"@inquirer/prompts":"^8.4.2","@napi-rs/cli":"^3.6.2","ava":"^8.0.0"},"ava":{"timeout":"3m"},"engines":{"node":">= 12.17.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"artifacts":"napi artifacts","build":"napi build --platform --release","build:debug":"napi build --platform","prepublishOnly":"napi pre-publish --gh-release -t npm","test":"ava","universal":"napi universalize","version":"napi version"},"packageManager":"yarn@4.14.1","optionalDependencies":{"@agsolutions-at/printers-darwin-arm64":"0.1.0","@agsolutions-at/printers-win32-arm64-msvc":"0.1.0","@agsolutions-at/printers-darwin-x64":"0.1.0","@agsolutions-at/printers-win32-x64-msvc":"0.1.0","@agsolutions-at/printers-win32-ia32-msvc":"0.1.0","@agsolutions-at/printers-darwin-universal":"0.1.0"},"gitHead":"09623207ee6182a9a12dd27bbf8eeda9d3627878","_id":"@agsolutions-at/printers@0.1.0","description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"homepage":"https://github.com/agsolutions-at/printers#readme","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-mcRVe9uF9FudniBit44LbUK1rhhjXjcnX7NkI0xuNq8DNjEOwJQTrKY0QuLDRjVC6Sla6Iu9mvVqgDqTeOzVwQ==","shasum":"5b2c4ebee7aea5d9a9243bed26c8880d00983de0","tarball":"https://registry.npmjs.org/@agsolutions-at/printers/-/printers-0.1.0.tgz","fileCount":6,"unpackedSize":42390,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agsolutions-at%2fprinters@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDmqKZGg3FsM6K2HON9LvUoHnS2mSWhvXPwIgtARwFOXAiEAz8g1wKhk5Yd9tzDIKpJKtdn+Lpfn47BQOdVPekf8/1o="}]},"_npmUser":{"name":"ajgassner","email":"hello@agsolutions.at"},"directories":{},"maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/printers_0.1.0_1778265339774_0.19125661486243373"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-18T18:40:51.095Z","modified":"2026-05-08T18:35:40.190Z","0.0.1":"2025-04-18T18:40:51.372Z","0.0.2":"2025-04-22T19:33:38.210Z","0.0.3":"2025-04-22T19:40:52.370Z","0.0.4":"2025-04-22T20:01:01.017Z","0.0.5":"2025-05-13T22:20:08.960Z","0.0.6":"2025-05-13T22:29:32.346Z","0.1.0":"2026-05-08T18:35:39.880Z"},"bugs":{"url":"https://github.com/agsolutions-at/printers/issues"},"author":{"name":"agsolutions GmbH"},"license":"MIT","homepage":"https://github.com/agsolutions-at/printers#readme","keywords":["electron","nodejs","napi-rs","rust"],"repository":{"url":"git+https://github.com/agsolutions-at/printers.git"},"description":"[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers) [![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-a","maintainers":[{"name":"ajgassner","email":"hello@agsolutions.at"}],"readme":"# 🖨️ printers\n\n[![npm version](https://img.shields.io/npm/v/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers)\n[![npm downloads](https://img.shields.io/npm/dm/@agsolutions-at/printers.svg)](https://www.npmjs.com/package/@agsolutions-at/printers)\n[![license](https://img.shields.io/npm/l/@agsolutions-at/printers.svg)](./LICENSE)\n[![node](https://img.shields.io/node/v/@agsolutions-at/printers)](https://nodejs.org)\n[![platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Windows-blue)](#)\n[![CI](https://github.com/agsolutions-at/printers/actions/workflows/CI.yml/badge.svg)](https://github.com/agsolutions-at/printers/actions/workflows/CI.yml)\n\n**`printers`** is a high-performance, Rust-powered replacement for outdated native printer libraries in Node.js. Built on top of [\n`rust-printers`](https://github.com/talesluna/rust-printers), it provides seamless bindings via [`napi-rs`](https://napi.rs/), supporting fast and\nreliable printer interactions in Node.js and Electron applications.\n\n> ✅ Prebuilt native binaries included — no need to build from source for most users.\n\n## ✨ Features\n\n- ⚡ **Powered by Rust** — high performance, memory-safe.\n- 🔌 **Native Node.js bindings** via [`napi-rs`](https://napi.rs/).\n- 🧩 **Electron-friendly** — includes prebuilt binaries, plug-and-play.\n- 🖥️ **Cross-platform aware** — currently supports **macOS** and **Windows**.\n- 💡 **Easy-to-use API** for interacting with system printers.\n- 📄 **Native PDF support on macOS** — uses CUPS with native PDF handling on UNIX systems; see [PDF Printing on Windows](#-pdf-printing-on-windows).\n- 🧾 **Label printer compatible** — works with devices like Rollo and Zebra.\n\n> ℹ️ Want Linux support? PRs are welcome!\n\n## 📦 Installation\n\nInstall using your preferred package manager:\n\n```bash\n# npm\nnpm install @agsolutions-at/printers\n\n# yarn\nyarn add @agsolutions-at/printers\n\n# pnpm\npnpm add @agsolutions-at/printers\n```\n\n> 🧱 No native build step needed — prebuilt binaries are downloaded for your platform automatically.\n\n## 🚀 Quick Start\n\nHere's a basic example to get up and running:\n\n```ts\nimport {getPrinters, print, getActiveJobs, getJobHistory} from '@agsolutions-at/printers';\n\nconst printers = getPrinters();\nconsole.log('Available printers:', printers);\n\nconst buffer = new TextEncoder().encode('Hello, printers!');\nconst jobId = print(printers[0].name, buffer, 'My Test Job', []);\nconsole.log('Printed with print job ID: ', jobId);\n\nconst jobs = getActiveJobs(printers[0].name);\nconsole.log('Active jobs:', jobs);\n```\n\n> 🔍 All bindings mirror the native Rust API. Check [index.d.ts](./index.d.ts) for full typings and usage.\n\n### Job Control\n\nAfter submitting a job you can control it by ID:\n\n```ts\nimport {pauseJob, resumeJob, cancelJob, restartJob} from '@agsolutions-at/printers';\n\nconst jobId = print(printer.name, buffer, 'job', []);\npauseJob(printer.name, jobId);\nresumeJob(printer.name, jobId);\nrestartJob(printer.name, jobId);\ncancelJob(printer.name, jobId);\n```\n\nAll four throw on failure (e.g. job already finished, printer not found).\n\n### Ghostscript Pre-Processing (PDF → PostScript on Windows)\n\n`print` and `printFile` accept an optional Ghostscript config that pre-converts the buffer/file before sending it to the printer. Useful for [PDF printing on Windows](#-pdf-printing-on-windows) — Ghostscript renders the PDF to PostScript (`ps2write`) which most printers handle natively.\n\nRequires `gs` (Unix) or `gswin64c.exe` (Windows) on `PATH`.\n\n```ts\nimport {printFile, GhostscriptDevice} from '@agsolutions-at/printers';\n\nprintFile(printer.name, '/path/to/file.pdf', 'pdf-job', [], {\n  device: GhostscriptDevice.PS2WRITE,\n  dpi: 300,        // optional, defaults to 500\n});\n```\n\nAvailable devices: `PS2WRITE` (PostScript), `PNG16M` (24-bit color), `TIFFG4` (1-bit fax), `PNGMONO` (1-bit mono).\n\n## 🧪 CLI Testing\n\nThis repo includes a command-line utility: [`printer-cli.mjs`](./printer-cli.mjs), which makes it easy to test the API from the terminal. It's dev-only — not shipped to npm consumers.\n\n### 🏃 Run the CLI:\n\n```bash\nyarn install   # first time only\nnode printer-cli.mjs\n```\n\n### 💡 Features:\n\n- Interactive menu with arrow-key navigation\n- Auto-selects your system default printer\n- Print text or file (with optional CUPS-raw mode)\n- View active jobs / job history (formatted as tables)\n- Manage a job (pause / resume / restart / cancel)\n- Inspect full printer details\n- Switch printer or quit at any time\n\n> Perfect for debugging or quick testing without writing your own app.\n\n## 🛠 Building from Source\n\nIf you prefer to build locally:\n\n1. **Clone the repository**:\n   ```bash\n   git clone https://github.com/agsolutions-at/printers.git\n   cd printers\n   ```\n\n2. **Install dependencies**:\n   ```bash\n   yarn install\n   ```\n\n3. **Build the native module**:\n   ```bash\n   yarn build\n   ```\n\n> 🛠 Prerequisites: Rust toolchain (`rustc`, `cargo`) and Node.js installed. Or just run [`mise install`](https://mise.jdx.dev/) — the repo ships a `mise.toml` that pins both versions.\n\n## 📄 PDF Printing on Windows\n\nUnlike macOS (which supports native PDF printing via CUPS), **Windows does not natively support raw PDF printing** for most printers.\nThis means sending a PDF buffer directly may result in garbage output — unless the printer explicitly supports PDF.\n\nTo reliably print PDFs on Windows, consider one of the following **workarounds**:\n\n### Use SumatraPDF (Silent PDF Printing)\n\nOne of the most reliable ways to print PDFs on Windows is to use [**SumatraPDF**](https://www.sumatrapdfreader.org/free-pdf-reader.html),\na lightweight PDF viewer.\n\nYou can invoke it from Node.js using `child_process`:\n\n```ts\nimport {execFile} from 'child_process';\n\nconst sumatraPath = 'C:\\\\path\\\\to\\\\SumatraPDF.exe'; // make sure to use the .exe matching your arch x64, ia32...\nconst printerName = 'Your Printer Name';\nconst filePath = 'C:\\\\path\\\\to\\\\your.pdf';\n\nexecFile(sumatraPath, ['-print-to', printerName, '-silent', filePath], (err) => {\n  if (err) {\n    console.error('Printing failed:', err);\n  } else {\n    console.log('Printed PDF successfully.');\n  }\n});\n```\n\n> ✅ SumatraPDF handles the rendering and sends the job to the printer via the default Windows printing pipeline. Use [\n`pdf-to-printer`](https://github.com/artiebits/pdf-to-printer/blob/master/src/print/print.ts) as a reference if you want to wrap SumatraPDF.\n\n### Alternative: Convert PDF to EMF or PS Before Printing\n\nAnother approach is to convert the PDF to a more universally printer-friendly format (like **EMF** or **PostScript**) before sending it to the\nprinter:\n\n- Use **Ghostscript** to convert PDF to `.ps`:\n  ```bash\n  gswin64c -dNOPAUSE -dBATCH -sDEVICE=ps2write -sOutputFile=output.ps input.pdf\n  ```\n\n- Then use Node.js to print the `.ps` file using the `print()` function from this package.\n\n## Using `electron-builder` to bundle the platform-specific native module\n\nWhen building an Electron app, you may need native modules that are specifically compiled for your target operating system and architecture (like\ngetting the right key to fit the right lock). The following script helps make sure the correct .node binaries are downloaded just before packaging the\napp using electron-builder.\n\n```json\n// package.json\n{\n  ...\n  \"build\": {\n    \"beforePack\": \"./beforePack.js\",\n    \"files\": [\n      ...\n      \"!**/node_modules/@agsolutions-at/printers-*/**\"\n    ]\n  },\n  ...\n}\n```\n\nDefine a `beforePack` hook. Do not include optional dependencies of your build platform.\n\n```typescript\n// beforePack.js\nimport path from 'node:path';\nimport https from 'node:https';\nimport fs from 'node:fs';\nimport printersPackage from './app/node_modules/@agsolutions-at/printers/package.json' with {type: 'json'};\nimport {fileURLToPath} from 'node:url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst downloadFile = (url, dest, cb) => {\n  https\n  .get(url, res => {\n    // If redirect\n    if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {\n      return downloadFile(res.headers.location, dest, cb); // follow redirect\n    }\n\n    const fileStream = fs.createWriteStream(dest);\n    res.pipe(fileStream);\n\n    fileStream.on('finish', () => {\n      fileStream.close(cb); // call callback on finish\n    });\n\n    res.on('error', err => {\n      fs.unlink(dest, () => {\n      });\n      cb(err.message);\n    });\n  })\n  .on('error', err => {\n    cb(err.message);\n  });\n};\n\nconst beforePack = context => {\n  const {electronPlatformName, arch} = context;\n\n  let archName;\n  switch (arch) {\n    case 0:\n      archName = 'ia32';\n      break;\n    case 1:\n      archName = 'x64';\n      break;\n    case 2:\n      archName = 'armv7l';\n      break;\n    case 3:\n      archName = 'arm64';\n      break;\n    case 4:\n      archName = 'universal';\n      break;\n    default:\n      throw Error('Unknown arch');\n  }\n\n  let downloadUrl;\n  if (electronPlatformName === 'win32') {\n    downloadUrl = `https://github.com/agsolutions-at/printers/releases/download/v${printersPackage.version}/printers.win32-${archName}-msvc.node`;\n  } else {\n    // changes this dependening on your needs, in this case we bundle an unversal module.\n    downloadUrl = `https://github.com/agsolutions-at/printers/releases/download/v${printersPackage.version}/printers.darwin-universal.node`;\n  }\n  const nativeModulePath = path.join(\n      __dirname,\n      'app',\n      'node_modules',\n      '@agsolutions-at',\n      'printers',\n      electronPlatformName === 'win32' ? `printers.win32-${archName}-msvc.node` : `printers.darwin-universal.node`\n  );\n  downloadFile(downloadUrl, nativeModulePath, err => {\n    if (err) {\n      console.error('Download error:', err);\n      process.exit(1);\n    } else {\n      console.log('Download printers completed');\n    }\n  });\n};\n\nexport default beforePack;\n```\n\n`beforePack.js`: before your app gets packaged, it sneaks in and places the correct native modules on stage based on the OS and architecture you're\ntargeting. It detects whether you're building for Windows or macOS, figures out the architecture (x64, arm64, etc.), downloads the correct version\nof native .node files from GitHub releases and saves them into the appropriate module folders.\n\n## 🤝 Contributing\n\nWe welcome contributions of all kinds — bug reports, feature requests, docs, and PRs!\n\n👉 Submit an issue or pull request on [GitHub](https://github.com/agsolutions-at/printers).\n\n## 📄 License\n\nMIT © [agsolutions GmbH](https://agsolutions.at)  \nSee [LICENSE](./LICENSE) for full details.\n\n","readmeFilename":"README.md"}