考虑与
AVDOC
对象作为链接之一显示其用法,然后生成
PDDOC
和
jsObjts
从它。确保将进程包装在
try/except/finally
阻止以有效地释放COM对象,而不考虑错误。
import os
import winerror
from win32com.client.dynamic import Dispatch, ERRORS_BAD_CONTEXT
ERRORS_BAD_CONTEXT.append(winerror.E_NOTIMPL)
my_dir = r"C:\\path\\to\\example\\"
my_pdf = "example.pdf"
os.chdir(my_dir)
src = os.path.abspath(my_pdf)
try:
AvDoc = Dispatch("AcroExch.AVDoc")
if AvDoc.Open(src, ""):
pdDoc = AvDoc.GetPDDoc()
jsObject = pdDoc.GetJSObject()
jsObject.SaveAs(os.path.join(my_dir, 'output_example.jpeg'), "com.adobe.acrobat.jpeg")
except Exception as e:
print(str(e))
finally:
AvDoc.Close(True)
jsObject = None
pdDoc = None
AvDoc = None