A Chrome extension that allows you to save webpages as PDFs or upload existing PDFs directly to your Paperless-ngx instance.
- Save any webpage as PDF - Convert the current webpage to PDF and upload to Paperless-ngx
- Upload existing PDFs - When viewing a PDF, upload it directly to Paperless-ngx
- Add metadata - Include custom titles and tags when saving documents
- Simple configuration - Easy setup with your Paperless-ngx URL and API token
- Open
create-icons.htmlin your browser - Click each download button to generate the required icons:
- icon16.png
- icon48.png
- icon128.png
- Save all three icons to the
icons/folder in this extension directory
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" using the toggle in the top right
- Click "Load unpacked"
- Select the
ChromePaperlessfolder - The extension should now appear in your extensions list
- Click the extension icon in your Chrome toolbar
- Click "Configure Paperless-ngx Settings"
- Enter your Paperless-ngx URL (e.g.,
https://paperless.example.com) - Generate an API token in Paperless-ngx:
- Go to your Paperless-ngx instance
- Navigate to Settings → API Tokens
- Create a new token
- Paste the token into the extension settings
- Click "Test Connection" to verify everything works
- Click "Save Settings"
- Navigate to any webpage you want to save
- Click the extension icon
- (Optional) Add a custom title or tags
- Click "Save to Paperless"
- The page will be converted to PDF and uploaded to your Paperless-ngx instance
- Open a PDF in Chrome (either from a URL or a local file)
- Click the extension icon
- (Optional) Add a custom title or tags
- Click "Save to Paperless"
- The PDF will be uploaded directly to your Paperless-ngx instance
- Webpage to PDF: Uses Chrome's built-in
printToPDFAPI to convert webpages - PDF Upload: Downloads the PDF and uploads it to Paperless-ngx
- API Integration: Uses the Paperless-ngx REST API (
/api/documents/post_document/) - Metadata: Supports document titles and tags
The extension requires the following permissions:
activeTab- To access the current tab's content and convert it to PDFstorage- To save your Paperless-ngx settingsnotifications- To show success/error notificationshost_permissions- To download PDFs and communicate with your Paperless-ngx instance
Make sure you've entered both your Paperless-ngx URL and API token in the settings page.
- Verify your Paperless-ngx URL is correct and accessible
- Check that your API token is valid
- If using HTTPS for Paperless, ensure the certificate is valid
- Check that your Paperless-ngx instance is reachable from your browser
Some complex webpages may not convert perfectly to PDF. This is a limitation of Chrome's built-in PDF conversion.
If you encounter CORS errors, you may need to configure your Paperless-ngx instance to allow requests from the Chrome extension.
ChromePaperless/
├── manifest.json # Extension manifest
├── popup.html # Extension popup UI
├── popup.js # Popup logic
├── options.html # Settings page UI
├── options.js # Settings page logic
├── background.js # Background service worker (PDF conversion & upload)
├── create-icons.html # Icon generator utility
├── icons/ # Extension icons
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
└── README.md # This file
GET /api/- Test connectionPOST /api/documents/post_document/- Upload document with metadata
This extension:
- Only communicates with YOUR Paperless-ngx instance
- Stores settings locally in Chrome's sync storage
- Does not send data to any third parties
- Runs entirely locally except for uploads to your configured Paperless instance
MIT
Feel free to submit issues and enhancement requests!
Built for use with Paperless-ngx, an excellent document management system.