2017-04-20 169 views
0

我正在使用VBA(MS Office 2010),並且想要從Outlook中定期收到的PDF附件中提取一些關鍵詞。將所有文本從PDF複製到Windows剪貼板

我打算將PDF文件保存爲Word文檔並從這些文檔中提取文本,但顯然我無法以編程方式執行此操作,因爲我使用的是Acrobat X Standard(似乎我需要Pro)。

因此,我正在尋找一種方法,使用Acrobat Library方法將PDF文檔中的所有文本複製到Windows剪貼板。然後,我將粘貼到Word中(此複製/粘貼在手動完成時工作正常 - 沒有文本損壞)。

我與Acrobat合作的經驗非常有限,我正在審閱Acrobat SDK資源等,但這充滿了挑戰性。

如何使用VBA中的Acrobat Library方法選擇PDF文檔中的所有文本並將其複製到Windows剪貼板?

+0

...或者你可以升級。 Acrobat XI Standard和DC Standard均允許通過VBA導出爲Office格式。 – joelgeraci

+0

很高興知道,在工作中,但會檢查是否可能 –

回答

0

僅供參考,我使用下面的代碼解決了問題。

這很快覆羽PDF文件轉換爲文本文件,並從那裏關鍵詞可以選擇並讀入一個字符串,投入到剪貼板等

這是工作與Adobe X標準。

代碼爲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