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

UFT对于PDF 文档的操作方法 VBS代码的更多相关文章

  1. java实现在线浏览PDF文档功能

    实现在线浏览pdf文档功能(本代码适用于项目服务中固定的并且少量的pdf浏览,比如注册时的注册条款在线浏览等): //设置响应内容类型为PDF类型 response.setContentType(&q ...

  2. Python监控进程性能数据并画图保存为PDF文档

    引言 利用psutil模块(https://pypi.python.org/pypi/psutil/),可以很方便的监控系统的CPU.内存.磁盘IO.网络带宽等性能參数,下面是否代码为监控某个特定程序 ...

  3. 【转载】 C#工具类:使用iTextSharp操作PDF文档

    iTextSharp是一个用于操作PDF文件的组件DLL程序,在C#程序中可以引用iTextSharp组件,用于开发与PDF文件相关的报表等功能,利用iTextSharp组件提供出来的方法接口,我们可 ...

  4. [.NET开发] C# 合并、拆分PDF文档

    在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供极 ...

  5. CAD文件打印为PDF文档

    标题: CAD文件打印为PDF文档 作者: 梦幻之心星 347369787@QQ.com 标签: [CAD, 打印, 转换] 目录: 软件 日期: 2019-5-28 目录 CAD文件打印为PDF文档 ...

  6. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  7. C# 复制PDF页面到另一个PDF文档

    C# 复制PDF页面到另一个PDF文档 有时候我们可能有这样一个需求,那就是把PDF页面从一个PDF文档复制到另一个PDF文档中.由于PDF文档并不像word文档那样好编辑,因此复制也相对没有那么容易 ...

  8. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  9. Java实现office文档与pdf文档的在线预览功能

    最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...

随机推荐

  1. guava cache 缓存

    1.guava缓存 新建一个缓存对象cache,当取不到key对应的值时,生成一个,并插入到cache中 LoadingCache<String,String> cache = Cache ...

  2. ALD技术,相机去噪,图像传感器

    ALD技术,相机去噪,图像传感器 1. 作为镜片的防反射涂层技术被关注的ALD(atomic layer deposition)的引入趋势. (a)为什么需要一种新的防止反射的涂层技术? ALD被认为 ...

  3. CVPR2020论文解读:CNN合成的图片鉴别

    CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot... for now> 论文链接:h ...

  4. 视觉SLAM技术应用

    视觉SLAM技术应用 SLAM技术背景 SLAM技术全称Simultaneous localization and mapping,中文为"同时定位与地图构建".SLAM可以在未知 ...

  5. AI基础架构Pass Infrastructure

    AI基础架构Pass Infrastructure Operation Pass OperationPass : Op-Specific OperationPass : Op-Agnostic Dep ...

  6. ADAS测试

    ADAS测试 1.  ADAS​和​自动​驾驶​测试 AD​和​高级​驾驶​辅助​系统​(ADAS)​正在​不断​增加​新的​雷达.​摄像​头.​激光​雷达​和​GNSS​传感器,​甚至​也在​改变​ ...

  7. CodeGen结构循环回路

    CodeGen结构循环回路 structure循环是一个模板文件构造,它允许您迭代CodeGen拥有的有关结构的集合.为了使用结构循环,必须同时基于多个存储库结构生成代码. CodeGen可以通过以下 ...

  8. NVIDIA GPU的神经网络自动调度

    NVIDIA GPU的神经网络自动调度 针对特定设备和工作负载的自动调整对于获得最佳性能至关重要.这是一个关于如何使用自动调度器为NVIDIA GPU调整整个神经网络的资料. 为了自动调整一个神经网络 ...

  9. Docker Buildx插件

    Docker Buildx插件 Overview Docker Buildx是一个CLI插件,它扩展了Docker命令,完全支持Moby BuildKit builder toolkit提供的功能.它 ...

  10. the rust book 的简单入门笔记

    rust learning day 1 (2021/05/27) 学了常量,变量,数据类型,控制流,所有权 char 的宽度是4字节,一个 unicode 的宽度 控制流条件都不要括号 rust 中的 ...