Я интегрировал API доставки UPS на своем сайте, который позволяет пользователю создавать этикетки доставки и распечатывать их,
ярлык создан, и пользователи также могут распечатать ярлык, однако ярлык генерируется, который в основном представляет собой файл изображения, который возвращается из кода, который я использую, но я также хотел добавить логотип компании, пожалуйста, я знаю, как я могу это сделать.
Ниже приведен код, который я использовал для создания метки
function create_shipping_label($shipping_digest) {
// SHIP ACCEPT REQUEST
$xmlRequest1 = '<?xml version = "1.0″ encoding = "ISO-8859-1″?>
<AccessRequest>
<AccessLicenseNumber>' . UPS_ACCESS_LICENCE_NUMBER . '</AccessLicenseNumber>
<UserId>' . UPS_USERNAME . '</UserId>
<Password>' . UPS_PASSWORD . '</Password>
</AccessRequest>
<?xml version = "1.0″ encoding = "ISO-8859-1″?>
<ShipmentAcceptRequest>
<Request>
<TransactionReference>
<CustomerContext>Customer Comment</CustomerContext>
</TransactionReference>
<RequestAction>ShipAccept</RequestAction>
<RequestOption>1</RequestOption>
</Request>
<ShipmentDigest>' . $shipping_digest . '</ShipmentDigest>
</ShipmentAcceptRequest>
';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, PREFIX."ups.com/ups.app/xml/ShipAccept");
// uncomment the next line if you get curl error 60: error setting certificate verify locations
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// uncommenting the next line is most likely not necessary in case of error 60
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
$xmlResponse = curl_exec($ch); // SHIP ACCEPT RESPONSE$xml = $xmlResponse;preg_match_all("/\<ShipmentAcceptResponse\>(.*?)\<\/ShipmentAcceptResponse\>/s", $xml, $bookblocks);foreach ($bookblocks[1] as $block) {
preg_match_all("/\<GraphicImage\>(.*?)\<\/GraphicImage\>/", $block, $author); // GET LABEL
preg_match_all("/\<TrackingNumber\>(.*?)\<\/TrackingNumber\>/", $block, $tracking); // GET TRACKING NUMBER// ( $author[1][0] . "\n" );
}
return '<img id="shipping_label_image" src="data:image/gif;base64,' . $author[1][0] . '"/>';
}
Поскольку вы используете лазерные этикетки, вам просто нужно вернуть дополнительный HTML-код с изображением компании над или под изображением отгрузочной этикетки.
Других решений пока нет …