A lightweight PHP library for generating PDF waybills with ease. This package allows developers to create and customize waybills in PDF format for courier and logistics services. It supports barcode generation, sender/receiver details, and customizable layouts. Perfect for automating shipping label creation in your e-commerce or logistics applications.
You can install the package via composer:
composer require cable8mm/waybill
Save a waybill for pdf format:
use Cable8mm\Waybill\Enums\ParcelService;
use Cable8mm\Waybill\Waybill;
Waybill::of(ParcelService::Cj)
->path(realpath(__DIR__.'/../dist'))
->save('test.pdf');
Get a waybill array:
$waybill = Waybill::of(ParcelService::Cj)
->toArray()
Save multiple waybills for pdf format:
$mpdf = Mpdf::instance();
WaybillCollection::of(mpdf: $mpdf)
->add(Waybill::of(ParcelService::Cj, mpdf: $mpdf))
->add(Waybill::of(ParcelService::Cj, mpdf: $mpdf))
->path(realpath(__DIR__.'/../dist'))
->save('collection.pdf');
// or
WaybillCollection::of(mpdf: $mpdf)
->add([
Waybill::of(ParcelService::Cj, mpdf: $mpdf),
Waybill::of(ParcelService::Cj, mpdf: $mpdf),
])
->path(realpath(__DIR__.'/../dist'))
->save('collection.pdf');
Slice the page of the waybills:
Slicer::of(ParcelService::Cj, 1)
->source('source.pdf')
->save('one_page.pdf'); // or `->download('one_page.pdf')`
If you want to add another parcel service like UPS, you would need to make Enums
and Factory
class, for example:
- Make
UpsFactory.php
into `src/Factories' folder. - Make
Enum
element intosrc/Enums
folder.
composer test
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email cable8mm@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.