0

我正在使用 VBA (MS Office 2010) 并希望从我经常在 Outlook 中收到的 PDF 附件中提取一些关键词。

我计划将 PDF 保存为 Word 文档并从中提取文本,但显然我无法以编程方式执行此操作,因为我使用的是 Acrobat X Standard(似乎我需要 Pro)。

因此,我现在正在寻找一种使用 Acrobat 库方法将所有文本从 PDF 文档复制到 Windows 剪贴板的方法。然后我将粘贴到 Word 中(手动完成此复制/粘贴工作正常 - 不会损坏文本)。

我使用 Acrobat 的经验非常有限,并且正在审查 Acrobat SDK 资源等,但证明具有挑战性。

如何使用 VBA 中的 Acrobat 库方法选择 PDF 文档中的所有文本并将其复制到 Windows 剪贴板?

4

1 回答 1

0

作为参考,我使用下面的代码解决了。

这可以快速将 PDF 文件转换为文本文件,然后可以从那里选择关键词并将其读入字符串、放入剪贴板等。

这适用于 Adob​​e X Standard。

代码来自http://forum.chandoo.org/threads/vba-to-convert-pdf-to-txt.14245/

Dim AcroXApp As Acrobat.AcroApp
Dim AcroXAVDoc As Acrobat.AcroAVDoc
Dim AcroXPDDoc As Acrobat.AcroPDDoc
Dim Filename As String
Dim jsObj As Object
Dim NewFileName As String

Filename = "C:\Documents and Settings\xxx\Desktop\file01.pdf"
NewFileName = "U:\file.txt"

Set AcroXApp = CreateObject("AcroExch.App")
'AcroXApp.Show

Set AcroXAVDoc = CreateObject("AcroExch.AVDoc")
AcroXAVDoc.Open Filename, "Acrobat"
AcroXApp.Hide 'my additon - needed?

Set AcroXPDDoc = AcroXAVDoc.GetPDDoc

Set jsObj = AcroXPDDoc.GetJSObject

jsObj.SaveAs NewFileName, "com.adobe.acrobat.plain-text"

AcroXAVDoc.Close False
AcroXApp.Hide
AcroXApp.Exit

End Sub
于 2017-05-13T21:40:28.133 回答