rpa_pdf_extract_words
获取已打开PDF文件指定页码的每行文本信息列表
1. 函数
rpa_pdf_extract_words(pdfId,pageIndex = -1)
- pdfId:字符串类型,PDF操作符,通过rpa_pdf_open返回;
- pageIndex :指定页码 如果为-1 则获取所有页面的每行文本列表信息
2. 返回值
若执行成功则返回相应页码的每行文本列表信息。
若返回None表示执行失败,通过rpa_getLastErrorCode()获取错误码,rpa_getLastErrorMsg()获取错误信息。
返回值格式:
[{'x0': Decimal('50.400'), 'x1': Decimal('282.400'), 'top': Decimal('48.014'), 'bottom': Decimal('69.422'), 'text': '附件2:乙方信息及合作品类品牌'}, {..}]
3. 示例
#打开PDF文件
pdfId = rpa_pdf_open("d:/test.pdf")
#打开失败结束流程
if not pdfId:
rpa_log(rpa_getLastErrorCode())
rpa_log(rpa_getLastErrorMsg())
rpa_exit()
#获取PDF文件总页码,若返回0,则表示发生错误
if rpa_pdf_pages(pdfId) == 0:
rpa_log(rpa_getLastErrorCode())
rpa_log(rpa_getLastErrorMsg())
rpa_exit()
#获取PDF指定页的文本内容,可以对文本进行相应操作
#若pageIndex使用默认参数-1,比pageText为整个PDF文档的所有文本内容
pageText = rpa_pdf_extract_text(pdfId,9)
if not pageText:
rpa_log(rpa_getLastErrorCode())
rpa_log(rpa_getLastErrorMsg())
rpa_exit()
reg = re.compile(r'乙方承诺在\s*【(\s*\d*\s*|\s*/\s*)】\s*(选择1或2或3或4)(1)每年度(2)每半年度(3)每季度(4)每月度')
result = reg.search(pageText)
try:
findInfo = result.group(1).strip()
except IndexError:
rpa_log("解析失败")
rpa_exit()
#获取打开PDF文件指定页码的每行文本列表
wordArr = rpa_pdf_extract_words(pdfId,pageIndex = 9)
if not wordArr:
rpa_log(rpa_getLastErrorCode())
rpa_log(rpa_getLastErrorMsg())
rpa_exit()
for word in wordArr:
rpa_log(word['text'])
#获取打开PDF文件指定页码的表格数据
tables = rpa_pdf_extract_tables(pdfId,pageIndex=0)
if not tables:
rpa_log(rpa_getLastErrorCode())
rpa_log(rpa_getLastErrorMsg())
rpa_exit()
for index in range(len(tables)):
rpa_log("第%d个表格行数据" % index)
for row in range(len(tables[index])):
rpa_log(tables[index][row]
#关闭PDF文件,调用该接口后,pdfId失效,无法进行相应的PDF操作
if not rpa_pdf_close(pdfId):
rpa_log(rpa_getLastErrorCode())
rpa_log(rpa_getLastErrorMsg())