ご協力いただければ幸いです。 CitizenのラベルプリンタにDPDラベルを自動的に印刷するPHPシステムに接続しようとしています。インストールされたphp_printerを使用しています。このコードは、コードからプリンタを見ることができ、DPDのapi呼び出しはDPDのWebサイトで新しい出荷を生成しています。DPDラベルCitrixラベルプリンタ用PHP APIを使用したラベル印刷
質問
- まず、これはphp_printerを使用してPHPアプリケーションから市民のラベルプリンタに生の印刷データを送信するために行くための最善の方法であるか、より良い方法はありますか?
- もう少しライブテストを行っていますが、DPD api get Labelコールで書式設定の問題が発生していると思われます。ここで生の市民の印刷データを取得し、プリンタに直接送信して印刷をトリガーします。私たちは、出力に以下のサンプルデータを受信している
\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
APIの例からのデータは、スラッシュますfile_put_contents後のファイルに登場し、読者にされていないことで.txtファイル予想
それらはスペースまたは黒い円として表示されます。我々は
M3000c0000eO0220f290naLD11PISIH12
2911A0803340387DPD
2911A0603500375www.dpd.co.uk
1911A1003800095Responsible Delivery - CO Neutral
1911A08037802572
2911A0603780354Sender
2911A0603780346GEOPOSTUK LTD
2911A0603780338ROEBUCK LANE
2911A0603780330SMETHWICK
2911A0603780322BIRMINGHAM
を受けている
実際のデータは、誰もが、我々は何も要求から削除されていないことを確認するために設定する必要があり、PHPヘッダーまたは出力の設定をお勧めすることはできますか?ラベルのためのDPDに送ら
PHPのコードサンプル: - 事前に
$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);
ありがとう!
Seanも同様の問題があります。ただし、プリンタにコマンドを送信しても動作しないようです。コマンドをプリンタに送るためにPHPコードを共有してもよろしいですか?乾杯 –