"Not implemented" Exception when using pywin32 to control Adobe Acrobat

Я написал скрипт на python с использованием pywin32 для сохранения pdf-файлов в текст, который до недавнего времени работал нормально. Я использую аналогичные методы в Excel. Код приведен ниже:

def __pdf2Txt(self, pdf, fileformat="com.adobe.acrobat.accesstext"):
    outputLoc = os.path.dirname(pdf)
    outputLoc = os.path.join(outputLoc, os.path.splitext(os.path.basename(pdf))[0] + '.txt')

    try:
        win32com.client.gencache.EnsureModule('{E64169B3-3592-47d2-816E-602C5C13F328}', 0, 1, 1)
        adobe = win32com.client.DispatchEx('AcroExch.App')
        pdDoc = win32com.client.DispatchEx('AcroExch.PDDoc')
        pdDoc.Open(pdf)
        jObject = pdDoc.GetJSObject()
        jObject.SaveAs(outputLoc, "com.adobe.acrobat.accesstext")
    except:
        traceback.print_exc()
        return False
    finally:
        del jObject
        pdDoc.Close()
        del pdDoc
        adobe.Exit()
        del adobe

Однако этот код внезапно перестал работать, и я получаю следующий результат:

Traceback (most recent call last):
  File "C:\Documents and Settings\ablishen\workspace\HooverKeyCreator\src\HooverKeyCreator.py", line 38, in __pdf2Txt
    jObject.SaveAs(outputLoc, "com.adobe.acrobat.accesstext")
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 505, in __getattr__
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
com_error: (-2147467263, 'Not implemented', None, None)
False

У меня есть аналогичный код, написанный на VB, который работает правильно, поэтому я предполагаю, что это как-то связано с тем, что COM-интерфейсы не связываются с соответствующими функциями правильно? (мои познания в COM обрывочны).

11
задан Subhobroto 28 October 2014 в 04:10
поделиться