1、首先需要安装Adobe Acrobat,而不是Adobe Reader
2、理解AcroExch.App 、AcroExch.AVDoc、AcroExch.PODoc
App 主要管理应用级别的对象信息,比如说Acrobat对象的窗口、大小等
AVDoc对象主要管理Acrobat视图级别的操作
PODoc对象主要管理Acrobat文档级别的对象操作
具体可以参考如下链接:
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?&accessible=true
'*************************************************************'
'函数/过程名称:GetNumPdf()
'函数/过程的目的:统计PDF文件的页数
'假设:无
'输入:无
'返回值:无
'创建者:lee
'创建时间:2010/10/11
'修改者:
'修改原因:
'修改时间:
'*************************************************************'
Function GetNumPdf(filename)
Dim GetDoc
'调用PDF的COM组件(PDDoc对Acrobat文档级别的对象进行操作)
Set GetDoc = CreateObject ("AcroExch.PDDoc")
'打开PDF文件并获取页面数目
If GetDoc.open(filename) Then
GetNumPdf = GetDoc.GetNumPages()
Set GetDoc = Nothing
Else
MsgBox "不存在"
End If
End Function
Dim pagenum
pagenum = GetNumPdf ("D:\2010最新实木复合地板十大品牌.pdf")
MsgBox "2010最新实木复合地板十大品牌.pdf 总页数为 " & pagenum
#########################################################
QTP检查PDF中是否存在某段文本
#########################################################
'*************************************************************'
'函数/过程名称:CheckText()
'函数/过程的目的:查看PDF文件中是否的包含某段文字
'假设:无
'输入:无
'返回值:无
'创建者:lee
'创建时间:2009/12/11
'修改者:
'修改原因:
'修改时间:
'*************************************************************
Function CheckText(obj,text)
flag = obj.FindText(text,true,true,false)
CheckText = flag
End Function
Dim AcroApp, AcroAVDoc
Dim gPDFPath
gPDFPath = "d:\2010最新实木复合地板十大品牌.pdf"
Set AcroApp = CreateObject( "AcroExch.App" )
AcroApp.Show()
Set AcroAVDoc = CreateObject( "AcroExch.AVDoc" )
If AcroAVDoc.Open( gPDFPath, "" ) Then
msgbox "查找文本——生活家——" +CStr(CheckText(AcroAVDoc,"生活家"))
End If
AcroApp.CloseAllDocs()
AcroApp.Exit()
Set AcroApp = Nothing
自己运行时,被测对象【2010最新实木复合地板十大品牌.pdf】中存在“生活家”三个字,如下图,因此运行后的,结果应该为 【查找文本——生活家——True】