import os
import winerror
from win32com.client.dynamic import Dispatch, ERRORS_BAD_CONTEXT
my_pdf = 'BDV-HCR20-20042-BF.pdf'
src = os.path.abspath(my_pdf)
try:
AvDoc = Dispatch("AcroExch.AVDoc")
if AvDoc.Open(src, ""):
pdDoc = AvDoc.GetPDDoc()
jsObject = pdDoc.GetJSObject()
print(jsObject.getField("topmostSubform[0].DateTimeField6[0]"))
except Exception as e:
print(str(e))
finally:
AvDoc.Close(True)
jsObject = None
pdDoc = None
AvDoc = None
我在excel中编写了一个VBA脚本来检索adobe XFA表单(LiveCycle中制作的pdf)的值,并使用VBA中的JSObject.GetField函数检索每个字段的值
不过,我希望使用python而不是VBA与Adobe进行交互,但我无法确定需要使用什么才能使python/Adobe为我提供字段值。使用https://stackoverflow.com/a/51678639/15639887作为打开acrobat的基础
我打算做的是打开acrobat/pdf,读取字段的值,然后关闭它。对于VBA,我使用jso.GetField()来获取它,但是GetField(任何大写形式)在python中都不起作用。我之所以需要打开acrobat并使用JSO,是因为pdf是XFA文件,我还没有找到一种方法,可以使用任何pdf库从其中一个文件中检索XML数据,而pdf库的格式不难解析
我不能继续使用VBA,因为它更新了一些东西,现在我不能再在任务调度器上使用python启动excel了,所以这是我尝试解决的问题
任何指导都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐