{"_id":"@bobfrankston/pdftools","_rev":"5-e6a5c36173183b14f5008aadfd5fa5dc","name":"@bobfrankston/pdftools","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.1":{"name":"@bobfrankston/pdftools","version":"1.0.1","keywords":["pdf","thumbnail","rotate","context-menu","windows"],"author":{"name":"Bob Frankston"},"license":"MIT","_id":"@bobfrankston/pdftools@1.0.1","maintainers":[{"name":"bobfrankston","email":"npm@bob.ma"}],"homepage":"https://github.com/BobFrankston/pdftools#readme","bugs":{"url":"https://github.com/BobFrankston/pdftools/issues"},"bin":{"pdftools":"cli.js"},"dist":{"shasum":"af9f18a2cd0215e6dd2adf94b23f9064a328142b","tarball":"https://registry.npmjs.org/@bobfrankston/pdftools/-/pdftools-1.0.1.tgz","fileCount":15,"integrity":"sha512-GR9vYf+xphLap6rMOOk7YZmoghaTA5ecG3b5P5AblghKdmSb8W/v9MZKLANK8zFWJ2mWzdocToKwjFSZyeMV3g==","signatures":[{"sig":"MEQCIEIZF0aj/H+gq14E2lk36MPronNCTBmmDW42tqjFu+TlAiAwO1PjxR5fLhMwf73RK10Ul8rJjQWMchcR8C+y5isUwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17877},"main":"index.js","type":"module","_from":"file:bobfrankston-pdftools-1.0.1.tgz","types":"index.d.ts","engines":{"node":">=24.0.0"},"scripts":{"build":"tsc","watch":"tsc -w","release":"npmglobalize","installer":"npm run release && npm install -g @bobfrankston/pdftools","preversion":"npm run build && git add -A","postversion":"git push && git push --tags","prerelease:local":"git add -A && (git diff-index --quiet HEAD || git commit -m \"Pre-release commit\")"},"_npmUser":{"name":"bobfrankston","email":"npm@bob.ma"},"_resolved":"y:\\dev\\utils\\pdftools\\bobfrankston-pdftools-1.0.1.tgz","_integrity":"sha512-GR9vYf+xphLap6rMOOk7YZmoghaTA5ecG3b5P5AblghKdmSb8W/v9MZKLANK8zFWJ2mWzdocToKwjFSZyeMV3g==","repository":{"url":"git+https://github.com/BobFrankston/pdftools.git","type":"git"},"_npmVersion":"11.7.0","description":"PDF context menu tools for Windows Explorer - preview thumbnails and lossless rotation","directories":{},"_nodeVersion":"25.3.0","dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/rmfc":"^1.0.295","@bobfrankston/msger":"^0.1.187"},".dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/rmfc":"file:../../projects/npm/rmfc","@bobfrankston/msger":"file:../msgx/msger"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pdftools_1.0.1_1772550680533_0.42923075843997927","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bobfrankston/pdftools","version":"1.0.6","keywords":["pdf","thumbnail","rotate","context-menu","windows"],"author":{"name":"Bob Frankston"},"license":"MIT","_id":"@bobfrankston/pdftools@1.0.6","maintainers":[{"name":"bobfrankston","email":"npm@bob.ma"}],"homepage":"https://github.com/BobFrankston/pdftools#readme","bugs":{"url":"https://github.com/BobFrankston/pdftools/issues"},"bin":{"pdftools":"cli.js"},"dist":{"shasum":"08e3790715c05536caef9b076c4b6b8136af8776","tarball":"https://registry.npmjs.org/@bobfrankston/pdftools/-/pdftools-1.0.6.tgz","fileCount":15,"integrity":"sha512-1PfeOQHlc/B3+/JCpszzGhIqDNkDTTJf5sMryWjg8TqjP1PH0gYi8YH/72XU7z7t27TzdhRzkg+a/LQ2KjZA/g==","signatures":[{"sig":"MEQCIEAo8ZesTWOrlvPuQdqg4N6kt2uWUCWtJGq1boNk/jHoAiAna7WHaRIwZUfc5NALOByK18nyNQp9sc/9hQmxhmkWyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23491},"main":"index.js","type":"module","types":"index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"55afee54409f1a3dee74a86c8b86530de41ed78d","scripts":{"build":"tsc","watch":"tsc -w","release":"npmglobalize","installer":"npm run release && npm install -g @bobfrankston/pdftools","preversion":"npm run build && git add -A","postversion":"git push && git push --tags","prerelease:local":"git add -A && (git diff-index --quiet HEAD || git commit -m \"Pre-release commit\")"},"_npmUser":{"name":"bobfrankston","email":"npm@bob.ma"},"repository":{"url":"git+https://github.com/BobFrankston/pdftools.git","type":"git"},"_npmVersion":"11.7.0","description":"PDF context menu tools for Windows Explorer - preview thumbnails and lossless rotation","directories":{},"_nodeVersion":"25.3.0","dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/msger":"^0.1.187"},".dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/msger":"file:../msgx/msger"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pdftools_1.0.6_1772554379192_0.9224049390642501","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@bobfrankston/pdftools","version":"1.0.7","keywords":["pdf","thumbnail","rotate","context-menu","windows"],"author":{"name":"Bob Frankston"},"license":"MIT","_id":"@bobfrankston/pdftools@1.0.7","maintainers":[{"name":"bobfrankston","email":"npm@bob.ma"}],"homepage":"https://github.com/BobFrankston/pdftools#readme","bugs":{"url":"https://github.com/BobFrankston/pdftools/issues"},"bin":{"pdftools":"cli.js"},"dist":{"shasum":"1daa8262b17279e7302a3f48c7a9378762b6330f","tarball":"https://registry.npmjs.org/@bobfrankston/pdftools/-/pdftools-1.0.7.tgz","fileCount":15,"integrity":"sha512-x9XWTHNjean76AhRIx7KZtQp9CexaCpPogaZfps/zCa/u20UOWoED9ddUibYyz90KhRrOi75Ik2BTZZs1iZNEg==","signatures":[{"sig":"MEUCIAnH/jzNkeqZeXkkvZ3s8i2FVYFTqjTjtuPxTNLuvb12AiEAye/cyTqHckwdAW+WQhnhgUdo+OfngBuLJBlj0qdkN7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23689},"main":"index.js","type":"module","_from":"file:bobfrankston-pdftools-1.0.7.tgz","types":"index.d.ts","engines":{"node":">=24.0.0"},"scripts":{"build":"tsc","watch":"tsc -w","release":"npmglobalize","installer":"npm run release && npm install -g @bobfrankston/pdftools","preversion":"npm run build && git add -A","postversion":"git push && git push --tags","prerelease:local":"git add -A && (git diff-index --quiet HEAD || git commit -m \"Pre-release commit\")"},"_npmUser":{"name":"bobfrankston","email":"npm@bob.ma"},"_resolved":"y:\\dev\\utils\\pdftools\\bobfrankston-pdftools-1.0.7.tgz","_integrity":"sha512-x9XWTHNjean76AhRIx7KZtQp9CexaCpPogaZfps/zCa/u20UOWoED9ddUibYyz90KhRrOi75Ik2BTZZs1iZNEg==","repository":{"url":"git+https://github.com/BobFrankston/pdftools.git","type":"git"},"_npmVersion":"11.7.0","description":"PDF context menu tools for Windows Explorer - preview thumbnails and lossless rotation","directories":{},"_nodeVersion":"25.3.0","dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/msger":"^0.1.187"},".dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/msger":"file:../msgx/msger"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pdftools_1.0.7_1772560460506_0.16067824348232107","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@bobfrankston/pdftools","version":"1.0.8","keywords":["pdf","thumbnail","rotate","context-menu","windows"],"author":{"name":"Bob Frankston"},"license":"MIT","_id":"@bobfrankston/pdftools@1.0.8","maintainers":[{"name":"bobfrankston","email":"npm@bob.ma"}],"homepage":"https://github.com/BobFrankston/pdftools#readme","bugs":{"url":"https://github.com/BobFrankston/pdftools/issues"},"bin":{"pdftools":"cli.js"},"dist":{"shasum":"01a5a30266003e9a38239c844affc46dd0c87ee8","tarball":"https://registry.npmjs.org/@bobfrankston/pdftools/-/pdftools-1.0.8.tgz","fileCount":15,"integrity":"sha512-U8m98PcAUIBC9FbGfH4VMH4qbTc/LuciAnMBoZO2xTcIOD5ylkHoJKCi1wV2W5hPCA4bTVEg+mi1JBIHSoz6iw==","signatures":[{"sig":"MEUCIFaoVkZN80wfqW/S/04IMDo6JcJvWLssXpWiiTOeMtPGAiEAwTDZO9jtOwClrioMS5jJND2/wkgawr+F5zEQ427zvhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23642},"main":"index.js","type":"module","_from":"file:bobfrankston-pdftools-1.0.8.tgz","types":"index.d.ts","engines":{"node":">=24.0.0"},"scripts":{"build":"tsc","watch":"tsc -w","release":"npmglobalize","installer":"npm run release && npm install -g @bobfrankston/pdftools","preversion":"npm run build && git add -A","postversion":"git push && git push --tags","prerelease:local":"git add -A && (git diff-index --quiet HEAD || git commit -m \"Pre-release commit\")"},"_npmUser":{"name":"bobfrankston","email":"npm@bob.ma"},"_resolved":"y:\\dev\\utils\\pdftools\\bobfrankston-pdftools-1.0.8.tgz","_integrity":"sha512-U8m98PcAUIBC9FbGfH4VMH4qbTc/LuciAnMBoZO2xTcIOD5ylkHoJKCi1wV2W5hPCA4bTVEg+mi1JBIHSoz6iw==","repository":{"url":"git+https://github.com/BobFrankston/pdftools.git","type":"git"},"_npmVersion":"11.7.0","description":"PDF context menu tools for Windows Explorer - preview thumbnails and lossless rotation","directories":{},"_nodeVersion":"25.3.0","dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/msger":"^0.1.187"},".dependencies":{"sharp":"^0.33.5","pdf-lib":"^1.17.1","@bobfrankston/msger":"file:../msgx/msger"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pdftools_1.0.8_1772563130504_0.6747309241275377","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@bobfrankston/pdftools","version":"1.0.9","description":"PDF context menu tools for Windows Explorer - preview thumbnails and lossless rotation","type":"module","main":"index.js","types":"index.d.ts","bin":{"pdftools":"cli.js"},"scripts":{"build":"tsc","watch":"tsc -w","prerelease:local":"git add -A && (git diff-index --quiet HEAD || git commit -m \"Pre-release commit\")","preversion":"npm run build && git add -A","postversion":"git push && git push --tags","release":"npmglobalize","installer":"npm run release && npm install -g @bobfrankston/pdftools"},"keywords":["pdf","thumbnail","rotate","context-menu","windows"],"author":{"name":"Bob Frankston"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@bobfrankston/msger":"^0.1.187","pdf-lib":"^1.17.1","sharp":"^0.33.5"},"devDependencies":{"@types/node":"^25.3.0"},"engines":{"node":">=24.0.0"},"repository":{"type":"git","url":"git+https://github.com/BobFrankston/pdftools.git"},"bugs":{"url":"https://github.com/BobFrankston/pdftools/issues"},"homepage":"https://github.com/BobFrankston/pdftools#readme",".dependencies":{"@bobfrankston/msger":"file:../msgx/msger","pdf-lib":"^1.17.1","sharp":"^0.33.5"},"_id":"@bobfrankston/pdftools@1.0.9","_integrity":"sha512-todlgJlEwTZjM7OyUlF8NtuzFE0pFCF/RWxgibqckJDZRVnZzzPLzntTaS8ZkUfK58ccGuLapioC4Ed7M5Qtsg==","_resolved":"y:\\dev\\utils\\pdftools\\bobfrankston-pdftools-1.0.9.tgz","_from":"file:bobfrankston-pdftools-1.0.9.tgz","_nodeVersion":"25.3.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-todlgJlEwTZjM7OyUlF8NtuzFE0pFCF/RWxgibqckJDZRVnZzzPLzntTaS8ZkUfK58ccGuLapioC4Ed7M5Qtsg==","shasum":"b33da278e5aa66d0a4f43b162cfc7c60cf0102a7","tarball":"https://registry.npmjs.org/@bobfrankston/pdftools/-/pdftools-1.0.9.tgz","fileCount":15,"unpackedSize":24326,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDjlvz0DB8DreHlJbNJ91m7bXHZ8bINX+pPxZgC52kuqAiEA1P3ustoyHm9pCEg4HQoaVE8H2B27uD3mR4Mq7XHA0gY="}]},"_npmUser":{"name":"bobfrankston","email":"npm@bob.ma"},"directories":{},"maintainers":[{"name":"bobfrankston","email":"npm@bob.ma"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdftools_1.0.9_1772564637408_0.23463967732317714"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-03T15:11:20.416Z","modified":"2026-03-03T19:03:57.667Z","1.0.1":"2026-03-03T15:11:20.666Z","1.0.6":"2026-03-03T16:12:59.353Z","1.0.7":"2026-03-03T17:54:20.658Z","1.0.8":"2026-03-03T18:38:50.670Z","1.0.9":"2026-03-03T19:03:57.553Z"},"bugs":{"url":"https://github.com/BobFrankston/pdftools/issues"},"author":{"name":"Bob Frankston"},"license":"MIT","homepage":"https://github.com/BobFrankston/pdftools#readme","keywords":["pdf","thumbnail","rotate","context-menu","windows"],"repository":{"type":"git","url":"git+https://github.com/BobFrankston/pdftools.git"},"description":"PDF context menu tools for Windows Explorer - preview thumbnails and lossless rotation","maintainers":[{"name":"bobfrankston","email":"npm@bob.ma"}],"readme":"# @bobfrankston/pdftools\n\nPDF context menu tools for Windows Explorer. Right-click a PDF to preview its first page and rotate it losslessly.\n\n## Features\n\n- **Thumbnail preview** -- first-page JPEG via Poppler's `pdftoppm`\n- **Lossless rotation** -- 90/180/270° via `pdf-lib` (metadata-only, no re-encoding)\n- **Explorer integration** -- registers in HKCU (no admin needed)\n\n## Prerequisites\n\n- Node.js 24+\n- [Poppler](https://github.com/oschwartz10612/poppler-windows/releases) (`pdftoppm` in PATH)\n- [@bobfrankston/msger](https://www.npmjs.com/package/@bobfrankston/msger) for popup window\n\n## Install\n\n```bash\nnpm install -g @bobfrankston/pdftools\npdftools --install\n```\n\n## Usage\n\n```bash\npdftools <file.pdf>      # Show thumbnail + rotation popup\npdftools --install       # Add context menu entry\npdftools --uninstall     # Remove context menu entry\n```\n\n## API\n\n```typescript\nimport { generateThumbnail, rotatePdf, showPdfToolsDialog } from '@bobfrankston/pdftools';\n\nconst thumb = await generateThumbnail('doc.pdf', '/tmp');\nawait rotatePdf('doc.pdf', 90);\n```\n","readmeFilename":"README.md"}