Tôi đã viết một tập lệnh bằng python sử dụng pywin32 để lưu tệp pdf vào văn bản cho đến khi gần đây hoạt động tốt. Tôi sử dụng các phương pháp tương tự trong Excel. Mã này là dưới đây:"Không được triển khai" Ngoại lệ khi sử dụng pywin32 để điều khiển Adobe Acrobat
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
Tuy nhiên mã này đã đột ngột ngừng làm việc và tôi nhận được kết quả như sau:
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
Tôi có mã tương tự viết bằng VB mà làm việc một cách chính xác vì vậy tôi đoán rằng nó có gì để làm với các giao diện COM không ràng buộc với các chức năng thích hợp một cách chính xác? (kiến thức COM của tôi là rất nhiều).
Liệu PDF này có lưu quyền sử dụng? (Dự đoán tự nhiên dựa trên tài liệu này: "Phương pháp này có sẵn trong Adobe Reader cho các tài liệu có quyền sử dụng Lưu.) –
Có vẻ như tôi chưa kích hoạt chúng và vẫn gặp lỗi tương tự. Ngoài ra tôi đang sử dụng adobe acrobat để chạy mã: – Blish