本教程展示如何在Python应用程序中使用LEADTOOLS云服务将文件转换为另一种格式。
| 概述 | |
|---|---|
| 总结 | 本教程介绍如何制作转换请求并使用Python应用程序中的LEADTOOLS云服务处理结果。 |
| 完成时间 | 30分钟 |
| 项目 | 下载教程项目(2kb) |
| 平台 | LEADTOOLS云服务API |
| IDE | Visual Studio 2019 |
| 语言 | Python |
| 开发许可 | 下载LEADTOOLS |
| 用另一种语言试试 |
|
请务必查看以下站点,以获得有关LEADTOOLS云服务API的信息。
LEADTOOLS服务计划提供:
| 服务计划 | 描述 |
|---|---|
| 免费试用 | 免费评估 |
| 页面包 | 预付费页包 |
| 订阅 | 预付月处理页 |
要进一步了解这些产品,请参阅托管云服务页面。
如需获取应用ID和应用密码,请参见使用LEADTOOLS托管云服务创建帐户和应用程序.
随着项目的创建和请求包添加后,编码就可以开始了。
在解决方案资源管理器,打开Convert.py.在顶部添加以下变量。
请注意
上面写着
替换为应用程序ID而且替换为应用程序密码,请务必输入相应的申请编号及密码。
制作和处理转换请求到LEADTOOLS CloudServices的结果的简单脚本。进口的要求导入系统导入的时间#枚举在pythonfrom enum import enum类FormatsEnum(枚举):Png = 1Jpeg = 2Tiff = 3Pdf = 4Pdfa = 5PdfImage = 6PdfImageOverText = 7PdfaImageOverText = 8Docx = 9DocxFramed = 10Rtf = 11RtfFramed = 12Txt = 13TxtFramed = 14servicesUrl =“https://azure.leadtools.com/api/”#应用程序ID。appId =“替换为应用程序ID”#应用程序密码。密码=“替换为应用程序密码”#要标记为处理的文件中的第一页firstPage = 1#发送-1值将向服务指示应该处理文件中的其余页面。lastPage = -1与文件输出格式对应的Enum。在这个脚本中,我们将把一个文件转换为tif文件。fileFormat = FormatsEnum.Tiff.value我们将通过URl上传文件。也可以通过向请求添加PostFile来传递文件。每个请求只接受一个文件。#服务将使用以下优先级来确定请求试图做什么GUID > URL >请求正文内容fileURL =“http://demo.leadtools.com/images/cloud_samples/leadtools.pdf”baseConversionUrl =“{}转换/转换吗?珍宝= {}&lastPage ={}格式= {}&fileurl = {} 'formattedConversionUrl = baseConversionUrl.format(servicesUrl, firstPage, lastPage, fileFormat, fileURL)
添加一个request.post调用来处理转换请求并从结果中捕获GUIDrequest.text,然后提供给下一节。这将发送一个转换请求到LEADTOOLS云服务API,如果成功,将返回一个唯一标识符(GUID),然后使用这个GUID进行查询。
请求=请求。post(formattedConversionUrl, auth=(appId,密码))如果在HTTP请求旁边上传一个文件# baseConversionUrl = '{}转换/转换吗?珍宝= {}&lastPage ={}格式= {}'#formattedConversionUrl = baseConversionUrl.format(# servicesUrl,firstPage, lastPage)#file = {'file': open('path/to/file', 'rb')}#request = requests.post(# formattedRecognitionUrl, auth=(appId,密码),files =文件)如果请求。Status_code = 200:打印("发送转换请求时出错")打印(request.text)sys。退出()从请求中获取GUIDGuid = request.text打印(服务返回的唯一ID:+ guid +“\ n”)
接下来,创建一个查询的GUID请求转换请求。如果成功,响应将包含JSON格式的所有请求数据。
现在,我们需要查询结果打印(“现在查询结果....”)baseQueryUrl =“{}查询?id = {} 'formattedQueryUrl = baseQueryUrl。格式(servicesUrl guid)而正确的:#轮询服务以确定请求是否已完成处理请求=请求。post(formattedQueryUrl, auth=(appId,密码))返回数据= request.json()如果returnedData [“FileStatus”= 100而且returnedData [“FileStatus”= 123:打破time . sleep (5)打印("文件已完成处理,文件状态:"+str (returnedData [“FileStatus”)))如果returnedData [“FileStatus”= 200:sys。退出()
最后,将json数据解析为可读的格式。
试一试:打印(结果:")返回djson =返回数据[“RequestData”]为requestObject in returnedJson:打印(“服务类型:”+ requestObject [“ServiceType”])如果requestObject [“ServiceType”) = =“转换”:打印(返回的url:“)为url在requestObject[“url”]:打印(url)除了例外作为艾凡:打印(“解析JSON失败”)打印(e)
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,就会出现控制台,应用程序将显示一个链接,指向从返回的JSON数据转换过来的文件。
本教程展示了如何通过LEADTOOLS云服务API转换文件。