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文件的页数
'假设:无
'输入:无
'返回值:无
'创建者:
'创建时间:
'修改者:
'修改原因:
'修改时间:
'*************************************************************'
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:\test.pdf")
MsgBox "test.pdf 总页数为 " & pagenum

#########################################################

QTP检查PDF中是否存在某段文本

#########################################################

'*************************************************************'
'函数/过程名称:CheckText()
'函数/过程的目的:查看PDF文件中是否的包含某段文字
'假设:无
'输入:无
'返回值:无
'创建者:lee
'创建时间:
'修改者:
'修改原因:
'修改时间:
'*************************************************************

Function CheckText(obj,text)
flag = obj.FindText(text,true,true,false)
CheckText = flag
End Function

Dim AcroApp, AcroAVDoc
Dim gPDFPath
gPDFPath = "d:\test.pdf"

Set AcroApp = CreateObject( "AcroExch.App" )
AcroApp.Show()
Set AcroAVDoc = CreateObject( "AcroExch.AVDoc" )

If AcroAVDoc.Open( gPDFPath, "" ) Then

msgbox "find text" +CStr(CheckText(AcroAVDoc,"string"))

End If
AcroApp.CloseAllDocs()
AcroApp.Exit()
Set AcroApp = Nothing

参考: 基于 Perfecto Mobile 的移动端自动化测试实践

https://www.ibm.com/developerworks/cn/mobile/mo-cn-perfecto/index.html

CEF:

http://blog.csdn.net/mergerly/article/details/18713439

https://www.ibm.com/developerworks/cn/mobile/mo-cn-perfecto/index.html

最新文章

  1. ios中自定义tableView,CollectionView的cell什么时候用nib加载,什么时候用标识重用
  2. 【Javascript】好用的js弹层插件,layerUI
  3. jQuery常用API
  4. 问题解决——Win7 64 安装 AutoCAD 2010 32位 和 清华天河PC CAD
  5. logo上线
  6. rm命令
  7. 获取Pid
  8. Spark操作HBase问题:java.io.IOException: Non-increasing Bloom keys
  9. Jpa中设置OneToMany插入报异常解决办法
  10. 拿到6个重磅offer的大神,超详细面试经验总结
  11. 【Android Studio安装部署系列】六、在模拟器上运行项目
  12. VS2017 异常 Editor or Editor Extension
  13. Centos7 Install Kubernetes
  14. php分词工具scws
  15. Eclipse 02: 安装spring tool suite插件
  16. vue和webpack打包 项目相对路径修改
  17. Linux下svn常用指令【转】
  18. Linux学习 :移植U-boot_2012.04.01到JZ2440开发板
  19. tomcat 启动 证书异常java.io.IOException: Alias name [cas] does not identify a key entry
  20. SoC FPGA开发板的FPGA配置数据下载和固化

热门文章

  1. Linux系统挂载NFS文件系统
  2. openresty 学习笔记六:使用session库
  3. 项目记事【Git】:git pull 出错 error: cannot lock ref 'refs/remotes/origin/feature/hy78861': is at d4244546c8cc3827491cc82878a23c708fd0401d but expected a6a00bf2e92620d0e06790122bab5aeee01079bf
  4. TinyML-TVM是如何驯服Tiny的(下)
  5. 工作流引擎Activiti使用进阶!详细解析工作流框架中高级功能的使用示例
  6. 为IHttpClientFactory添加动态命名配置
  7. 『无为则无心』Python基础 — 2、编译型语言和解释型语言的区别
  8. 排查bug:竟然是同事把Redis用成这鬼样子,坑了我
  9. 【模拟8.09】建设城市(city) (容斥)
  10. 管理后台Vue