Label combining

The SDK provides a class for combining labels into 1 pdf. Using this you can create a pdf file with multiple labels for printing. The class takes an array of objects that implement FileInterface and returns a new object that implements FileInterface.

use MyParcelCom\ApiSdk\LabelCombiner;
use MyParcelCom\ApiSdk\Resources\Interfaces\FileInterface;

$files = array_merge(
    $shipmentA->getFiles(FileInterface::DOCUMENT_TYPE_LABEL),
    $shipmentB->getFiles(FileInterface::DOCUMENT_TYPE_LABEL)
);

$labelCombiner = new LabelCombiner();
$combinedFile = $labelCombiner->combineLabels($files);

The page size (A4, A5, A6), the starting position as well as a margin can be specified when combining the labels.

use MyParcelCom\ApiSdk\LabelCombinerInterface;

$combinedFile = $labelCombiner->combineLabels(
    $files,
    LabelCombinerInterface::PAGE_SIZE_A4,
    LabelCombinerInterface::LOCATION_BOTTOM_LEFT,
    20
);