我在VBA(MS Office 2010)工作,想要从我经常在Outlook中收到的PDF附件中提取一些关键词。
我计划将PDF保存为Word文档并从中提取文本,但显然我无法以编程方式执行此操作,因为我使用的是Acrobat X Standard(似乎我需要Pro)。
因此,我现在正在寻找一种方法,使用Acrobat Library方法将所有文本从PDF文档复制到Windows剪贴板。然后我将粘贴到Word中(手动完成时此复制/粘贴工作正常 - 没有文本损坏)。
我使用Acrobat的经验非常有限,我正在审核Acrobat SDK资源等,但证明具有挑战性。
如何选择PDF文档中的所有文本并使用VBA中的Acrobat Library方法将其复制到Windows剪贴板?
答案 0 :(得分:0)
作为参考,我使用下面的代码解决了。
这会快速将PDF文件转换为文本文件,然后可以从中选择关键词并将其读入字符串,放入剪贴板等。
这适用于Adobe 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