本教程展示如何在Python应用程序中使用LEADTOOLS云服务合并文档。
概述 | |
---|---|
总结 | 本教程介绍如何制作合并 请求并使用Python应用程序中的LEADTOOLS云服务处理结果。 |
完成时间 | 30分钟 |
项目 | 下载教程项目(2kb) |
平台 | LEADTOOLS云服务API |
IDE | Visual Studio 2019 |
语言 | Python |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
请务必查看以下站点,以获得有关LEADTOOLS云服务API的信息。
LEADTOOLS服务计划提供:
服务计划 | 描述 |
---|---|
免费试用 | 免费评估 |
页面包 | 预付费页包 |
订阅 | 预付月处理页 |
要进一步了解这些产品,请参阅托管云服务页面。
如需获取应用ID和应用密码,请参见使用LEADTOOLS托管云服务创建帐户和应用程序.
随着项目的创建和请求
包添加后,编码就可以开始了。
在解决方案资源管理器,打开Merge.py
.在顶部添加以下变量。
请注意
上面写着
替换为应用程序ID
而且替换为应用程序密码
,请务必输入相应的申请编号及密码。
简单的脚本,展示如何在LEADTOOLS云服务中使用合并API。
进口的要求
导入系统
导入的时间
进口json
from enum import enum
servicesUrl =“https://azure.leadtools.com/api/”
#应用程序ID。
appId =“替换为应用程序ID”
#应用程序密码。
密码=“替换为应用程序密码”
#转换输出格式。
类FormatsEnum(枚举):
Png = 1
Jpeg = 2
Tiff = 3
Pdf = 4
Pdfa = 5
PdfImage = 6
PdfImageOverText = 7
PdfaImageOverText = 8
Docx = 9
DocxFramed = 10
Rtf = 11
RtfFramed = 12
Txt = 13
TxtFramed = 14
为了方便合并
请求,创建以下函数:def upload_url_for_merge (fileUrl)
-这将提交一个Url文件到服务器,并返回一个GUID。def upload_file_for_merge(路径)
-向服务器提交一个本地文件并返回一个GUID。def check_file_verification (id)
-这将验证文件是通过提供的GUID提交给服务器的。
将文件从URL上传到LEADTOOLS云服务,并与合并API命令一起使用。
def upload_url_for_merge (fileUrl):
baseUploadUrl =“{}还是?文件url={}&forMerge=true'
formattedUploadUrl = baseUploadUrl。格式(servicesUrl fileUrl)
请求=请求。post(formattedUploadUrl, auth=(appId,密码))
如果请求。Status_code = 200:
打印("发送文件上传请求错误:"+ fileUrl)
打印(request.text)
sys。退出()
返回request.text
将文件上传到LEADTOOLS云服务,并与合并API命令一起使用。
def upload_file_for_merge(路径):
baseUploadUrl =“{}UploadFile&forMerge = true”
formattedUploadUrl = baseUploadUrl.format(服务url)
文件= {“文件”:打开(路径,rb的)}
请求=请求。post(formattedUploadUrl, auth=(appId,密码),files =文件)
如果请求。Status_code = 200:
打印("发送文件上传请求错误:"+路径)
打印(request.text)
sys。退出()
返回request.text
检查文件是否通过验证过程的函数。
def check_file_verification (id):
baseQueryUrl =“{}查询?id = {} '
formattedQueryUrl = baseQueryUrl。格式(servicesUrl id)
returnedData =""
而正确的:
请求=请求。post(formattedQueryUrl, auth=(appId,密码))
返回数据= request.json()
#我们将检查以确保文件已通过验证。有关可能的文件状态的完整列表,请参阅我们的文档:188宝金博安卓下载
# https://services.leadtools.com/188宝金博安卓下载documentation/api-reference/query
如果returnedData [“FileStatus”= 123:
打破
time . sleep (5)
如果returnedData [“FileStatus”= 122:
打印("文件未通过文件状态的验证过程:"+ returnedData [“FileStatus”])
返回假
返回真正的
创建函数后,现在可以调用它们,并提交和验证文件。
我们将通过URl上传文件。也可以通过向请求添加PostFile来传递文件。每个请求只接受一个文件。
#合并Api要求你上传带有forMerge参数的文件。上传并标记为forMerge的文件与其他LEADTOOLS云服务API功能不兼容。
tiffFileURL =气管无名动脉瘘管的http://demo.leadtools.com/images/cloud_samples/ocr1 - 4.的
firstFileId = upload_url_for_merge(tiffFileURL)
打印("第一个文件ID: "+ firstFileId)
#在这一点上,文件已成功上传到LEADTOOLS云服务,并正在进行验证。在继续之前,我们需要确保上传的文件已通过验证
如果check_file_verification(firstFileId) == False:
sys。退出()
#我们现在将上传我们想合并的第二个文件
pdfFileUrl =“https://demo.leadtools.com/images/pdf/leadtools.pdf”
secondFileId = upload_url_for_merge(pdfFileUrl)
打印("第二个文件ID: "+ secondFileId)
如果check_file_verification(secondFileId) == False:
sys。退出()
一旦从两个提交的文件和其他合并信息中完成收集guid,然后处理合并
请求。这将发送一个合并
请求到LEADTOOLS云服务API,如果成功,将返回一个唯一标识符(GUID),然后使用这个GUID进行查询。
现在我们需要为合并Api命令创建JSON主体响应
Data = []
firstFileData = {}
#传递文件中的每一页
firstFileData [“珍宝”= 1
firstFileData [“lastPage”= -1
firstFileData [“文件标识”= firstFileId
data.append (firstFileData)
secondFileData = {}
#确保该文件的页面以特定的顺序合并。
secondFileData [“页面”] = [5,1,2,4,3]
secondFileData [“文件标识”= secondFileId .
data.append (secondFileData)
#合并文件的输出格式
mergeFormat = FormatsEnum.Pdf.value
baseMergeUrl =“{}转换/合并?格式= {}'
formattedMergeUrl = baseMergeUrl。格式(servicesUrl mergeFormat)
请求=请求。post(formattedMergeUrl, auth=(appId,密码),json=data)
如果请求。Status_code = 200:
打印("发送合并请求错误")
打印(request.text)
sys。退出()
接下来,创建一个查询
的GUID请求合并
请求。如果成功,响应将包含JSON格式的所有请求数据。
此时,服务器已经成功接收到合并请求,并正在处理。
baseQueryUrl =“{}查询?id = {} '
formattedQueryUrl = baseQueryUrl。格式(servicesUrl firstFileId)
#轮询服务以确定请求是否已完成处理
而正确的:
请求=请求。post(formattedQueryUrl, auth=(appId,密码))
返回数据= request.json()
如果returnedData [“FileStatus”= 100:
打破
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合并文件。