Download the PHP package codewithathis/paperless-ngx without Composer
On this page you can find all versions of the php package codewithathis/paperless-ngx. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download codewithathis/paperless-ngx
More information about codewithathis/paperless-ngx
Files in codewithathis/paperless-ngx
Package paperless-ngx
Short Description A Laravel package for managing Paperless-ngx via its API, providing easy integration, document upload, search, tagging, and workflow automation.
License MIT
Informations about the package paperless-ngx
Paperless-ngx Laravel Package
A comprehensive Laravel package for integrating with Paperless-ngx document management system. This package provides authentication, document management, search capabilities, and bulk operations through a clean Laravel interface.
Features
- ✅ Authentication Support: Token-based and Basic authentication
- ✅ Document Management: Upload, download, update, delete documents
- ✅ Search & Filtering: Full-text search with various filters
- ✅ Bulk Operations: Bulk edit and download documents
- ✅ Metadata Management: Tags, correspondents, document types, storage paths
- ✅ Custom Fields: Support for custom field operations
- ✅ Share Links: Create and manage document share links
- ✅ Statistics: Get system statistics and user profile
- ✅ Error Handling: Comprehensive error handling and logging
- ✅ Configuration: Flexible configuration system
- ✅ Facade Support: Easy access via Laravel Facade
- ✅ Artisan Commands: Built-in testing and management commands
Requirements
- PHP 8.2 or newer (including PHP 8.4)
- Laravel 10, 11, or 12
The supported integration surface is PaperlessService, the Paperless facade, configuration keys, and Artisan commands. Classes under Codewithathis\PaperlessNgx\Http and Codewithathis\PaperlessNgx\Api are internal implementation details and may change without a major release.
Installation
Via Composer
Manual Installation
-
Add to your
composer.json: -
Run composer install:
-
Publish Configuration:
- Environment Variables
Add the following variables to your .env file:
Configuration
The package can be configured through the config/paperless.php file. Key configuration options:
Authentication
auth.method controls how requests are signed when using the service container defaults:
token— send the API token only (even if username/password are also set in.env).basic— HTTP Basic auth with username/password only.auto— legacy behaviour: Basic auth when both username and password are set; otherwise the token.
Runtime setToken() / setBasicAuth() on PaperlessService override the above for that instance.
Document Upload Settings
Usage
Basic Usage
Using Dependency Injection
Using the Facade
Authentication
Token Authentication (Recommended)
Basic Authentication
Document Operations
Upload Document
Get Documents with Filters
Update Document
Download Document
Delete Document
Search Operations
Search Documents
Get Search Autocomplete
Bulk Operations
Bulk Edit Documents
Bulk Download Documents
Metadata Management
Tags
Correspondents
Document Types
Document Notes
Document History
Share Links
Statistics
System Information
Artisan Commands
The package includes several Artisan commands for testing and management:
Test Connection
Test with File Upload
Test Search
Error Handling
The service includes comprehensive error handling with custom exception classes:
Custom Exceptions
PaperlessApiException- For API-related errors (HTTP status codes, response data, unique constraint violations)PaperlessConnectionException- For connection issues (timeout, DNS, SSL, network)PaperlessValidationException- For validation failures (metadata, field validation)PaperlessFileException- For file-related errors (size, type, permissions, corruption)
Basic Error Handling
Using the Exception Handler
For detailed exception handling examples, see EXCEPTION_HANDLING_EXAMPLES.md.
Logging
The service logs all API interactions when logging is enabled:
Caching
The service supports caching for improved performance:
Security
Security settings for SSL verification and timeouts:
Testing
Test the connection to your Paperless-ngx instance:
Examples
Complete Document Management Workflow
Using with Laravel Jobs
Troubleshooting
Common Issues
-
Authentication Failed
- Verify your API token or credentials
- Check if the Paperless-ngx instance is accessible
- Ensure the authentication method is correctly configured
-
Upload Fails
- Check file size limits
- Verify supported file types
- Ensure proper permissions on the Paperless-ngx instance
-
Connection Timeout
- Increase timeout settings in configuration
- Check network connectivity
- Verify Paperless-ngx instance is running
- SSL Certificate Issues
- Set
PAPERLESS_VERIFY_SSL=falsefor self-signed certificates - Update SSL certificates on your Paperless-ngx instance
- Set
Debug Mode
Enable debug logging to troubleshoot issues:
Package Structure
Requirements
- PHP >= 8.0
- Laravel >= 9.0
- Guzzle HTTP Client (included with Laravel)
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
This package is open-sourced software licensed under the MIT license.
Support
If you encounter any issues or have questions, please:
- Check the troubleshooting section
- Search existing issues
- Create a new issue with detailed information
Credits
- Paperless-ngx - The document management system
- Laravel - The PHP framework for web artisans
All versions of paperless-ngx with dependencies
laravel/framework Version ^9.0|^10.0|^11.0|^12.0
guzzlehttp/guzzle Version ^7.0