在文档智能中怎么直接把本地PDF文件上传之后的结果输出成一个Excel文件,可以给一个Python代码吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要在文档智能中将本地PDF文件上传并转换为Excel文件,您可以使用阿里云提供的SubmitConvertPdfToExcelJobAdvance
接口。以下是基于Python SDK的代码示例,展示如何实现这一功能。
# -*- coding: utf-8 -*-
from alibabacloud_docmind_api20220711.client import Client as DocmindApiClient
from alibabacloud_tea_openapi.models import Config
from alibabacloud_docmind_api20220711.models import SubmitConvertPdfToExcelJobAdvanceRequest
from alibabacloud_tea_util.models import RuntimeOptions
from alibabacloud_credentials.client import Client as CredClient
def create_client():
"""
创建并初始化客户端。
"""
# 使用默认凭证初始化Credentials Client
cred = CredClient()
config = Config(
# 通过credentials获取配置中的AccessKey ID
access_key_id=cred.get_credential().get_access_key_id(),
# 通过credentials获取配置中的AccessKey Secret
access_key_secret=cred.get_credential().get_access_key_secret()
)
# 设置访问域名
config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com"
return DocmindApiClient(config)
def submit_pdf_to_excel_job():
"""
提交PDF转Excel任务并获取结果。
"""
client = create_client()
# 打开本地PDF文件
file_path = "./example.pdf" # 替换为您的PDF文件路径
with open(file_path, "rb") as file:
request = SubmitConvertPdfToExcelJobAdvanceRequest(
file_url_object=file, # 本地文件流
file_name="example.pdf", # 文件名,需包含后缀
force_merge_excel=False # 是否强制合并为一个sheet,默认为False
)
runtime = RuntimeOptions()
try:
# 提交异步任务
response = client.submit_convert_pdf_to_excel_job_advance(request, runtime)
print("提交任务成功,返回结果:")
print(response.body)
# 获取业务订单号,用于后续查询任务状态
job_id = response.body.data.id
print(f"任务ID: {job_id}")
except Exception as error:
print("提交任务失败,错误信息:")
print(error.message)
if __name__ == "__main__":
submit_pdf_to_excel_job()
创建客户端:
CredClient
从默认凭证中获取AccessKey ID
和AccessKey Secret
。docmind-api.cn-hangzhou.aliyuncs.com
。提交任务:
SubmitConvertPdfToExcelJobAdvance
接口,支持本地文件上传方式。file_url_object
参数用于传递本地文件流。file_name
参数指定文件名(需包含.pdf
后缀)。force_merge_excel
参数控制是否将所有内容合并到一个Sheet中,默认为False
。处理响应:
RequestId
和Data
字段。Data.Id
是业务订单号,用于后续查询任务状态。轮询结果:
GetDocumentConvertResult
接口轮询任务状态,建议每10秒轮询一次,最多轮询120分钟。alibabacloud-docmind-api20220711
和alibabacloud-credentials
。通过上述代码,您可以轻松实现将本地PDF文件上传并转换为Excel文件的功能。如果需要进一步查询任务状态,请参考GetDocumentConvertResult
接口的相关文档。