This is a PHP project to implement support for generating Avery.com label templates using FPDF.
The currently implemented templates are listed below.
- Avery 5160
- Avery 5163
- Avery Presta 94107
- Avery 5392
There are plans to support the following templates but If you have an urgent need for a specific template to be supported, open a issue to let me know.
- Avery 5162
- Avery 5195
- Avery 5816
- Avery 5817
- Avery 8160
Feel free to contribute to the development effort by submitting a pull request for any of the above templates or any other templates you would like to see supported.
To install via composer, follow the simple steps below.
composer install amattu2/avery-fpdf-labels
composer install fpdf/fpdf
NOTE: You can use any fork of FPDF you want as long as it implements the same methods as FPDF.
Then
require 'vendor/autoload.php';
$template = new amattu2\LabelSheet("Avery5160");
$pdf = new Fpdf\Fpdf();
If you choose to install without composer support, you can clone the repository directly. You will need to include FPDF also.
git clone https://github.com/amattu2/avery-fpdf-labels
Then
require 'fpdf/Fpdf.php'; // Install FPDF manually
require 'src/LabelSheet.php';
$template = new amattu2\LabelSheet("Avery5160");
$pdf = new Fpdf\Fpdf();
See example.php for demonstration of usage.
Use the addTextLabel
method to add a text label to the template. The method accepts an array of strings, an optional alignment parameter, and optional row and column parameters. This would typically be used for address labels.
addTextLabel(array $lines, ?string $align = "C", int $row = null, int $col = null): void
$template->addTextLabel([
"line 1",
"line 2",
"line 3",
// ...
])
Use the addImageLabel
method to add an image label to the template. The method accepts a path to an image file and optional row and column parameters.
addImageLabel(string $path, int $row = null, int $col = null): void
$template->addImageLabel("https://api.placeholder.app/image/350x350/.png");
The addCustomLabel
method allows you to expand upon the current label types (e.g. adding barcodes). You must instantiate your own implementation of the custom label and pass it to this method.
addCustomLabel(LabelInterface $label): void
The custom label must implement the LabelInterface
interface. See /src/LabelInterface.php for more information.
- FPDF 1.81 Minimum [http://www.fpdf.org/]
- PHP 7.4+ [https://php.net]