generatepdfs / php-sdk
PHP SDK for GeneratePDFs.com API
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/generatepdfs/php-sdk
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- mockery/mockery: ^1.6
- pestphp/pest: ^2.0
- phpstan/phpstan: ^1.10
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2025-12-07 23:12:00 UTC
README
PHP SDK for the GeneratePDFs.com API. Easily generate PDFs from HTML files or URLs.
Installation
composer require generatepdfs/php-sdk
Usage
Basic Setup
use GeneratePDFs\GeneratePDFs; $client = GeneratePDFs::connect('YOUR_API_TOKEN');
Generate PDF from HTML File
use GeneratePDFs\GeneratePDFs; use GeneratePDFs\Pdf; // Simple HTML file $pdf = $client->generateFromHtml('/path/to/file.html'); // HTML file with CSS $pdf = $client->generateFromHtml( '/path/to/file.html', '/path/to/file.css' ); // HTML file with CSS and images $pdf = $client->generateFromHtml( '/path/to/file.html', '/path/to/file.css', [ [ 'name' => 'logo.png', 'path' => '/path/to/logo.png', 'mime_type' => 'image/png' // Optional, will be auto-detected ], [ 'name' => 'photo.jpg', 'path' => '/path/to/photo.jpg' ] ] );
Generate PDF from URL
$pdf = $client->generateFromUrl('https://example.com');
Working with PDF Objects
The SDK returns Pdf objects that provide easy access to PDF information and downloading:
// Access PDF properties $pdfId = $pdf->getId(); $pdfName = $pdf->getName(); $status = $pdf->getStatus(); $downloadUrl = $pdf->getDownloadUrl(); $createdAt = $pdf->getCreatedAt(); // Check if PDF is ready if ($pdf->isReady()) { // Download PDF content as string $pdfContent = $pdf->download(); // Or save directly to file $pdf->downloadToFile('/path/to/save/output.pdf'); }
PDF Object Methods
getId(): int- Get the PDF IDgetName(): string- Get the PDF filenamegetStatus(): string- Get the current status (pending, processing, completed, failed)getDownloadUrl(): string- Get the download URLgetCreatedAt(): DateTimeImmutable- Get the creation dateisReady(): bool- Check if the PDF is ready for downloaddownload(): string- Download and return PDF binary contentdownloadToFile(string $filePath): bool- Download and save PDF to a file
Requirements
- PHP 8.1 or higher
- Guzzle HTTP Client 7.0 or higher
Testing
To run the test suite and code style checker, execute:
composer test
This will run both PHP CodeSniffer (PSR-2 standard) and Pest tests.
Contributing
Contributions and suggestions are welcome and will be fully credited.
We accept contributions via Pull Requests on GitHub.
Pull Requests
- PSR-12 Extended Coding Standard - The easiest way to apply the conventions is to install PHP Code Sniffer.
- Add tests! - Your patch won't be accepted if it doesn't have tests.
- Document any change in behaviour - Make sure the README / CHANGELOG and any other relevant documentation are kept up-to-date.
- Consider our release cycle - We try to follow semver. Randomly breaking public APIs is not an option.
- Create topic branches - Don't ask us to pull from your master branch.
- One pull request per feature - If you want to do more than one thing, send multiple pull requests.
- Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
Changelog
See CHANGELOG.md for a history of changes.
License
This project is licensed under the MIT License. See the LICENSE file for details.