转换和条形码——Java分裂

本教程展示了如何转换和拆分条形码从文件使用LEADTOOLS云服务在Java应用程序中。

概述
总结 本教程介绍了如何制作ConvertBarcodeSplit请求和处理结果在Java应用程序中使用LEADTOOLS云服务。
完成时间 30分钟
项目 下载教程项目(5 KB)
平台 LEADTOOLS云服务API
IDE IntelliJ
语言 Java
开发许可 下载LEADTOOLS

所需的知识

一定要检查以下网站信息LEADTOOLS云服务API。

服务计划

LEADTOOLS服务计划发行:

服务计划 描述
免费试用 免费评估
页面包 预付页面包
订阅 每月预付处理页面

进一步探索提供参考LEADTOOLS托管的云服务页面。

获得必要的应用程序ID和密码,请参考创建一个帐户与LEADTOOLS承载云服务和应用程序

创建项目并添加Maven的依赖

在IDE中创建一个新的Java项目,Maven,并添加以下要求Maven的依赖pom.xml文件:

<依赖><groupId>org.json</ groupId><artifactId>json</ artifactId><版本>20210307</版本></依赖>

添加ConvertBarcodeSplit代码

项目创建和包添加,可以开始编码。

项目文件,打开App.java。添加以下进口语句在顶部。

Java
进口org.json.JSONArray;进口org.json.JSONObject;进口java.io.File;进口java.io.FileNotFoundException;进口java.net.URI;进口java.net.http.HttpClient;进口java.net.http.HttpRequest;进口java.net.http.HttpRequest.BodyPublisher;进口java.net.http.HttpResponse;进口java.nio.charset.StandardCharsets;进口java.util.Base64;进口java.util.concurrent.CompletableFuture;进口java.util.concurrent.ExecutionException;进口java.util.concurrent.TimeUnit;进口java.util.concurrent.TimeoutException;

添加一个类级别enum命名FormatsEnum和方法命名convertBarcodeSplit ()。的convertBarcodeSplit ()方法发送一个转换请求LEADTOOLS云服务API。如果成功将返回一个唯一标识符(GUID),然后使用该GUID将一个查询。

将下面的代码添加到FormatsEnum枚举。

Java
私人枚举FormatsEnum{Png (1),Jpeg (2),Tiff (3),Pdf (4),Pdfa (5),PdfImage (6),PdfImageOverText (7),PdfaImageOverText (8),多克斯(9),DocxFramed (10),Rtf (11),RtfFramed (12),Txt (13),TxtFramed (14);私人最后int价值;FormatsEnum (int值){value =价值;}公共intgetValue () {返回价值;}}

将下面的代码添加到convertBarcodeSplit ()方法。

Java
私人静态无效convertBarcodeSplit () {HttpClient客户= HttpClient.newHttpClient ();/ /第一页文件中标记进行处理int珍宝= 1;/ /发送值将表明服务的所有页面文件应该被处理。intlastPage = 1;/ /枚举对应的输出格式文件。这个脚本的用途,我们将气管无名动脉瘘管的皈依。intfileFormat = FormatsEnum.Tiff.getValue ();intsplitOptions = 1;/ /如果使用URL到文件字符串fileURL =“http://demo.leadtools.com/images/cloud_samples/barcode_split_sample.pdf”;字符串conversionUrl = String.format (“转换/ ConvertBarcodeSplit ?”珍宝= % s&lastPage = % s&fileurl = % s&format = % s&splitOptions = % s”、珍宝、lastPage fileURL、fileFormat splitOptions);结果结果= postAsync (conversionUrl,、客户端);/ /如果上传一个文件作为多部分内容:/ /文件,新文件(“路径/ /文件”);/ /字符串conversionUrl = String.format(“转换/ ConvertBarcodeSplit吗?珍宝= % s&lastPage = % s&format = % s&splitOptions = % s“,”珍宝,lastPage, fileFormat, splitOptions);/ /结果结果= postAsync (conversionUrl、还是、客户);如果(results.getStatusCode () = = 200) {/ /返回的惟一ID服务System.out.println (“惟一的ID返回的服务:“+ results.getData ());查询(results.getData(),客户端);}其他的{System.out.println (请求失败,以下响应:“+ results.getStatusCode ());}}

接下来,创建一个新方法查询(字符串id, HttpClient客户端)利用提供的GUIDconvertBarcodeSplit ()方法。如果成功身体将包含所有请求的响应以JSON格式的数据。一定要调用查询()方法在convertBarcodeSplit ()方法,如上所示。将下面的代码添加到查询()方法。

Java
私人静态无效查询(字符串id, HttpClient客户机){字符串queryUrl = String.format (“查询id = % s ?”、身份证);结果结果;JSONObject returnedData =JSONObject ();intfileStatus = 0;{试一试{结果= postAsync (queryUrl,、客户端);returnedData =JSONObject (results.getData ());fileStatus = returnedData.getInt (“FileStatus”);如果(fileStatus ! = 200) thread . sleep (5000);}(InterruptedException e) {/ / e.printStackTrace ();}}(fileStatus = = 0 | | 100年fileStatus = = | | fileStatus = = 123);System.out.println (“文件处理完返回码:“+ fileStatus);如果(fileStatus ! = 200) {返回;}parseJson (returnedData.get (“RequestData”).toString ());}

然后,创建两个新的命名方法parseJson (json字符串)postAsync (String路径,文件文件,HttpClient客户端),这都将被称为内查询()方法,如上所示。

将下面的代码添加到parseJson ()方法来处理返回的JSON数据。

Java
私人静态无效parseJson (String json) {JSONArray requestArray =JSONArray (json);(对象requestObject: requestArray) {如果(requestObject运算符JSONObject) {JSONObject requestReturn = (JSONObject) requestObject;System.out.println (服务类型:“+ requestReturn.getString (“ServiceType”));System.out.println (返回的数据:“);JSONObject data = (JSONObject) requestReturn.get (“数据”);JSONArray urlArray =JSONArray (data.get (“url”).toString ());(对象obj: urlArray) {System.out.println (obj.toString ());}}}}

将下面的代码添加到postAsync ()方法创建一个客户端连接请求通过GUID和JSON数据。在那里国家替换为应用程序ID替换为应用程序密码一定要把你的应用程序ID和密码。信息如何获得您的应用程序ID和密码,看到创建一个帐户与LEADTOOLS承载云服务和应用程序教程。

Java
私人静态结果postAsync(字符串路径、对象的身体,HttpClient客户机){字符串AppId =“应用程序ID替换”;字符串密码=”替换为应用程序密码”;字符串authHeader =“基本”+字符串(Base64.getEncoder ()。编码(AppId +”:“+密码).getBytes (StandardCharsets.UTF_8)));字符串hostedServicesUrl =“https://azure.leadtools.com/api/”;BodyPublisher thisBody = HttpRequest.BodyPublishers.ofString (“零”);如果(身体运算符BodyPublisher) {thisBody = (BodyPublisher)的身体;}其他的如果(身体运算符文件){试一试{thisBody = HttpRequest.BodyPublishers.ofFile(((文件)的身体).toPath ());}(FileNotFoundException e) {/ / e.printStackTrace ();}}HttpRequest请求= HttpRequest.newBuilder (). post (thisBody).uri (URI。创建(hostedServicesUrl +路径)).header (“接受”,“application / json”).header (“授权”authHeader).header (“内容类型”,“文本/普通”).build ();CompletableFuture < HttpResponse <字符串> > =客户结果。(请求,HttpResponse.BodyHandlers.ofString是以());结果结果=结果();results.setData (”“);results.setStatusCode (0);试一试{results.setData (result.thenApply (HttpResponse::身体)。(5,TimeUnit.SECONDS));results.setStatusCode (result.thenApply (HttpResponse:: statusCode)。(5,TimeUnit.SECONDS));}(InterruptedException | ExecutionException | TimeoutException e) {e.printStackTrace ();}返回结果;}

应用程序需要一个助手类存储的结果帖子请求。创建一个新类结果并将下面的代码添加到它。

Java
私人静态结果{私人字符串数据;私人intstatusCode;公共字符串getData () {返回数据;}公共无效setData(字符串数据){. data =数据;}公共intgetStatusCode () {返回statusCode;}公共无效setStatusCode (intstatusCode) {.statusCode = statusCode;}}

运行该项目

为了测试运行这段代码一定要添加convertBarcodeSplit ();静态孔隙主要部分。

按运行项目Alt + F5,或通过选择运行- >调试应用程序

如果步骤正确,控制台出现应用程序显示的链接转换和分裂条形码TIFF图像从返回的JSON数据。

把条码分割结果

总结

本教程展示了如何将条形码通过LEADTOOLS云服务API在Java应用程序中。

另请参阅

net
iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2022领先的技术公司。保留所有权利。