Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Codebeispiel: allgemeine Lösung für den elektronischen Formulardruck
Der Inhalt dieses Artikels handelt von der allgemeinen Lösung für den elektronischen Formulardruck mit PHP-Codebeispielen. Jetzt kann ich ihn mit Ihnen teilen.
Logistik, Expressversand, E-Commerce, ERP, Lagerhaltung usw. beinhalten alle das Liefergeschäft und alle müssen den elektronischen Rechnungsdruck nutzen. Es gibt verschiedene elektronische Rechnungsdrucker, elektronische Rechnungsdrucksoftware und elektronische Rechnungsdrucktools auf dem Markt Die Druckanforderungen werden zwar nicht erfüllt, das mobile Drucken kann jedoch nicht gut erfüllt werden. Hier ist eine allgemeine Lösung für den elektronischen Formulardruck von Mobiltelefonen : Kuaibao elektronischer Formular-Clouddruck. Seine Vorteile: Es gibt keine Einschränkung hinsichtlich des Druckermodells oder der Marke und es kann für alle gängigen Drucker gedruckt werden Expressunternehmen können elektronische Formulare ausdrucken, das elektronische Formular von Cainiao ausdrucken, den Stapeldruck unterstützen, das Drucken aus der Ferne unterstützen, die gemeinsame Nutzung elektronischer Formulardrucker realisieren usw.
1. Einführung in den Cloud-Druck
Der elektronische Dokumenten-Cloud-Druck von Kuaibao verbindet gewöhnliche Thermodrucker mit einem Klick mit der Cloud und bietet eine gekapselte Druckerverwaltung, das Senden von Druckaufgaben, die Aktualisierung des Aufgabenstatus und andere Schnittstellen, sodass Entwickler innerhalb eines Tages ein voll funktionsfähiges Gerät entwickeln können Es wird ein benutzerfreundliches mobiles Programm zum Drucken elektronischer Formulare entwickelt. Es hat die folgenden Eigenschaften:
1. Einfacher Zugriff: Normale Drucker sind mit der mobilen Shared Cloud verbunden
2. Extrem schnelle Anfrage: Der Druck kann mit nur einer http-Anfrage abgeschlossen werden
3. Extrem schnelle Anpassung: Erwerben Sie die elektronische Formulardrucksoftware in einem halben Tag
2. Anleitung Verwenden Sie Cloud Printing
Kuaibao Cloud Printing umfasst 6 APIs, die in verschiedenen Szenarien verwendet werden und je nach dem von der Software verwendeten Prozess unterschiedliche Schnittstellen haben
接口名称 | 接口描述 |
---|---|
注册云打印机 | 将开发者账号与云打印机关联 |
删除云打印机 | 解除开发者账号与云打印机关联 |
发送打印任务 | 给云打印机发送打印任务 |
获取云打印机列表 | 获取开发者账号已经关联的云打印机信息 |
查询打印任务详情 | 获取某个打印任务信息 |
获取云打印机信息 | 获取某个云打印机信息 |
Um Cloud-Druck zu nutzen, müssen Sie die folgenden Vorbereitungen treffen:
准备工作 | 备注 |
---|---|
电子面单打印机 | 不限品牌,不限型号 |
安装云打印代理程序(下载地址:http://ckd.so/ydy) | win 7及以上系统,不支持Mac系统 |
获的快宝开放平台开发者账号信息(ID和API Key) | 注册快宝开放平台即可获取(http://open.kuaidihelp.com/) |
Schritte zur Verwendung der Cloud-Druck-API. Sie können die API für die Verbindung je nach Unternehmen auswählen:
3. Andocken der Cloud-Drucktechnologie (am Beispiel von PHP)
Schnittstellenname: cloud.print.do
Formelle Adresse: https://kop.kuaidihelp. com/api
Anfragemethode: HTTP POST
Kodierungsformat der Anfragemethode: utf-8
Öffentliche Anfrageparameter:
Name | Type | Ist es notwendig | Beschreibung | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
string | Ja | API-Schnittstellenname | ||||||||||||||||||||||||
app_id td> | string | Ja | Benutzer-ID (wird bei der Registrierung für die offene Plattform zugewiesen, Ansicht in der Konsole) tr>|||||||||||||||||||||||||
sign | string | Ja | Follow Verification Legality Signatur generiert durch Regel (md5(app_id + method + ts + api_key)) | ||||||||||||||||||||||||
ts | string | Ja | Der Zeitstempel der aktuellen Anfrage | ||||||||||||||||||||||||
data | string | Ja | JSON-Formatanforderungsparametereinstellungen |
Parameter der öffentlichen Reaktion
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
code | int | 是 | 响应状态码。0-成功,非0-失败 |
msg | string | 是 | 返回结果说明 |
uid | string | 是 | 本次请求唯一业务流水号 |
data | string | 是 | JSON格式响应数据 |
Parameter anfordern
Name | Typ | Ist es erforderlich | Beschreibung | |
---|---|---|---|---|
agent_id | string | ist die | Cloud-Druckernummer | |
Aktion | Zeichenfolge | ist | Methodenbezeichner (print.json.cn) | |
print_type | string | ist | 1: untere Reihenfolge 2: Druck 3: unten bestellen und drucken. (Optional, Standard 3, wenn innerhalb der Aufgabe festgelegt, hat die Einstellung innerhalb der Aufgabe Vorrang) | |
Batch | Zeichenfolge | ist | ob es sich um einen Stapel handelt | |
Druckdaten | Zeichenfolge | ist | Druckdaten | |
sequence | string | ist die aktuelle/Gesamtzahl von | , Standard ist 1/1 | |
template_id | string | ist | Vorlagen-ID-Ansichtsdetails | |
cp_code | string | ist die | Expressmarke | |
pickup_code | string | ist der | Abholcode (optional) | |
print_type | string | ist | 1: Untere Reihenfolge 2: Drucken 3: Untere Reihenfolge und Drucken (Optional, Standard 3) | |
user_name | string | ist der Name der Person, die | druckt Wenn es sich um einen Verkäufer handelt, kann die Mobiltelefonnummer enthalten sein (optional) | |
Notiz | Zeichenfolge | ist | Bemerkungen (optional) | |
Warenname | Zeichenfolge | ist | Artikelname (optional) | |
Gewicht | Zeichenfolge | ist | Artikelgewicht (optional) | |
tid | string | ist | (es wird empfohlen, eine eindeutige Kennung wie die Bestellnummer zu verwenden; dieses Feld wird beim Senden und Rückruf zurückgegeben , Antragsformular Dieses Feld wird auch verwendet, wenn die Bestellnummer | |
Adresse | istZeichenfolge | ist | ||
Provinz | string | ist | ||
Bezirk | string | ist | ||
Stadt | Zeichenfolge | ist | ||
detail | string | ist | detaillierte Empfängeradresse | |
Mobiltelefon | String | ist | Mobiltelefon des Empfängers | |
Name | Zeichenfolge | ist | Empfängername | |
Telefon | string | ist | Empfänger-Festnetz | |
routing_info | string | ist die | Express-Routing-Informationen | |
Konsolidierung | Zeichenfolge | ist | Informationen zum Paketstandort | |
Name | Zeichenfolge | ist der Name der Sammelstelle | ||
Herkunft | String | ist | Routing-Outlet-Unternehmen | |
Code | Zeichenfolge | ist die | Firmennummer der Weiterleitungsstelle | |
Name | Zeichenfolge | ist der | Name der Routing-Outlet-Unternehmensnummer | |
route_code | string | ist | zwei oder drei Absätze | |
Sortierung | Zeichenfolge | besteht aus | großen Zeichen und einem Codeabsatz | |
name | string | ist der Name von | in großen Buchstaben | |
Absender | Zeichenfolge | ist | Sendeinformationen | |
Adresse | Zeichenfolge | ist | Absenderadresse | |
Provinz | string | ist die Provinz des | Absenders | |
Bezirk | Zeichenfolge | ist der Kreisname des Absenders | ||
city | string | ist der Stadtname des Absenders | ||
detail | string | ist die | detaillierte Adresse des Absenders | |
Handy | String | ist | Handy des Absenders | |
Name | Zeichenfolge | ist der Name des Absenders | ||
Telefon | string | ist die | feste Telefonnummer des Absenders | |
waybill_code | Zeichenfolge | ist | Frachtbriefnummer |
Antwortparameter
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
status | string | 是 | 状态 |
task_id | string | 是 | 此次请求任务ID |
Unterstützt den Zugriff auf 6 Sprachen, einschließlich Java, C#, Python, PHP, Node.js, Curl usw. Die folgenden Schritte PHP als Beispiel. Codebeispiel Send Request Task anzeigen.
1. Einzeldruckaufgabe, Beispiel anfordern
$host = "https://kop.kuaidihelp.com/api"; $method = "POST"; $headers = array(); //根据API的要求,定义相对应的Content-Type array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8"); $querys = ""; $bodys = [ "app_id"=>'50001', "method"=>'cloud.print.do', "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79", "ts"=>'1524209949', "data"=>'{ "action":"print.json.cn(菜鸟标准格式JSON)", // "agent_id":"目标打印代理", //必填 "print_type":"打印类型", //1:预览, 2:打印, 3:打印预览. 未设置则默认为3.(任务内设置,则以任务内设置为准) "batch":"", //字符串"true"或者bool值 true则为批量,其他值则为非批量 是否为批量 "print_data": { "sequence": "1/1", //可选,打印文档当前序列:当前/总数,默认1/1 "template_id": "模板id", "cp_code": "快递品牌(提供模板id,此字段会被忽略)",//参照“快递品牌列表”,兼容菜鸟和快宝品牌编码 "pickup_code": "取件码(可选)", "print_type": "1:底单 2:打印 3:底单和打印.(可选,默认3)", "user_name": "打印人的名称,若是业务员,可包括手机号码(可选)", "note": "备注(可选)", "goods_name": "物品名(可选)", "weight": "物品重量(可选)", "tid": "(建议用订单号之类的唯一标识,提交和回调时将返回该字段, 申请单号时也将使用该字段当订单号)", "recipient": { "address": { "city": "宁德市", "detail": "哦里咯啦咯啦", "district": "福鼎市", "province": "福建省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "routing_info": { "consolidation": {"name": "温州转福鼎包(集包名)"}, "origin": {"code": "610025","name": "四川邛崃公司"}, "route_code": "009 030(二三段码)", "sortation": {"name": "福鼎351(大字 一段码)"} }, "sender": { "address": { "city": "成都市", "detail": "兴民街55号", "district": "邛崃市", "province": "四川省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "waybill_code": "333333333333" } }' ]; $bodys = http_build_query($bodys); $url = $host; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys); var_dump(curl_exec($curl));
2. Stapeldruckaufgabe, Anforderungsbeispiel
3 Postfach" "(Öffentliches WeChat-Konto) Die darin konfigurierte Bestellnummernquelle ruft automatisch die Bestellnummer, die Druckvorlage und das Routing-Informationsbeispiel ab
$host = "https://kop.kuaidihelp.com/api"; $method = "POST"; $headers = array(); //根据API的要求,定义相对应的Content-Type array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8"); $querys = ""; $bodys = [ "app_id"=>'50001', "method"=>'cloud.print.do', "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79", "ts"=>'1524209949', "data"=>'{ "action":"print.json.cn(菜鸟标准格式JSON)", // "agent_id":"目标打印代理", //必填 "print_type":"打印类型", //1:预览, 2:打印, 3:打印预览. 未设置则默认为3.(任务内设置,则以任务内设置为准) "batch":"", //字符串"true"或者bool值 true则为批量,其他值则为非批量 是否为批量 "print_data": [ { "cod_amount": 200, //如果是货到付款服务,则使用该字段 "sequence": "1/1", //可选,打印文档当前序列:当前/总数,默认1/1 "template_id": "模板id", "cp_code": "快递品牌",//参照“快递品牌列表”,兼容菜鸟和快宝品牌编码 "pickup_code": "取件码(可选)", "print_type": "1:底单 2:打印 3:底单和打印.(可选,默认3)", "user_name": "打印人的名称,若是业务员,可包括手机号码(可选)", "note": "备注(可选)", "goods_name": "物品名(可选)", "weight": "物品重量(可选)", "tid": "(建议用订单号之类的唯一标识,提交和回调时将返回该字段, 申请单号时也将使用该字段当订单号)", "recipient": { "address": { "city": "宁德市", "detail": "哦里咯啦咯啦", "district": "福鼎市", "province": "福建省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "routing_info": { "consolidation": { "name": "温州转福鼎包(集包名)" }, "origin": { "code": "610025", "name": "四川邛崃公司" }, "route_code": "009 030(二三段码)", "sortation": { "name": "福鼎351(大字 一段码)" } }, "sender": { "address": { "city": "成都市", "detail": "兴民街55号", "district": "邛崃市", "province": "四川省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "waybill_code": "333333333333" } ] }' ]; $bodys = http_build_query($bodys); $url = $host; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys); var_dump(curl_exec($curl));
Das obige ist der detaillierte Inhalt vonPHP-Codebeispiel: allgemeine Lösung für den elektronischen Formulardruck. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!