from win32com.client.dynamic import ERRORS_BAD_CONTEXT as ebc
from win32com.client import DispatchEx as de
import winerror, os
if winerror.E_NOTIMPL not in ebc:
ebc.append(winerror.E_NOTIMPL)
adb = de("AcroExch.App")
adc = de("AcroExch.AVDoc")
src = "e://test1.pdf"
dst = "e://test1.eps"
if os.path.exists(dst):
os.remove(dst)
tp = "com.adobe.acrobat.eps"
# "eps": "com.adobe.acrobat.eps"
# "html", "htm": "com.adobe.acrobat.html"
# "jpeg", "jpg", "jpe": "com.adobe.acrobat.jpeg"
# "jpf", "jpx", "jp2", "j2k", "j2c", "jpc": "com.adobe.acrobat.jp2k"
# "docx": "com.adobe.acrobat.docx"
# "doc": "com.adobe.acrobat.doc"
# "png": "com.adobe.acrobat.png"
# "ps": "com.adobe.acrobat.ps"
# "rft": "com.adobe.acrobat.rft"
# "xlsx": "com.adobe.acrobat.xlsx"
# "xls": "com.adobe.acrobat.spreadsheet"
# "txt": "com.adobe.acrobat.accesstext"
# "tiff", "tif": "com.adobe.acrobat.tiff"
# "xml": "com.adobe.acrobat.xml-1-00"
jso = None
pdc = None
try:
if adc.Open(src, ""):
pdc = adc.GetPDDoc()
jso = pdc.GetJSObject()
jso.SaveAs(dst, tp)
except Exception as e:
print(e)
finally:
adc.Close(True)
adc = None
adb = None
pdc = None
jso = None