Adobe Acrobat DC和Python automation

2024-09-30 01:23:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过在adobeacrobatprodc中打开PDF文件,然后使用该版本中可用的函数将所有数据导出到excel电子表格中,从而实现自动化。在

有没有办法让我有一个脚本来打开PDF文件并将该文件中的所有数据导出到Excel表格中?

有没有办法用pywin32打开PDF,然后将文件保存为Excel或CSV?在

这是我试图使用的代码,但它不起作用

import win32com.client
import win32com.client.makepy

win32com.client.makepy.GenerateFromTypeLibSpec('Acrobat')
adobe = win32com.client.DispatchEx('AcroExch.App')
avDoc = win32com.client.DispatchEx('AcroExch.AVDoc')
avDoc.Open('Input.pdf', 'C:\\Users\\PDF\\')
pdDoc = avDoc.GetPDDoc()
jObject = pdDoc.GetJSObject()
jObject.SaveAs('Output.xlsx', "com.adobe.acrobat.xlsx")

Tags: 文件数据importclientpdfexcelwin32comadobe
2条回答

上面的答案很适合将PDF转换为Excel。在

我用它作为一个例子,并对其进行了修改,将PDF-PPTX文件转换回本机PowerPoint.PPTX文件。在

只需简单地修改文件扩展名和名称。此解决方案要求我在本地安装Adobe Acrobat Professional。(我有Acrobat X。)Python脚本调用Adobe Acrobat Exchange应用程序(Acrobat Pro的一部分)。而且它不比我已经拥有的Acrobat Pro许可证花费更多。在

唯一的问题是我不知道如何在转换过程完成后关闭文件和应用程序。它让adobeacrobat进程在后台运行,我不得不用Windows任务管理器来终止它。但我可以将其用作115+个PDF-PPTX文件的批量转换器的基础,我希望这些文件以PPTX格式返回以供编辑(我没有PPTX源文件)

以下是PDF到Excel的转换代码:

#%% convert PDF to Excel format.  
# Open PDF file, use Acrobat Exchange to save file as .xlsx file.
import win32com.client, win32com.client.makepy, os, winerror, errno, re
from win32com.client.dynamic import ERRORS_BAD_CONTEXT

excel_file = "output.xlsx"
output_1 = "output_1.csv"

ERRORS_BAD_CONTEXT.append(winerror.E_NOTIMPL)

src = os.path.abspath('test-conversion.pdf')

win32com.client.makepy.GenerateFromTypeLibSpec('Acrobat')
adobe = win32com.client.DispatchEx('AcroExch.App')
avDoc = win32com.client.DispatchEx('AcroExch.AVDoc')
avDoc.Open(src, src)
pdDoc = avDoc.GetPDDoc()
jObject = pdDoc.GetJSObject()
jObject.SaveAs(excel_file, "com.adobe.acrobat.xlsx")

接下来是PDF-PPTX转换器。在

^{pr2}$

这是我想出的答案:

import win32com.client, win32com.client.makepy, os, winerror, pandas as pd, errno, re
from win32com.client.dynamic import ERRORS_BAD_CONTEXT

excel_file = "output.xlsx"
output_1 = "output_1.csv"

ERRORS_BAD_CONTEXT.append(winerror.E_NOTIMPL)

src = os.path.abspath('FILE.pdf')

win32com.client.makepy.GenerateFromTypeLibSpec('Acrobat')
adobe = win32com.client.DispatchEx('AcroExch.App')
avDoc = win32com.client.DispatchEx('AcroExch.AVDoc')
avDoc.Open(src, src)
pdDoc = avDoc.GetPDDoc()
jObject = pdDoc.GetJSObject()
jObject.SaveAs(excel_file, "com.adobe.acrobat.xlsx")

相关问题 更多 >

    热门问题