Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Codebeispiel: allgemeine Lösung für den elektronischen Formulardruck

PHP-Codebeispiel: allgemeine Lösung für den elektronischen Formulardruck

不言
不言Original
2018-04-24 14:49:495286Durchsuche

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


云打印API列表
接口名称 接口描述
注册云打印机 将开发者账号与云打印机关联
删除云打印机 解除开发者账号与云打印机关联
发送打印任务 给云打印机发送打印任务
获取云打印机列表 获取开发者账号已经关联的云打印机信息
查询打印任务详情 获取某个打印任务信息
获取云打印机信息 获取某个云打印机信息

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:


Benutzer-ID (wird bei der Registrierung für die offene Plattform zugewiesen, Ansicht in der Konsole) tr>
Name Type Ist es notwendig Beschreibung
名称 类型 是否必须 描述
method string API接口名称
app_id string 用户ID(注册开放平台时分配,在控制台中查看)
sign string 按照规则(md5(app_id + method + ts + api_key))生成的验证合法性签名
ts string 当前请求的时间戳
data string JSON格式请求参数设置
Methode
string Ja API-Schnittstellenname
app_id td> string Ja
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


Empfängerinformationen ist EmpfängeradresseEmpfängerprovinzName des EmpfängerkreisesName der Empfängerstadt
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
AdresseZeichenfolge 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 Ende-

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-regulärer AusdruckNächster Artikel:PHP-regulärer Ausdruck