Download the PHP package tecnickcom/tc-lib-pdf-image without Composer
On this page you can find all versions of the php package tecnickcom/tc-lib-pdf-image. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tecnickcom/tc-lib-pdf-image
More information about tecnickcom/tc-lib-pdf-image
Files in tecnickcom/tc-lib-pdf-image
Package tc-lib-pdf-image
Short Description PHP library containing PDF Image methods
License LGPL-3.0-or-later
Homepage https://tcpdf.org
Informations about the package tc-lib-pdf-image
tc-lib-pdf-image
Image import and embedding utilities for PDF streams.
💖 Part of the tc-lib-pdf / TCPDF ecosystem (100M+ installs). Sponsor its maintenance →
Overview
tc-lib-pdf-image imports images, converts them to the formats a PDF can embed, and generates the corresponding PDF image objects.
| Namespace | \Com\Tecnick\Pdf\Image |
| Author | Nicola Asuni [email protected] |
| License | GNU LGPL v3 - see LICENSE |
| API docs | https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image |
| Packagist | https://packagist.org/packages/tecnickcom/tc-lib-pdf-image |
Features
Import
- Native PNG and JPEG parsing
- Other formats re-encoded to PNG or JPEG through GD (
gdextension) - Transparency, palette and ICC profile handling
PDF integration
- Cache keys to reuse repeated images
- Alternate images for print and display contexts
- Output of the image XObjects and of the XObject dictionary
Requirements
- PHP 8.2 or later
- Extensions:
zlib - Optional extension:
gd, required to import the images that need a conversion (resizing, alpha channel extraction, and the formats other than JPEG and PNG); without it such an import throws an exception naming the extension - Composer
Installation
Quick Start
Remote images require a host allowlist as well:
For full file-loading options, see the tc-lib-file documentation:
https://tcpdf.org/docs/srcdoc/tc-lib-file
Persistent image cache
The processed image data is cached in memory for the lifetime of the Import
instance, so the same image imported twice within one document is processed
once.
To reuse processed images across documents and processes, inject an external
cache. The library defines only the contract,
\Com\Tecnick\Pdf\Image\ImageCacheInterface, and the backend (filesystem,
APCu, Redis, a PSR-16 cache, ...) is provided by the application:
Pass an implementation to the constructor; the default null keeps the
in-memory cache only:
On a miss the processed data is written through to the cache; a hit skips the processing. For local files the key includes the file modification time and size, so editing an image in place invalidates its stale entry.
Security: the cache store is a trust boundary. The stored bytes (image data, palette, ICC profile) are embedded verbatim into the generated PDFs, so use a store only the application can write to. An implementation that serializes entries must deserialize with object restoration disabled, e.g.
unserialize($s, ['allowed_classes' => false]).
An example implementation:
Development
Packaging
For system packages, bootstrap with:
Contributing
Contributions are welcome. Please review SECURITY.md.
All versions of tc-lib-pdf-image with dependencies
ext-zlib Version *
tecnickcom/tc-lib-file Version ^3.9
tecnickcom/tc-lib-pdf-encrypt Version ^2.12