Jede Hilfe wäre willkommen. Wir versuchen, ein PHP-System zu verbinden, um DPD-Etiketten automatisch an einen Citizen-Etikettendrucker zu drucken. Wir untersuchen mit php_printer, der gut installiert ist und den Drucker aus unserem Code sehen kann, und der DPD-API-Aufruf generiert neue Sendungen erfolgreich auf der DPD-Website.DPD Etikettendruck mit der PHP API für einen Citizen Etikettendrucker
Fragen
- Zum einen ist dies der beste Weg, um rohe Druckdaten an einen Citizen Etikettendrucker aus einer PHP-Anwendung mit php_printer oder gibt es eine bessere Art und Weise zu senden zu gehen?
- Zweitens werden wir in Kürze einige Live-Tests durchführen, aber es scheint ein Formatierungsproblem beim DPD API Label-Aufruf zu bestehen, wo wir die Rohdaten des Bürgers abrufen, die direkt an den Drucker gesendet werden, um den Druck auszulösen.
Erwartete Daten aus dem API Beispiel
\M3000\c0000\e\O0220\f290\n\a\LD11PISIH12
2911A0803340387DPD
2911A0603500375www.dpd.co.uk
1911A1003800095Responsible Delivery - CO Neutral
1911A08037802572
2911A0603780354Sender
2911A0603780346GEOPOSTUK LTD
2911A0603780338ROEBUCK LANE
2911A0603780330SMETHWICK
2911A0603780322BIRMINGHAM
------ etc
wir die Daten Probe erhalten unten in unserer Ausgabe, dass die Schrägstriche Datei im .txt nicht nach file_put_contents und in unseren Lesern in der Datei erscheinen sie erscheinen entweder als Leerzeichen oder als schwarze Kreise.
Istdaten wir
M3000c0000eO0220f290naLD11PISIH12
2911A0803340387DPD
2911A0603500375www.dpd.co.uk
1911A1003800095Responsible Delivery - CO Neutral
1911A08037802572
2911A0603780354Sender
2911A0603780346GEOPOSTUK LTD
2911A0603780338ROEBUCK LANE
2911A0603780330SMETHWICK
2911A0603780322BIRMINGHAM
erhalten Kann jemand PHP-Header oder Ausgabeeinstellungen legen nahe, dass wir nichts konfigurieren müssen, um sicherzustellen, wird von der Anforderung entfernt werden?
PHP-Codebeispiel für das Label DPD gesendet: -
$shipmentId = 123456789;
$method = '/shipping/shipment/' . $shipmentId . '/label/';
$url = 'https://api.dpd.co.uk . $method;
$options = array(
'http' => array(
'method' => 'GET',
'Host' => 'api.dpd.co.uk',
//'header' => "Accept: text/html\r\n" .
'header' => "Accept: text/vnd.citizen-clp" .
"GEOClient: account/" . $account_number . "\r\n" .
"GEOSession: " . $session . "\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
file_put_contents("dpd_test_citizen_clp.txt", $result);
Vielen Dank im Voraus!
Sean, wir haben ein ähnliches Problem, außer das Senden des Befehls an den Drucker scheint nicht zu funktionieren. Würde es Ihnen etwas ausmachen, Ihren PHP-Code zu teilen, um den Befehl an den Drucker zu senden? Prost –