27.11.2014 Views

Foxit Reader SDK ActiveX 3

Foxit Reader SDK ActiveX 3

Foxit Reader SDK ActiveX 3

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

f<br />

Programming Guide<br />

© 福 昕 软 件 版 权 所 有 。 保 留 所 有 权 利 。<br />

未 经 福 昕 公 司 授 权 , 任 何 人 或 组 织 不 得 以 任 何 手 段 与 形 式 对 本 文 档 内 容 进 行 形 式 复 制 、 转 移 、 分 发 或 存 储 。<br />

Anti-Grain Geometry - Version 2.3, Copyright (C) 2002-2005 Maxim Shemanarev<br />

(http://www.antigrain.com/). FreeType2 (freetype2.2.1), Copyright (C) 1996-2001, 2002, 2003, 2004|<br />

David Turner, Robert Wilhelm, and Werner Lemberg. LibJPEG (jpeg V6b 27- Mar-1998),<br />

Copyright (C) 1991-1998 Independent JPEG Group. ZLib (zlib 1.2.2),<br />

Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler. Little CMS, Copyright (C) 1998-2004 Marti Maria. Kakadu,<br />

Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW). PNG, Copyright (C)<br />

1998-2009 Glenn Randers-Pehrson. LibTIFF, Copyright (C) 1988-1997 Sam Leffler and Copyright (C)<br />

1991-1997 Silicon Graphics, Inc.<br />

在 所 有 副 本 中 的 版 权 提 示 允 许 的 情 况 下 , 您 可 以 复 制 、 使 用 、 修 改 、 出 售 和 散 布 该 软 件 。 此 软 件 不 含 任<br />

何 隐 藏 条 款 , 对 于 使 用 本 软 件 所 产 生 的 任 何 后 果 , 均 由 用 户 本 人 承 担 。<br />

2


Programming Guide<br />

目 录<br />

概 述 ...................................................................................................................................... 5<br />

教 程 ...................................................................................................................................... 6<br />

1) 打 开 一 个 PDF 文 件 .............................................................................. 6<br />

2) 跳 转 到 指 定 页 面 .................................................................................. 6<br />

3) 缩 放 页 面 ............................................................................................. 6<br />

4) 旋 转 页 面 ............................................................................................. 6<br />

5) 打 印 PDF 文 档 ..................................................................................... 6<br />

6) 隐 藏 或 者 显 示 界 面 组 件 ........................................................................ 6<br />

7) 迭 代 整 个 大 纲 树 .................................................................................. 7<br />

8) 在 PDF 文 档 中 查 找 文 本 ....................................................................... 7<br />

9) * 注 释 ................................................................................................. 7<br />

10) # 表 单 应 用 ........................................................................................... 7<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong> 控 件 ............................................................................................................. 8<br />

属 性 ........................................................................................................... 8<br />

FilePath.................................................................................................. 8<br />

Password ................................................................................................ 8<br />

PageCount .............................................................................................. 8<br />

CurPage ................................................................................................. 8<br />

Rotate .................................................................................................... 8<br />

Zoomlevel .............................................................................................. 9<br />

CurrentTool ............................................................................................ 9<br />

Printer ................................................................................................. 10<br />

*bHasFormFields .................................................................................. 10<br />

DocumentInfo........................................................................................11<br />

*bHighlightFormFields............................................................................11<br />

*FormFieldsHighlightAlpha .....................................................................11<br />

*FormFieldsHighlightColor ......................................................................11<br />

<strong>ActiveX</strong>Version ...................................................................................... 12<br />

方 法 .................................................................................. …………….. ..13<br />

1) 打 开 和 关 闭 PDF 文 件 ..................................................................... 13<br />

2) 视 图 .............................................................................................. 15<br />

3) 导 航 .............................................................................................. 19<br />

4) 查 找 .............................................................................................. 23<br />

5) 大 纲 .............................................................................................. 25<br />

6) 保 存 .............................................................................................. 26<br />

7) * 注 释 ............................................................................................ 26<br />

8) 表 单 .............................................................................................. 27<br />

9) 绘 画 .............................................................................................. 29<br />

10) * 运 行 Javascript .......................................................................... 30<br />

11) * 超 级 链 接 .................................................................................. 30<br />

3


Programming Guide<br />

12) 其 他 ........................................................................................... 32<br />

事 件 ......................................................................................................... 40<br />

# PDFForm ............................................................................................................................ 44<br />

方 法 ......................................................................................................... 44<br />

PDFFormField ...................................................................................................................... 47<br />

属 性 ......................................................................................................... 47<br />

方 法 ......................................................................................................... 52<br />

PDFPrinter ........................................................................................................................... 56<br />

属 性 ......................................................................................................... 56<br />

方 法 ......................................................................................................... 58<br />

PDFOutline .......................................................................................................................... 60<br />

方 法 ......................................................................................................... 60<br />

PDFDocumentInfo ................................................................................................................ 61<br />

属 性 ......................................................................................................... 61<br />

FindResult ........................................................................................................................... 63<br />

方 法 ......................................................................................................... 63<br />

4


Programming Guide<br />

概 述<br />

<strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong> 是 一 款 可 视 程 序 组 件 , 可 以 让 您 的 应 用 程 序 实 现 高 质 高 效 的 PDF 文<br />

档 显 示 效 果 , 其 体 积 小 巧 , 系 统 资 源 消 耗 少 , 可 迅 速 集 成 于 其 它 应 用 程 序 中 。<br />

<strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong> 与 福 昕 阅 读 器 (<strong>Foxit</strong> <strong>Reader</strong>) 使 用 相 同 的 解 析 和 显 示 引 擎 。 所 以 , 只<br />

要 福 昕 阅 读 器 能 够 打 开 的 PDF 文 件 , <strong>ActiveX</strong> 3.0 就 能 够 正 常 的 显 示 , 并 且 显 示 质 量 和 显 示 速<br />

度 与 福 昕 阅 读 器 完 全 一 致 , 毫 无 差 别 。<br />

相 对 于 <strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong>(DLL 版 本 ) 而 言 ,<strong>ActiveX</strong> 版 的 使 用 更 加 方 便 , 并 且 它 还 内 嵌 了 丰 富<br />

的 界 面 和 编 程 特 性 。 程 序 设 计 人 员 可 通 过 简 单 的 拖 放 组 件 , 迅 速 为 应 用 程 序 添 加 PDF 显 示 功<br />

能 。 该 <strong>ActiveX</strong> 还 允 许 用 户 对 PDF 文 档 进 行 各 种 操 作 , 如 页 面 导 航 、 改 变 缩 放 比 例 、 页 面 旋<br />

转 、 页 面 滚 动 及 打 印 , 等 等 。<br />

3.0 版 本 拥 有 许 多 高 级 的 PDF 功 能 。3.0 版 本 支 持 注 释 功 能 , 并 且 允 许 用 户 填 写 、 导 入 和 导 出<br />

PDF 表 单 数 据 。3.0 版 本 拥 有 更 多 的 功 能 和 事 件 , 让 程 序 员 能 够 灵 活 地 控 制 组 件 , 可 以 对 PDF<br />

进 行 更 多 的 操 作 。<br />

<strong>ActiveX</strong> 3.0 有 两 个 版 本 : 标 准 版 和 专 业 版 。 这 两 个 版 本 提 供 不 同 的 GUID 数 字 , 您 可 以 在 同 一<br />

台 电 脑 上 注 册 两 个 版 本 , 而 且 还 可 以 分 别 获 取 这 两 个 GUID。 相 对 于 专 业 版 本 , 标 准 版 本 不 具<br />

有 创 建 或 者 编 辑 注 释 、 导 入 或 者 到 处 表 单 数 据 、 运 行 JavaScript、 转 换 PDF 为 文 本 等 功 能 。 您<br />

可 以 根 据 您 的 应 用 程 序 来 选 择 <strong>ActiveX</strong> 的 版 本 。 您 可 以 在 线 购 买 标 准 版 本 和 专 业 版 本 。 如 果 您<br />

想 要 3.0 版 本 中 的 表 单 模 块 , 请 联 系 sales@foxitsoftware.com 了 解 授 权 信 息 。 在 本 开 发<br />

手 册 中 , 所 有 带 * 号 的 属 性 和 功 能 只 适 用 于 专 业 版 本 。<br />

<strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong> 可 以 在 Windows 95/NT 或 者 Windows 95/NT 之 后 的 环 境 中 运 行 。<strong>Foxit</strong><br />

<strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong> 是 一 个 单 机 的 组 件 , 不 需 要 其 他 的 PDF 软 件 来 安 装 。 请 注 意 , 在 Windows<br />

系 统 下 , 单 个 用 户 需 要 在 管 理 员 的 允 许 下 才 能 成 功 注 册 <strong>ActiveX</strong>。<br />

我 们 有 不 同 语 言 版 本 的 完 整 的 演 示 程 序 , 包 括 Visual Basic、 Visual C++、Delphi, 通 过 这 些 程<br />

序 您 可 以 了 解 到 操 作 属 性 和 方 法 的 具 体 操 作 。 请 到 www.foxitsoftware.com 下 载 演 示 程 序 。<br />

在 专 业 版 本 的 基 础 上 ,<strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong> AcitveX 3.0 添 加 了 几 个 接 口 来 支 持 PDF 表 单 域 , 允 许 用 户<br />

在 PDF 文 件 中 添 加 、 删 除 、 导 入 或 者 导 出 表 单 数 据 。 表 单 模 块 需 要 单 独 的 授 权 。 如 果 您 需 要 表 单<br />

模 块 , 请 联 系 sales@foxitsoftware.com 。<br />

UNLOCK Code: 如 果 您 已 经 成 功 购 买 <strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong> 并 且 已 经 成 功 获 得 <strong>ActiveX</strong> 的 函<br />

数 和 解 码 信 息 , 那 么 在 程 序 里 调 用 <strong>ActiveX</strong> 其 他 函 数 之 前 , 您 必 须 先 调 用 UnLock<strong>ActiveX</strong> 或<br />

者 UnLock<strong>ActiveX</strong>Ex。 这 个 函 数 在 参 考 目 录 里 有 介 绍 。 如 果 您 只 是 想 试 用 <strong>ActiveX</strong>, 您 则 无<br />

需 调 用 这 个 函 数 。<br />

5


Programming Guide<br />

教 程<br />

<strong>Foxit</strong> <strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong> 带 有 一 个 OCX 文 件 。 请 用 “regsvr32 foxitreader_ax.ocx” 命 令 来 安 装 <strong>Foxit</strong><br />

<strong>Reader</strong> <strong>SDK</strong> <strong>ActiveX</strong>。 如 果 当 前 的 目 录 没 有 “foxitreader_ax.ocx”, 您 可 能 需 要 指 定 一 个 恰 当 的 路<br />

径 来 存 储 。<br />

<strong>ActiveX</strong> 控 件 不 仅 帮 助 您 操 作 接 口 , 而 且 也 提 供 了 许 多 属 性 和 方 法 来 控 制 <strong>ActiveX</strong>。<br />

以 下 是 一 个 例 子 , 假 设 我 们 已 经 创 建 了 一 个 叫 做 <strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong> 的 <strong>ActiveX</strong> 控 件 。<br />

1) 打 开 一 个 PDF 文 件<br />

我 们 打 开 一 个 名 为 “testdoc.pdf” 的 PDF 文 件 。<br />

// 注 意 : 如 果 您 正 在 试 用 <strong>ActiveX</strong>, 您 则 无 需 解 锁 它 ,<br />

//PDF 的 所 有 页 面 都 将 显 示 水 印 标 记<br />

// 如 果 您 是 购 买 用 户 , 请 先 解 锁 <strong>ActiveX</strong>。<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>.UnLock<strong>ActiveX</strong>(“license_id”,”unlock_code”);<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>.OpenFile(“testdoc.pdf”,””);<br />

2) 跳 转 到 指 定 页 面<br />

我 们 将 跳 转 到 文 档 的 第 三 页 。<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>.GoToPage(2). // 第 一 页 的 索 引 是 0<br />

3) 缩 放 页 面<br />

如 果 您 想 显 示 PDF 原 始 大 小 页 面 , 您 可 以 在 VC 上 使 用 以 下 代 码 :<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>.SetZoomLevel(0);<br />

或<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>. SetZoomLevel(100);<br />

如 果 您 想 把 缩 放 值 定 为 200%, 请 用 以 下 代 码 :<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>. SetZoomLevel(200);<br />

欲 了 解 更 多 信 息 , 请 查 看 本 手 册 函 数 简 介 。<br />

4) 旋 转 页 面<br />

PDF 页 面 可 以 在 四 个 方 向 显 示 : 垂 直 、90 度 的 旋 转 、180 度 的 旋 转 和 270 度 的 旋 转 。 您<br />

只 需 调 用 “SetRotate()” 就 可 以 让 它 在 不 同 方 向 显 示 。<br />

如 果 您 想 顺 时 针 90 度 旋 转 页 面 , 您 可 以 使 用 VC 的 以 下 代 码 :<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>. SetRotate(1);<br />

5) 打 印 PDF 文 档<br />

调 用 “PrintWithDialog”, 然 后 PDF 文 档 将 弹 出 一 个 打 印 对 话 框 , 您 设 置 完 参 数 即 可 打 印<br />

PDF 文 档 。 如 果 您 不 想 打 印 时 弹 出 对 话 框 , 您 需 使 用 PDFPrinter 接 口 。<br />

6) 隐 藏 或 者 显 示 界 面 组 件<br />

您 可 以 调 用 “ShowToolBar” 来 隐 藏 或 者 显 示 工 具 栏 。 同 样 地 , 如 果 您 想 显 示 或 者 隐 藏<br />

书 签 面 板 , 您 需 调 用 “ShowBookmark”; 如 果 您 想 显 示 或 者 隐 藏 状 态 栏 , 您 需 调 用<br />

6


Programming Guide<br />

“ShowStatusBar”。 如 果 您 想 创 建 您 自 己 的 工 具 栏 , 您 需 隐 藏 内 置 <strong>ActiveX</strong> 工 具 栏 , 然 后 在<br />

<strong>ActiveX</strong> 外 创 建 您 自 己 的 工 具 栏 。<br />

7) 迭 代 整 个 大 纲 树<br />

您 能 通 过 调 用 “GetOutlineFirstChild” 和 “GetOutlineNextSibling” 来 迭 代 整 个 大 纲 树 , 允<br />

许 您 从 PDFOutline 接 口 查 看 大 纲 信 息 。<br />

8) 在 PDF 文 档 中 查 找 文 本<br />

您 可 调 用 “FindFirst” 在 整 个 文 档 中 查 找 第 一 例 指 定 的 文 本 。 如 果 找 不 到 , 那 么 则 返 回<br />

为 0。 如 果 有 找 到 , 则 返 回 到 一 个 不 为 0 的 值 , 并 且 高 亮 它 。 再 次 选 择 “FindNext”, 查 找<br />

下 一 个 。<br />

如 果 您 想 在 不 打 开 和 显 示 文 本 的 情 况 下 在 PDF 文 件 里 查 找 文 本 , 您 可 以 调 用<br />

“FindFileFirst” 或 者 “FindFileNext”。<br />

9) * 注 释<br />

终 端 用 户 可 以 用 不 同 的 标 注 工 具 在 PDF 文 档 中 画 线 条 、 圆 圈 或 者 其 他 形 状 的 图 形 。<br />

您 的 应 用 程 序 也 可 通 过 编 程 改 变 “CurrentTool” 的 属 性 , 例 如 设 置 成 “Line Tool”。<br />

10) # 表 单 应 用<br />

在 3.0 版 本 中 ,<strong>Foxit</strong> <strong>ActiveX</strong> 给 PDF 表 单 提 供 了 一 个 接 口 。 您 可 以 通 过 调 用<br />

“GetCurrentForm” 来 获 得 当 前 PDF 文 档 的 IForm 接 口 。 接 着 , 您 可 以 调 用 IPDFForm 和<br />

IPDFFormField 接 口 属 性 和 方 法 执 行 PDF 表 单 的 操 作 。 给 PDF 页 面 添 加 表 单 按 钮 , 代 码 如<br />

下 :<br />

CPDFformField button1 =<br />

form1.AddField("button1","button",m_nCurPage,0,0,55,30);<br />

button1.SetButtonCaption("N","Normal");<br />

button1.SetButtonCaption("R","Rollover");<br />

button1.SetButtonCaption("D","Down");<br />

button1.SetBehavior("push"); // push;Invert; None; Outline;<br />

button1.SetTooltip("reset all form");<br />

button1.SetTextFont("Courier");<br />

button1.SetTextSize(15);<br />

button1.SetJavaScriptAction("down","app.alert(\"Mouse Down!\")");<br />

7


Programming Guide<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong> 控 件<br />

本 节 讲 述 了 <strong>ActiveX</strong> 公 开 的 所 有 属 性 和 方 法 。 请 注 意 本 节 的 参 考 事 例 都 是 C 语 法 的 。 如<br />

果 您 的 编 程 语 言 不 是 C/C++, 您 必 须 遵 循 其 他 语 言 的 语 法<br />

注 意 : 标 有 * 的 功 能 只 适 用 于 专 业 版 本 。<br />

属 性<br />

FilePath<br />

类 型 :<br />

BSTR, 只 读<br />

描 述 :<br />

当 前 打 开 PDF 文 件 的 完 整 路 径 。 如 果 没 有 打 开 PDF 文 件 , 那 么 这 个 属 性 值 就 是 一 个 空<br />

的 字 符 串 。 您 可 以 通 过 GetFilePath 来 获 得 FilePath 的 值 ( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

Password<br />

类 型 :<br />

BSTR, 只 读<br />

描 述 :<br />

PDF 密 码 。 调 用 GetPassword 您 可 获 得 这 份 文 档 的 密 码 ( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

PageCount<br />

类 型 :<br />

long, 只 读<br />

描 述 :<br />

当 前 打 开 的 PDF 文 件 总 页 数 。 调 用 GetPageCount 方 法 您 可 获 得 当 前 这 份 文 档 的 总 页 数<br />

( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

CurPage<br />

类 型 :<br />

long, 只 读<br />

描 述 :<br />

PDF 文 件 的 当 前 页 面 的 索 引 。 页 面 索 引 从 第 一 页 开 始 , 索 引 值 为 0。 通 过 调 用 GetCurPage<br />

可 以 获 得 当 前 页 的 索 引 值 ( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

Rotate<br />

类 型<br />

8


Programming Guide<br />

short, 可 读 可 写<br />

描 述 :<br />

当 前 旋 转 方 向 , 值 可 以 为 以 下 任 意 一 种 :<br />

0( 正 常 )<br />

1( 顺 时 针 旋 转 90 度 )<br />

2( 旋 转 180 度 )<br />

3( 逆 时 针 旋 转 90 度 )<br />

您 可 通 过 调 用 SetRotate 或 者 GetRotate 来 设 定 和 获 得 旋 转 值 ( 这 些 函 数 只 能 在 VC 中 使<br />

用 )。<br />

Zoomlevel<br />

类 型 :<br />

long, 可 读 可 写<br />

描 述 :<br />

通 常 情 况 下 , 缩 放 的 值 在 10 到 1600 之 间 。 您 也 可 以 使 用 以 下 特 殊 的 值 :<br />

0= 显 示 页 面 为 实 际 页 面 大 小 , 这 个 值 相 当 于 缩 放 尺 度 的 100%。<br />

1= 显 示 页 面 为 适 当 的 缩 放 尺 度 , 让 整 个 页 面 适 合 于 客 户 的 窗 口 。<br />

2= 显 示 文 档 为 适 当 的 缩 放 尺 度 , 让 页 面 的 宽 度 适 合 于 客 户 的 窗 口 。<br />

调 用 SetZoomlevel 或 者 GetZoomlevel 您 可 以 设 置 或 者 获 得 Zoomlevel 的 值 ( 这 些 函 数<br />

只 能 在 VC 中 使 用 )。<br />

CurrentTool<br />

类 型 :<br />

BSTR, 可 读 可 写<br />

描 述<br />

读 取 和 设 置 当 前 工 具 。 值 可 以 是 以 下 任 何 一 个 :<br />

“Hand Tool”<br />

“ZoomOut Tool”<br />

“ZoomIn Tool”<br />

“Select Text Tool”<br />

“Find Text Tool”<br />

“Snapshot Tool”<br />

*“Typewriter”<br />

*“Loupe Tool”<br />

*“Magnifier”<br />

*“Annot Tool”<br />

*“Rectangle Link Tool”<br />

*“Quadrilateral Link Tool”<br />

*“Arrow Tool”<br />

*“Line Tool”<br />

*“Dimension Tool”<br />

*“Square Tool”<br />

9


Programming Guide<br />

*“Rectangle Tool”<br />

*“Circle Tool”<br />

*“Ellipse Tool”<br />

*“Polygon Tool”<br />

*“Cloudy Tool”<br />

*“Polyline Tool”<br />

*“Pencil Tool”<br />

*“Rubber Tool”<br />

*“Highlight Tool”<br />

*“Underline Tool”<br />

*“Strikeout Tool”<br />

*“Squiggly Tool”<br />

*“Replace Tool”<br />

*“Note Tool”<br />

*“Push Button Tool”<br />

*“Check Box Tool”<br />

*“Radio Button Tool”<br />

*“Combo Box Tool”<br />

*“List Box Tool”<br />

*“Text Field Tool”<br />

*“Distance Tool”<br />

*“Perimeter Tool”<br />

*“Area Tool”<br />

*“Image Tool”<br />

*“FileAttachment Tool”<br />

*“Attach a file”<br />

*“CallOut”<br />

*“Sound Tool”<br />

*“Movie Tool”<br />

等 等 。<br />

通 过 调 用 CountTools, 您 可 以 知 道 在 当 前 <strong>ActiveX</strong> 版 本 中 有 多 少 工 具 , 然 后 通 过 调 用<br />

GetToolByIndex, 您 可 以 获 得 这 些 工 具 的 名 称 。 您 还 可 以 通 过 调 用 GetCurrentTool 或 者<br />

SetCurrentTool 来 获 取 或 者 设 定 当 前 工 具 的 名 称 ( 这 些 函 数 只 能 在 VC 中 使 用 )。<br />

Printer<br />

类 型 :<br />

IPDFPrinter, 只 读<br />

描 述 :<br />

打 印 属 性 返 回 IPDFPrinter 接 口 , 您 可 以 用 来 管 理 打 印 机 和 发 送 打 印 输 出 。 在 您 的 应 用<br />

程 序 里 , 您 可 以 调 用 GetPrinter 来 获 得 这 个 属 性 ( 这 个 函 数 只 能 在 VC 中 使 用 )<br />

*bHasFormFields<br />

类 型 :<br />

10


Programming Guide<br />

BOOL , 只 读<br />

描 述 :<br />

如 果 当 前 的 文 档 里 有 表 单 域 ,bHasFormFields 则 为 True, 反 之 , 则 为 False。 您 可 以 在 您<br />

的 应 用 程 序 里 调 用 GetBHasFormFields 来 获 得 bHasFormFields 的 值 ( 这 个 函 数 只 能 在 VC 中 使<br />

用 )。<br />

DocumentInfo<br />

类 型 :<br />

IPDFDocumentInfo*, 只 读<br />

描 述 :<br />

GetDocumentInfo 返 回 PDFDocumentInfo 接 口 , 您 可 以 用 这 个 接 口 检 索 文 档 里 的 作 者 、<br />

创 建 者 、 创 建 日 期 、 关 键 字 、 修 改 日 期 、 制 作 主 题 和 标 题 ( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

*bHighlightFormFields<br />

类 型 :<br />

BOOL , 可 读 可 写<br />

描 述 :<br />

设 置 bHighlightFormFields 为 True, 将 高 亮 所 有 互 动 表 单 域 , 更 有 视 觉 效 果 。 通 过 调 用<br />

SetBHighlightFormFields 或 者 GetBHighlightFormFields 您 可 以 设 置 或 者 获 得 是 否 要 高 亮 所 有<br />

交 互 式 表 单 的 值 ( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

*FormFieldsHighlightAlpha<br />

类 型 :<br />

short, 可 读 可 写<br />

描 述 :<br />

代 表 256 级 的 表 单 高 亮 颜 色 的 透 明 度<br />

0= 透 明 ;255= 不 透 明<br />

您 可 以 通 过 SetFormFieldsHighlightAlpha 或 者 GetFormFieldsHighlightAlpha 来 设 置 或 者 取 得 表<br />

单 域 高 亮 的 alpha 值 ( 这 些 函 数 只 能 在 VC 中 使 用 )。<br />

*FormFieldsHighlightColor<br />

类 型 :<br />

OLE_COLOR, 可 读 可 写<br />

描 述 :<br />

代 表 表 单 域 的 高 亮 颜 色 。 您 可 以 调 用 SetFormFieldsHighlightColor 或 者<br />

GetFormFieldsHighlightColor 功 能 来 设 置 或 者 获 取 表 单 域 的 高 亮 颜 色 ( 这 些 函 数 只 能 在 VC 中<br />

使 用 )。<br />

11


Programming Guide<br />

<strong>ActiveX</strong>Version<br />

类 型 :<br />

BSTR, 只 读<br />

描 述 :<br />

获 取 <strong>ActiveX</strong> 控 件 版 本 信 息 。 调 用 Get<strong>ActiveX</strong>Version 函 数 您 可 获 取 当 前 注 册 的 <strong>ActiveX</strong><br />

的 版 本 信 息 ( 这 个 函 数 只 能 在 VC 中 使 用 )。<br />

注 意 : 在 VC 中 , 您 需 用 以 上 方 法 来 设 置 或 者 获 取 相 关 的 属 性 ; 在 其 他 语 言 中 ,<br />

您 可 以 直 接 获 得 这 些 属 性 。 例 如 :<br />

VC 编 码<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>.GetFilePath();<br />

// the above statement returns the file path of current open PDF file. But you can directly<br />

// 以 上 语 句 返 回 当 前 打 开 PDF 文 件 的 路 径 , 但 是 在 其 他 语 言 中 您 可 以 直 接<br />

// 使 用 FilePath 来 获 取 当 前 打 开 的 PDF 文 件 的 路 径<br />

VB 编 码 ,javascript, C# etc:<br />

<strong>Foxit</strong><strong>Reader</strong><strong>SDK</strong>.FilePath<br />

12


Programming Guide<br />

方 法<br />

1) 打 开 和 关 闭 PDF 文 件<br />

OpenFile<br />

从 本 地 磁 盘 或 者 http 服 务 器 打 开 一 个 PDF 文 件 。<br />

原 型 :<br />

BOOL OpenFile (BSTR FilePath, BSTR Password)<br />

参 数 :<br />

FilePath - PDF 文 件 路 径 或 者 HTTP 服 务 器 的 URL。<br />

Password - PDF 文 件 密 码 。 如 果 没 有 密 码 , 请 指 定 一 个 空 的 字 符 串 。<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 值 不 为 0, 反 之 则 为 0。<br />

标 注 :<br />

如 果 用 此 方 法 打 开 文 件 , 文 件 将 不 会 被 锁 上 。 可 以 被 其 他 程 序 打 开 文 件 。<br />

OpenMemFile<br />

从 存 储 器 中 打 开 一 个 PDF 文 件 。<br />

原 型 :<br />

BOOL OpenMemFile(long pBuffer, long Size, BSTR Password)<br />

参 数 :<br />

pBuffer - 调 用 者 提 供 的 一 个 指 向 PDF 数 据 内 容 的 指 针 。<br />

Size - 指 向 pBuffer 的 缓 冲 区 大 小 。<br />

Password - PDF 密 码 。 如 果 无 密 码 , 请 指 定 一 个 空 的 字 符 串 。<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 值 不 为 0, 反 之 则 为 0。<br />

OpenBuffer<br />

从 缓 冲 器 上 打 开 一 个 PDF 文 件 。<br />

原 型 :<br />

BOOL OpenBuffer(VARIANT Buffer, long size, BSTR password);<br />

参 数 :<br />

Buffer - 包 含 PDF 的 字 节 数 组<br />

Size - 字 节 数 组 的 大 小<br />

Password - 打 开 PDF 文 档 的 密 码<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 值 不 为 0, 反 之 则 为 0。<br />

OpenStream<br />

13


Programming Guide<br />

从 IStream 接 口 打 开 一 个 PDF 文 件 。<br />

原 型 :<br />

BOOL OpenStream (IStream* Stream, BSTR Password)<br />

参 数 :<br />

Stream - 一 个 IStream 接 口 。<br />

Password - PDF 密 码 。 如 果 无 密 码 , 请 指 定 一 个 空 的 字 符 串 。<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 值 不 为 0, 反 之 则 为 0。<br />

OpenCustomFile<br />

从 一 个 自 定 义 访 问 说 明 符 打 开 一 个 PDF 文 件 。 当 您 的 程 序 调 用 此 方 法 时 ,<strong>ActiveX</strong> 将 触<br />

发 CustomFileGetSize 和 CustomFileGetBlock 事 件 。 在 事 件 处 理 器 中 , 您 的 程 序 将 以 自 定<br />

义 格 式 打 开 PDF 文 档 ; 返 回 文 件 大 小 并 锁 定 数 据 。 欲 了 解 更 多 信 息 , 请 查 看 有 关<br />

CustomFileGetSize 和 CustomFileGetBlock 的 描 述 。<br />

原 型 :<br />

BOOL OpenCustomFile(BSTR Password)<br />

参 数 :<br />

Password - PDF 密 码 。 如 果 无 密 码 , 请 指 定 一 个 空 的 字 符 串 。<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 值 不 为 0, 反 之 则 为 0。<br />

OpenFtpFile<br />

从 FTP 服 务 器 打 开 一 个 PDF 文 件 。<br />

原 型 :<br />

BOOL OpenFtpFile(BSTR ftpName,BSTR username, BSTR userPassword,<br />

long port,BSTR filePath, BSTR filePassword, boolean Passive);<br />

参 数 :<br />

ftpName - FTP 服 务 器 名 称<br />

userName - FTP 用 户 名<br />

userPassword - FTP 密 码<br />

port - FTP 服 务 器 端 口<br />

filePath - FTP 文 件 路 径<br />

filePassword - PDF 文 件 密 码<br />

Passive - 被 动 的 或 者 主 动 的 连 接<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 为 (1), 反 之 则 为 (0)。<br />

*UploadCurFileToFTP<br />

14


Programming Guide<br />

上 传 当 前 PDF 文 件 到 一 个 FTP 服 务 器 。<br />

原 型 :<br />

BOOL UploadCurFileToFTP(BSTR ftpName, BSTR userName, BSTR userPassword,<br />

long port, BSTR FilePath);<br />

参 数 :<br />

ftpName - FTP 服 务 器 名 称<br />

userName - FTP 用 户 名<br />

userPassword - FTP 密 码<br />

port - FTP 服 务 器 端 口<br />

filePath - FTP 文 件 路 径<br />

返 回 值 :<br />

如 果 PDF 文 件 成 功 打 开 则 为 (1), 反 之 则 为 (0)。<br />

CloseFile<br />

关 闭 当 前 载 入 的 PDF 文 件 。<br />

原 型 :<br />

Void CloseFile()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

SetFileStreamOption<br />

设 置 打 开 文 件 时 的 文 件 数 据 流 选 项 。<br />

原 型 :<br />

Void SetFileStreamOption(BOOL bFileStream);<br />

参 数 :<br />

bFileStream - BOOL 值 指 示 文 件 数 据 流 选 项 。<br />

返 回 值 :<br />

[ 无 ]<br />

标 注<br />

如 果 经 常 使 用 此 文 件 , 您 可 以 把 数 据 流 上 的 内 容 装 入 存 储 器 里 以 此 提 高 性 能 , 但 是 这 样<br />

会 占 用 更 多 的 存 储 器 容 量 。<br />

2) 视 图<br />

ShowTitleBar<br />

显 示 或 者 隐 藏 标 题 栏 。<br />

原 型 :<br />

void ShowTitleBar(BOOL bShow);<br />

15


Programming Guide<br />

参 数 :<br />

bShow - 如 果 参 数 值 为 FALSE, 则 隐 藏 标 题 栏 。<br />

如 果 参 数 值 为 TRUE, 则 显 示 标 题 栏 。<br />

返 回 值 :<br />

[ 无 ]<br />

ShowToolBar<br />

显 示 或 者 隐 藏 工 具 栏 ;<br />

原 型 :<br />

void ShowToolBar(BOOL bShow);<br />

参 数 :<br />

bShow - 如 果 参 数 值 为 FALSE, 则 隐 藏 工 具 栏 。<br />

如 果 参 数 值 为 TRUE, 则 显 示 工 具 栏 。<br />

返 回 值 :<br />

[ 无 ]<br />

ShowToolbarButton<br />

显 示 或 者 隐 藏 工 具 栏 按 钮<br />

原 型 :<br />

void ShowToolBarButton (short nIndex, BOOL bShow)<br />

参 数 :<br />

nIndex - 按 钮 的 索 引<br />

bShow - 如 果 参 数 值 为 FALSE, 则 隐 藏 工 具 栏 按 钮<br />

如 果 参 数 值 为 TRUE, 则 显 示 工 具 栏 按 钮<br />

返 回 值 :<br />

[ 无 ]<br />

ShowBookmark<br />

显 示 或 者 隐 藏 书 签 ( 大 纲 ) 面 板 。 在 这 个 文 档 中 , 书 签 和 大 纲 属 于 同 一 个 概 念 , 它 们 可<br />

以 交 换 使 用 。<br />

注 意 : 在 下 个 版 本 中 这 个 函 数 将 被 删 除 。<br />

原 型 :<br />

void ShowBookmark(BOOL bShow)<br />

参 数 :<br />

bShow - 如 果 参 数 值 为 FALSE, 则 隐 藏 书 签 ( 大 纲 ) 面 板<br />

如 果 参 数 值 为 TRUE, 则 显 示 书 签 ( 大 纲 ) 面 板<br />

返 回 值 :<br />

[ 无 ]<br />

ShowStatusBar<br />

16


Programming Guide<br />

显 示 或 者 隐 藏 状 态 栏<br />

原 型 :<br />

void ShowStatusBar(BOOL bShow);<br />

参 数 :<br />

bShow - 如 果 参 数 值 为 FALSE, 则 隐 藏 状 态 栏 如 果 参 数 值 为<br />

TRUE, 则 显 示 状 态 栏<br />

返 回 值 :<br />

[ 无 ]<br />

ShowNavPanelByString<br />

通 过 名 称 来 显 示 导 航 面 板<br />

原 型 :<br />

BOOL ShowNavPanelByString(LPCTSTR lpszPanelName)<br />

参 数 :<br />

lpszPanelName - 面 板 名 称 包 括 Bookmark panel, Pages panel, Layer panel, and<br />

Attachments panel。<br />

返 回 值 :<br />

如 果 成 功 则 返 回 为 True, 反 之 则 False。<br />

*ShowFormFieldsMessageBar<br />

显 示 或 者 隐 藏 FormFieldsMessageBar<br />

原 型 :<br />

void ShowFormFieldsMessageBar(BOOL bShow)<br />

参 数 :<br />

bShow - 如 果 参 数 值 为 FALSE, 则 隐 藏 FormFieldsMessageBar<br />

如 果 参 数 值 为 TRUE, 则 显 示 FormFieldsMessageBar<br />

返 回 值 :<br />

[ 无 ]<br />

SetLayoutShowMode<br />

设 置 页 面 布 局 。 一 份 PDF 文 档 可 以 显 示 成 n 纵 列 乘 以 m 行 。 无 论 页 面 数 是 多 少 , 当 页<br />

面 布 局 被 设 为 MODE_SINGLE 时 ,<strong>ActiveX</strong> 窗 口 一 次 只 显 示 一 行 。 当 页 面 布 局 设 置 成<br />

MODE_CONTINUOUS 时 ,<strong>ActiveX</strong> 窗 口 将 可 同 时 显 示 相 邻 的 几 行 。<br />

原 型 :<br />

Void SetLayoutShowMode (BrowseMode nShowMode, short nFacingCount);<br />

参 数 :<br />

nShowMode - 值 可 以 设 成 以 下 两 种 :<br />

MODE_SINGLE =0.<br />

MODE_CONTINUOUS =1.<br />

17


Programming Guide<br />

nFacingCount - 纵 列 数 。<br />

返 回 值 :<br />

[ 无 ]<br />

SetFacingCoverLeft<br />

在 浏 览 器 模 式 里 , 这 个 函 数 会 将 PDF 文 档 的 封 面 页 显 示 在 左 侧 。<br />

原 型 :<br />

Void SetFacingCoverLeft (BOOL bLeft)<br />

参 数 :<br />

bLeft - BOOL 值 表 明 是 否 将 PDF 文 档 封 面 页 显 示 在 左 侧<br />

返 回 值 :<br />

[ 无 ]<br />

ShowNavigationPanels<br />

切 换 导 航 面 板 的 显 示<br />

原 型 :<br />

BOOL ShowNavigationPanels(BOOL bShow)<br />

参 数 :<br />

bShow - 如 果 参 数 为 TRUE 则 显 示 导 航 面 板 , 如 果 参 数 为 FALSE 则 隐 藏 导 航 面<br />

板 。<br />

返 回 值 :<br />

如 果 成 功 则 返 回 为 True, 反 之 则 False。<br />

EnableToolTip<br />

开 关 工 具 提 示 的 显 示 。<br />

原 型 :<br />

BOOL EnableToolTip (BOOL bEnable)<br />

参 数 :<br />

bEnable - 如 果 参 数 为 TRUE 则 显 示 工 具 提 示 , 如 果 参 数 为 FALSE 则 隐 藏 工 具 提<br />

示 。<br />

返 回 值 :<br />

如 果 成 功 则 返 回 为 True, 反 之 为 False。<br />

GetLayoutShowMode<br />

获 得 当 前 布 局 模 式 。<br />

原 型 :<br />

Void GetLayoutShowMode(short* pnShowMode, short* pnFacingCount)<br />

参 数 :<br />

18


Programming Guide<br />

pnShowMode - 连 续 页 显 示 的 开 关<br />

pnFacingCount - 封 面 页 显 示 的 开 关<br />

返 回 值 :<br />

[ 无 ]<br />

3) 导 航<br />

ExistForwardStack<br />

检 测 下 个 视 图 的 存 在 。<br />

原 型 :<br />

BOOL ExistForwardStack ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

如 果 下 个 视 图 存 在 则 返 回 为 true, 反 之 则 返 回 为 false。<br />

批 注 :<br />

经 常 , 当 用 户 在 一 个 PDF 文 件 里 浏 览 时 想 回 到 之 前 的 阅 读 点 。 视 图 的 定 义 是 指 某 些 阅<br />

读 点 或 者 显 示 状 态 。 某 些 用 户 的 行 为 将 会 创 建 新 的 视 图 。 例 如 , 如 果 用 户 到 一 个 新 页 面 ,<br />

然 后 放 大 页 面 , 这 两 个 行 为 将 创 建 2 个 新 的 视 图 。 程 序 会 调 用 这 组 方 法 以 允 许 用 户 方 便<br />

地 在 不 同 的 视 图 里 跳 转 。<br />

GoForwardStack<br />

跳 转 到 下 个 视 图 。<br />

原 型 :<br />

Void GoForwardStack ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

ExistBackwardStack<br />

检 测 上 一 视 图 的 存 在 。<br />

原 型 :<br />

BOOL ExistBackwardStack ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

如 果 上 一 视 角 存 在 则 为 true, 反 之 则 为 false。<br />

GoBackwardStack<br />

19


Programming Guide<br />

跳 转 到 上 一 视 图 。<br />

原 型 :<br />

void GoBackwardStack ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

SetViewRect<br />

显 示 当 前 PDF 页 面 中 特 定 矩 形 区 域 的 内 容 。<br />

原 型 :<br />

Void SetViewRect (float Left, float Top, float Width, float Height);<br />

参 数 :<br />

Left - 左 上 角 的 水 平 坐 标<br />

Top - 左 上 角 的 垂 直 坐 标<br />

Width - 矩 形 的 宽 度<br />

Height - 矩 形 的 长 度<br />

返 回 值 :<br />

[ 无 ]<br />

标 注 :<br />

这 个 函 数 将 显 示 当 前 PDF 页 面 中 特 定 矩 形 区 域 的 内 容 。 坐 标 是 PDF 坐 标 , 而 不 是 设 备<br />

坐 标 。 单 位 是 PDF 点 。 此 函 数 将 保 持 <strong>ActiveX</strong> 窗 口 位 置 和 大 小 不 变 , 并 且 调 整 当 前 PDF<br />

页 面 的 位 置 和 缩 放 系 数 以 此 来 在 <strong>ActiveX</strong> 窗 口 完 全 展 示 当 前 PDF 页 面 的 指 定 矩 形 区 域 。<br />

一 种 典 型 的 应 用 程 序 就 是 : 终 端 用 户 用 鼠 标 点 击 并 且 拖 动 矩 形 区 域 , 然 后 放 开 鼠 标 , 那<br />

么 程 序 将 调 用 ConvertClientCoodToPageCood, 转 换 鼠 标 坐 标 到 PDF 坐 标 , 接 着 调 用<br />

SetViewRect 在 全 视 图 中 显 示 指 定 的 区 域 。<br />

ConvertClientCoordToPageCoord<br />

转 换 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 坐 标 到 PDF 页 面 坐 标 。<br />

原 型 :<br />

BOOL ConvertClientCoordToPageCoord (long nClientX, long nClientY,<br />

long* pnPageIndex, float* pPageX, float*<br />

pPageY);<br />

参 数 :<br />

nClientX - 在 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 坐 标 的 X 坐 标 , 单 位 为 像 素<br />

nClientY - 在 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 坐 标 的 Y 坐 标 , 单 位 为 像 素<br />

pnPageIndex - 返 回 给 定 点 在 PDF 文 件 中 所 属 的 页 码<br />

pPageX - 返 回 给 定 点 PDF 页 面 中 的 X 坐 标 点 ( 在 PDF 坐 标 系 统 )<br />

pPageY - 返 回 给 定 点 PDF 页 面 中 的 y 坐 标 点 ( 在 PDF 坐 标 系 统 )<br />

返 回 值 :<br />

返 回 值 表 明 转 换 是 否 成 功 。 客 户 端 区 域 包 含 正 在 显 示 的 PDF 页 面 以 及 一 些 灰 色 的 背 景 。<br />

20


Programming Guide<br />

如 果 点 落 在 灰 色 的 背 景 , 则 转 换 失 败 。<br />

ConvertPageCoordToClientCoord<br />

转 换 PDF 页 面 坐 标 为 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 坐 标 。<br />

原 型 :<br />

BOOL ConvertPageCoordToClientCoord (long nPageIndex, float dPageX, float dPageY,<br />

long* pnClientX, long* pnClientY);<br />

参 数 :<br />

nPageIndex - 页 码<br />

dPageX - PDF 页 面 里 的 X 坐 标 ( 在 PDF 坐 标 系 统 )<br />

dPageY - PDF 页 面 里 的 Y 坐 标 ( 在 PDF 坐 标 系 统 )<br />

pnClientX - 返 回 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 里 的 X 坐 标 。 如 果 结 果 是 否 定 的 ,<br />

则 表 明 这 个 点 落 在 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 外 。<br />

pnClientY - 返 回 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 里 的 Y 坐 标 。 如 果 结 果 是 否 定 的 , 则<br />

表 明 这 个 点 落 在 <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 外 。<br />

返 回 值 :<br />

返 回 值 表 明 转 换 是 否 成 功 。 如 果 文 档 没 有 正 确 的 打 开 或 者 页 码 不 正 确 , 则 返 回 值 为 false。<br />

反 之 则 为 true。<br />

GotoPageDest<br />

跳 转 到 PDF 文 档 的 指 定 区 域 。<br />

原 型 :<br />

Void GotoPageDest (ILink_Dest * link_dest);<br />

参 数 :<br />

link_dest - 从 OnHyperLink 事 件 获 得 的 一 个 ILink_Dest 接 口 。<br />

返 回 值 :<br />

[ 无 ]<br />

GoToPagePos<br />

跳 转 到 PDF 文 档 的 指 定 位 置 。<br />

原 型 :<br />

Void GoToPagePos (long nPageIndex, float PageX, float PageY);<br />

参 数 :<br />

nPageIndex - 想 查 看 页 面 的 索 引 。<br />

PageX - 由 nPageIndex 指 定 的 检 索 页 面 的 指 定 X 坐 标 ( 在 PDF 坐 标 系 统 )<br />

PageY - 由 nPageIndex 指 定 的 检 索 页 面 的 指 定 Y 坐 标<br />

返 回 值 :<br />

[ 无 ]<br />

GetVisibleLeftTopPage<br />

21


Programming Guide<br />

获 得 左 上 角 视 图 的 页 码 。<br />

原 型 :<br />

Long GetVisibleLeftTopPage ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

左 上 角 视 图 的 页 码<br />

ScrollView<br />

通 过 dx, dy 滚 动 当 前 视 角 , 单 位 为 设 备 像 素 。<br />

原 型 :<br />

Void ScrollView (long dx, long dy);<br />

参 数 :<br />

dx - 滚 动 行 为 的 水 平 距 离 。<br />

dy - 滚 动 行 为 的 垂 直 距 离 。<br />

返 回 值 :<br />

[ 无 ]<br />

GetScrollLocation<br />

在 当 前 页 面 获 得 当 前 滚 动 的 位 置 。<br />

rototype:<br />

long GetScrollLocation (long *dx, long *dy);<br />

参 数 :<br />

dx - 返 回 当 前 滚 动 位 置 的 X 坐 标<br />

dy - 返 回 当 前 滚 动 位 置 的 Y 坐 标<br />

返 回 值 :<br />

当 前 页 面 的 索 引 值 。<br />

GoToNextPage<br />

跳 转 到 当 前 打 开 的 PDF 文 档 的 下 一 页 。<br />

原 型 :<br />

Void GoToNextPage ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

注 意 :<br />

在 以 后 的 版 本 中 将 删 除 此 函 数 。 您 可 以 调 用 GoToPage 函 数 。<br />

GoToPrevPage<br />

22


Programming Guide<br />

跳 转 到 当 前 打 开 的 PDF 文 档 的 上 一 页 。<br />

原 型 :<br />

Void GoToPrevPage ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

注 意 :<br />

在 以 后 的 版 本 中 将 删 除 此 函 数 。 您 可 以 调 用 GoToPage 函 数 。<br />

4) 查 找<br />

FindFirst<br />

在 文 档 中 查 找 一 个 字 符 串 。 如 果 此 函 数 找 到 了 这 个 字 符 串 的 第 一 个 匹 配 项 , 它 将 跳 到 此<br />

页 , 更 新 CurPage 属 性 , 高 亮 该 匹 配 项 然 后 返 回 true。 否 则 则 返 回 false。<br />

原 型 :<br />

BOOL FindFirst (BSTR search_string, BOOL bMatchCase, BOOL bMatchWholeWord)<br />

参 数 :<br />

SearchString - 您 想 查 找 的 字 符 串<br />

BMatchCase - 是 否 区 分 大 小 写<br />

BMatchWholeWord - 是 否 全 字 匹 配<br />

返 回 值 :<br />

如 果 查 找 到 这 个 字 符 串 的 匹 配 项 , 则 返 回 值 不 为 0, 否 则 则 为 0<br />

FindFirstEx<br />

FindFirst 函 数 的 扩 展 。 提 供 了 一 个 接 口 来 搜 索 文 档 中 的 字 符 串 。<br />

原 型 :<br />

BOOL FindFirstEx(const VARIANT FAR& search_string, BOOL bMatchCase,<br />

BOOL bMatchWholeWord)<br />

参 数 :<br />

SearchString - 您 想 查 找 的 字 符 串<br />

BMatchCase - 是 否 区 分 大 小 写<br />

BMatchWholeWord - 是 否 全 字 匹 配<br />

返 回 值 :<br />

如 果 查 找 到 这 个 字 符 串 的 匹 配 项 , 则 返 回 值 不 为 0, 否 则 则 为 0<br />

FindNext<br />

在 整 个 文 档 中 搜 索 已 给 字 符 串 的 下 个 匹 配 项 。 如 果 <strong>ActiveX</strong> 找 到 了 下 个 匹 配 项 , 它 会 跳<br />

转 到 页 面 , 更 新 CurPage 属 性 并 且 高 亮 此 匹 配 项 , 然 后 返 回 true。 反 之 , 则 返 回 为 false。<br />

23


Programming Guide<br />

请 注 意 FindNext 和 FindFirst 方 法 使 用 相 同 的 搜 索 条 件 , 包 括 bMatchCase 和<br />

bMatchWholeWord。 如 果 bSearchDown 是 true, 那 么 将 往 下 搜 索 。 如 果 bSearchDown<br />

是 false, 那 么 往 上 搜 索 。<br />

原 型 :<br />

BOOL FindNext (BOOL bSearchDown);<br />

参 数 :<br />

bSearchDown - 向 下 搜 索 (Ture) 或 者 向 上 搜 索 (False)。<br />

返 回 值 :<br />

如 果 搜 索 到 下 一 个 匹 配 项 , 返 回 值 不 为 0。 否 则 则 为 0<br />

FindFileFirst<br />

在 文 档 中 查 找 字 符 串 , 如 果 找 到 字 符 串 , 则 返 回 为 IFindResult 接 口 。 反 之 则 返 回 空 。 此<br />

方 法 允 许 您 在 不 打 开 文 档 的 情 况 下 搜 索 文 档 。 例 如 , 如 果 您 想 在 一 个 文 件 夹 的 所 有 PDF<br />

文 件 里 搜 索 一 个 关 键 字 , 您 需 要 迭 代 那 个 文 件 夹 里 的 所 有 PDF 文 件 一 个 一 个 地 寻 找 关<br />

键 字 。 如 果 <strong>ActiveX</strong> 在 一 个 PDF 文 件 中 找 到 了 一 个 匹 配 项 ,<strong>ActiveX</strong> 将 返 回 包 含 了 所 有 匹<br />

配 项 细 节 的 IFindResult。 接 下 来 , 您 就 可 以 使 用 GoToSearchResult 来 打 开 这 个 文 件 , 跳<br />

转 到 页 面 并 且 高 亮 该 匹 配 项 。<br />

原 型 :<br />

IFindResult* FindFileFirst(BSTR file_path, BSTR search_string,BOOL bMatchCase,<br />

BOOL bMatchWholeWord)<br />

参 数 :<br />

file_path - PDF 文 件 路 径<br />

SearchString - 您 想 查 找 的 字 符 串<br />

BMatchCase - 是 否 区 分 大 小 写<br />

BMatchWholeWord - 是 否 全 字 匹 配<br />

返 回 值 :<br />

如 果 搜 索 到 匹 配 项 则 返 回 IFindResult 接 口 。 否 则 返 回 空 。<br />

FindFileNext<br />

寻 找 在 FindFileFirst 函 数 中 指 定 的 字 符 串 的 下 一 个 匹 配 项 。<br />

原 型 :<br />

IFindResult * FindFileNext ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

如 果 搜 索 到 了 下 一 个 匹 配 项 , 则 返 回 值 为 IFindResult。 否 则 返 回 空 。<br />

GoToSearchResult<br />

显 示 并 且 高 亮 搜 索 结 果 。<br />

原 型 :<br />

24


Programming Guide<br />

Void GoToSearchResult (IFindResult* findresult);<br />

参 数 :<br />

Findresult - 由 FindFileFirst 或 者 FindFileNext 返 回 的 一 个 IFindResult 接 口 。<br />

返 回 值 :<br />

[ 无 ]<br />

*SearchAndHighlightAllTextOnPage<br />

在 指 定 页 面 高 亮 特 定 的 关 键 字 的 所 有 实 例 。<br />

原 型 :<br />

void SearchAndHighlightAllTextOnPage(BSTR searchstring, BOOL bMatchCase,<br />

BOOL bMatchWholeWord,long PageNo);<br />

参 数 :<br />

searchstring - 您 想 查 找 的 字 符 串<br />

BMatchCase - 是 否 区 分 大 小 写<br />

BMatchWholeWord - 是 否 全 字 匹 配<br />

PageNo - 您 想 搜 索 的 页 码 。<br />

返 回 值 :<br />

[ 无 ]<br />

5) 大 纲<br />

GetOutlineFirstChild<br />

获 取 当 前 大 纲 的 第 一 子 项 。<br />

原 型 :<br />

IPDFOutline* GetOutlineFirstChild( IPDFOutline* Outline)<br />

参 数 :<br />

Outline - 返 回 第 一 个 子 项 。<br />

如 果 您 想 获 得 大 纲 树 的 根 节 点 , 请 把 参 数 值 设 为 空 。<br />

返 回 值 :<br />

如 果 指 定 的 项 拥 有 子 项 , 第 一 个 子 项 将 被 返 回 。 否 则 返 回 为 空 。<br />

GetOutlineNextSibling<br />

获 得 下 一 个 兄 弟 节 点 。<br />

原 型 :<br />

IPDFOutline* GetOutlineNextSibling ( IPDFOutline* Outline)<br />

参 数 :<br />

Outline - 大 纲 项 的 下 一 个 兄 弟 节 点 将 被 返 回 。<br />

返 回 值 :<br />

如 果 下 一 兄 弟 节 点 存 在 , 那 么 将 成 功 返 回 。 否 则 则 返 回 空 。<br />

25


Programming Guide<br />

6) 保 存<br />

SaveAs<br />

保 存 当 前 加 载 的 PDF 文 档 到 一 个 文 件 里 。<br />

原 型 :<br />

Void<br />

SaveAs (BSTR FileName)<br />

参 数 :<br />

FileName - 指 定 即 将 被 保 存 的 文 件 的 文 件 名 。<br />

返 回 值 :<br />

[ 无 ]<br />

Save<br />

保 存 当 前 加 载 的 PDF 文 档 。<br />

原 型 :<br />

Void Save()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

SaveToStream<br />

保 存 当 前 加 载 的 PDF 文 档 到 存 储 器 。<br />

原 型 :<br />

IStream* SaveToStream()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

IStream 接 口 支 持 读 写 数 据 到 包 含 PDF 文 件 数 据 的 数 据 流 对 象 中<br />

7) * 注 释<br />

*ExportAnnotsToFDFFile<br />

从 当 前 文 档 导 出 批 注 到 表 单 数 据 格 式 (FDF) 文 件<br />

原 型 :<br />

BOOL ExportAnnotsToFDFFile(BSTR FDFFileName)<br />

参 数 :<br />

FDFFileName - PDF 文 件 路 径 。<br />

返 回 值 :<br />

返 回 值 表 明 操 作 是 否 成 功 。<br />

26


Programming Guide<br />

*ImportAnnotsFromFDFFile<br />

从 一 个 表 单 数 据 格 式 (FDF) 文 件 导 入 批 注 到 当 前 的 文 档 。<br />

原 型 :<br />

BOOL ImportAnnotsFromFDFFile(BSTR FDFFileName)<br />

参 数 :<br />

FDFFileName - FDF 文 件 路 径<br />

返 回 值 :<br />

返 回 值 表 明 操 作 是 否 成 功 。<br />

*SetBDrawAnnot<br />

设 置 注 释 标 志 。<br />

原 型 :<br />

void SetBDrawAnnot(BOOL bDrawAnnot);<br />

参 数 :<br />

bDrawAnnot - 如 果 参 数 是 true, 则 可 画 注 释 。<br />

如 果 参 数 是 false, 则 不 可 画 注 释 。<br />

返 回 值 :<br />

[ 无 ]<br />

*ShowAllPopup<br />

弹 出 所 有 注 释 。<br />

原 型 :<br />

Void ShowAllPopup (BOOL bShow);<br />

参 数 :<br />

bShow - 如 果 参 数 是 true, 则 将 弹 出 注 释 。<br />

返 回 值 :<br />

[ 无 ]<br />

8) 表 单<br />

*ExportFormToFDFFile<br />

导 出 PDF 表 单 数 据 到 表 单 数 据 格 式 (FDF) 文 件 。<br />

原 型 :<br />

BOOL ExportFormToFDFFile (BSTR FDFFileName)<br />

参 数 :<br />

FDFFileName - FDF 文 件 路 径 。<br />

返 回 值 :<br />

返 回 值 表 明 操 作 是 否 成 功 。<br />

27


Programming Guide<br />

*ImportFormFromFDFFile<br />

从 表 单 数 据 格 式 (FDF) 文 件 导 入 数 据 到 PDF 表 单 。<br />

原 型 :<br />

BOOL ImportFormFromFDFFile(BSTR FDFFileName)<br />

参 数 :<br />

FDFFileName - FDF 文 件 路 径 。<br />

返 回 值 :<br />

返 回 值 表 明 操 作 是 否 成 功 。<br />

*FindFormFieldsTextFirst<br />

在 表 单 域 查 找 文 本 。<br />

原 型 :<br />

BOOL FindFormFieldsTextFirst (BSTR searchstring, BOOL bMatchCase);<br />

参 数 :<br />

Searchstring - 您 想 查 找 的 字 符 串 。<br />

bMatchCase - 是 否 区 分 大 小 写 。<br />

返 回 值 :<br />

返 回 值 表 明 想 要 搜 索 的 字 符 串 是 否 被 找 到 。<br />

*FindFormFieldsTextNext<br />

在 表 单 域 里 搜 索 文 本 。<br />

原 型 :<br />

BOOL FindFormFieldsTextNext ()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

返 回 值 表 明 想 要 搜 索 的 字 符 串 是 否 被 找 到 。<br />

#GetCurrentForm<br />

获 得 表 单 接 口 的 指 针 。 添 加 新 的 PDF 表 单 元 素 需 要 先 调 用 这 个 函 数 。<br />

原 型 :<br />

IPDFForm* GetCurrentForm()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

如 果 成 功 则 返 回 表 单 接 口 指 针 。 否 则 返 回 空 。<br />

28


Programming Guide<br />

9) 绘 画<br />

*AddWaterMark<br />

插 入 显 示 为 水 印 的 文 本 到 文 档 。<br />

原 型 :<br />

BOOL AddWaterMark (short page, BSTR string, float left, float bottom,<br />

short fontsize, OLE_COLOR fontcolor,<br />

short textmode, short alpha, short rotate);<br />

参 数 :<br />

Page - 即 将 被 添 加 水 印 的 文 档 页 码 。<br />

String - 当 做 水 印 显 示 的 文 本 。<br />

Left - 水 印 的 水 平 X 位 置 。<br />

Bottom - 水 印 的 水 平 Y 位 置 。<br />

Fontsize - 文 本 大 小<br />

Fontcolor - 文 本 颜 色<br />

Textmode - 值 必 须 是 0,1,2<br />

0 表 示 填 充 文 本 ,<br />

表 示 描 边 文 本<br />

2 表 示 填 充 文 本 后 描 边 文 本<br />

alpha - 从 0 到 255 的 一 个 数 , 确 定 alpha 数 值 。<br />

rotate - 水 印 旋 转 的 角 度 。<br />

返 回 值 :<br />

返 回 值 表 明 水 印 是 否 被 添 加 。<br />

*AddImageObject<br />

插 入 图 片 到 文 档 。<br />

原 型 :<br />

BOOL AddImageObject (long nPageIndex, float left, float bottom, float width,<br />

float height, BSTR BmpFileName, short alpha, short rotate);<br />

参 数 :<br />

nPageIndex - 添 加 图 像 的 文 档 页 码 。<br />

left - 图 像 的 水 平 X 位 置<br />

在 最 左 边 的 像 素 从 0 开 始<br />

bottom - 图 像 的 水 平 Y 位 置<br />

在 最 底 部 的 扫 描 线 从 0 开 始<br />

width - 位 图 的 宽 度<br />

height - 位 图 的 高 度<br />

BmpFileName - 图 像 的 文 件 路 径<br />

alpha - 从 0 到 255 的 一 个 数 字 , 确 定 alpha 的 值<br />

rotate - 图 像 将 被 旋 转 的 角 度<br />

返 回 值 :<br />

返 回 值 表 明 是 否 成 功 添 加 图 像 。<br />

29


Programming Guide<br />

10) * 运 行 Javascript<br />

*ShowDocJsDialog<br />

弹 出 Javascript 对 话 框 。<br />

原 型 :<br />

void ShowDocJsDialog();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

*ShowJsConsoleDialog<br />

弹 出 Javascript 控 制 台 对 话 框 。<br />

原 型 :<br />

void ShowJsConsoleDialog();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

11) * 超 级 链 接<br />

*CountHyperLinks<br />

计 算 出 PDF 页 面 中 的 超 级 链 接 数 目<br />

原 型 :<br />

short CountHyperLinks(short nPageIndex);<br />

参 数 :<br />

nPageIndex - PDF 文 件 指 定 页 的 索 引 。<br />

返 回 值 :<br />

如 果 成 功 则 返 回 链 接 数 。 如 果 没 有 链 接 则 返 回 0。 如 果 失 败 则 返 回 -1<br />

*HighlightHyperLink<br />

高 亮 PDF 页 面 里 指 定 的 超 级 链 接 。<br />

原 型 :<br />

void HighlightHyperLink(short nPageIndex, short nLinkIndex)<br />

参 数 :<br />

nPageIndex - 指 定 的 页 码<br />

30


Programming Guide<br />

nLinkIndex - 超 级 链 接 的 索 引<br />

返 回 值 :<br />

[ 无 ]<br />

*GetHyperLinkRect<br />

获 得 指 定 的 超 级 链 接 的 位 置 。<br />

原 型 :<br />

BOOL GetHyperLinkRect(short nPageIndex, short nIndex, float* top, float* left,<br />

float* bottom, float* right)<br />

参 数 :<br />

nPageIndex - 指 定 的 页 码<br />

nLinkIndex - 超 级 链 接 的 索 引<br />

top - 返 回 顶 部 坐 标 的 指 针<br />

left - 返 回 左 边 坐 标 的 指 针<br />

bottom - 返 回 底 部 坐 标 的 指 针<br />

right - 返 回 右 边 坐 标 的 指 针<br />

返 回 值 :<br />

如 果 成 功 则 返 回 True, 否 则 返 回 False。<br />

*GetHyperLinkInfo<br />

获 得 一 个 指 定 的 超 级 链 接 的 链 接 信 息 。<br />

原 型 :<br />

BOOL GetHyperLinkInfo(short nPageIndex, short nIndex, BSTR* linktype,<br />

BSTR* linkdata, L PDISPATCH* linkdest)<br />

参 数 :<br />

nPageIndex - 指 定 的 页 码<br />

nLinkIndex - 超 级 链 接 的 索 引<br />

linktype - 返 回 包 含 超 级 链 接 类 型 的 指 针<br />

linkdata - 返 回 包 含 超 级 链 接 字 符 串 数 据 的 指 针<br />

linkdest - 返 回 包 含 该 超 级 链 接 重 定 向 目 的 地 的 指 针<br />

返 回 值 :<br />

如 果 成 功 则 返 回 True, 否 则 返 回 False。<br />

*EnableHyperLink<br />

启 用 / 禁 用 超 级 链 接 。<br />

原 型 :<br />

Void EnableHyperLink(BOOL bEnable)<br />

参 数 :<br />

bEnable - TRUE 为 启 用 超 级 链 接 。FALSE 为 禁 用 超 级 链 接 。<br />

返 回 值 :<br />

[ 无 ]<br />

31


Programming Guide<br />

12) 其 他<br />

GetSelectedText<br />

获 得 当 前 选 定 的 文 本 。<br />

原 型 :<br />

BSTR GetSelectedText ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

当 前 选 定 的 文 本 。<br />

OpenFileForPrinter<br />

在 不 显 示 PDF 文 件 的 情 况 下 打 印 PDF 文 件 。<br />

原 型 :<br />

IPDFPrinter* OpenFileForPrinter(BSTR file_path)<br />

参 数 :<br />

file_path - PDF 文 件 路 径 ( 包 括 扩 展 名 )<br />

返 回 值 :<br />

返 回 用 于 控 制 打 印 机 的 IPDFPrinter 接 口<br />

*Highlight<br />

在 该 文 档 的 指 定 页 面 高 亮 一 个 指 定 的 矩 形 区 域 。<br />

原 型 :<br />

void Highlight(long nPageIndex, float left, float top, float right, float bottom)<br />

参 数 :<br />

nPageIndex - 将 要 被 高 亮 的 指 定 矩 形 区 域 的 页 码<br />

left - 矩 形 区 域 左 上 角 的 X 坐 标<br />

top - 矩 形 区 域 左 上 角 的 Y 坐 标<br />

right - 矩 形 区 域 右 下 角 的 X 坐 标<br />

bottom - 矩 形 区 域 右 下 角 的 Y 坐 标<br />

返 回 值 :<br />

[ 无 ]<br />

*RemoveAllHighlight<br />

删 除 当 前 文 档 的 所 有 高 亮 。<br />

原 型 :<br />

void RemoveAllHighlight()<br />

参 数 :<br />

[ 无 ]<br />

32


Programming Guide<br />

返 回 值 :<br />

[ 无 ]<br />

GetPageText<br />

在 当 前 加 载 的 PDF 文 件 中 的 一 个 PDF 页 面 提 取 文 本 内 容 。<br />

原 型 :<br />

BSTR GetPageText (long nPageIndex)<br />

参 数 :<br />

nPageIndex - 您 想 提 取 文 档 的 页 码 。<br />

返 回 值 :<br />

返 回 被 提 取 的 文 本 。<br />

*GetPageTextW<br />

从 当 前 加 载 的 PDF 文 件 中 的 一 个 页 面 提 取 文 本 内 容 。<br />

原 型 :<br />

long GetPageTextW(long nPageIndex, long FAR* pBuffer, long FAR* nBuflen)<br />

参 数 :<br />

nPageIndex - 您 要 提 取 文 本 的 页 码<br />

pBuffer - 放 置 页 面 内 容 的 缓 存<br />

nBuflen - 缓 存 的 长 度<br />

返 回 值 :<br />

如 果 成 功 则 返 回 -1, 否 则 则 返 回 0<br />

CountTools<br />

在 当 前 <strong>ActiveX</strong> 版 本 中 获 得 可 用 的 工 具 数 目 。<br />

原 型 :<br />

short CountTools()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

工 具 数 目 。<br />

GetToolByIndex<br />

获 得 工 具 名 称 。<br />

原 型 :<br />

BSTR GetToolByIndex (short nIndex)<br />

参 数 :<br />

nIndex - nindex 的 范 围 是 : 0


Programming Guide<br />

返 回 工 具 名 。<br />

GetDocPermissions<br />

获 得 文 档 文 件 的 权 限 标 志 。<br />

原 型 :<br />

long GetDocPermissions ()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

32-bit 整 数 表 明 权 限 标 志 。 详 细 描 述 您 可 以 参 照 PDF 参 考 (PDF Reference)。 如 果 该 文<br />

档 不 受 保 护 则 返 回 为 0xffffffff。<br />

ShowDocumentInfoDialog<br />

弹 出 文 档 属 性 对 话 框<br />

原 型 :<br />

void ShowDocumentInfoDialog()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

SetModulePath<br />

设 置 fpdfcjk.bin 文 件 的 路 径 。<br />

原 型 :<br />

void SetModulePath(LPCTSTR lpFolderName)<br />

参 数 :<br />

lpFolderName - fpdfcjk.bin 文 件 的 路 径 。<br />

返 回 值 :<br />

[ 无 ]<br />

SetCurrentLanguage<br />

<strong>ActiveX</strong> 用 户 界 面 可 以 动 态 地 转 换 成 30 多 种 语 言 中 的 一 种 , 但 是 这 需 要 额 外 的 语 言 文 件<br />

( xml 格 式 ) 来 配 合 <strong>ActiveX</strong> 。 如 果 您 想 要 指 定 的 语 言 文 件 , 请 联 系<br />

sales@foxitsoftware.com 。<br />

原 型 :<br />

void<br />

参 数 :<br />

返 回 值 :<br />

SetCurrentLanguage(short LanguageID);<br />

LanguageID - 语 言 标 识 符<br />

从 0 到 30 的 值 代 表 不 同 的 语 言<br />

34


Programming Guide<br />

[ 无 ]<br />

SetCurrentLanguageByString<br />

<strong>ActiveX</strong> 用 户 界 面 可 以 动 态 地 转 换 成 30 多 种 语 言 中 的 一 种 , 但 是 这 需 要 额 外 的 语 言 文 件<br />

( xml 格 式 ) 来 配 合 <strong>ActiveX</strong> 。 如 果 您 想 要 指 定 的 语 言 文 件 , 请 联 系<br />

sales@foxitsoftware.com 。<br />

原 型 :<br />

void<br />

参 数 :<br />

返 回 值 :<br />

FileName -<br />

[ 无 ]<br />

SetCurrentLanguageByString(BSTR FileName);<br />

语 言 文 件 名 。 比 如 “lang_en_us.xml”。<br />

SetCurrentWnd<br />

当 <strong>ActiveX</strong> 在 多 实 例 中 运 行 时 用 户 调 用 这 个 函 数 来 设 置 当 前 的 实 例 。<br />

原 型 :<br />

void SetCurrentWnd(long hWnd);<br />

参 数 :<br />

hWnd - 一 个 OCX 实 例 的 HWND。<br />

返 回 值 :<br />

[ 无 ]<br />

SetLogFile<br />

在 您 的 应 用 程 序 中 您 可 以 调 用 这 个 函 数 来 设 置 日 志 文 件 。 您 调 用 的 每 一 个 函 数 都 将 记 录<br />

到 该 日 志 文 件 。<br />

原 型 :<br />

BOOL SetLogFile(BSTR filepath);<br />

参 数 :<br />

filepath - 该 日 志 文 件 的 路 径 。<br />

返 回 值 :<br />

布 尔 值 说 明 该 日 志 文 件 是 否 被 设 置 。<br />

*IsDualPage<br />

检 查 页 面 类 型 。<br />

原 型 :<br />

BOOL IsDualPage(short pageIndex);<br />

参 数 :<br />

pageIndex - 文 档 页 码<br />

35


Programming Guide<br />

返 回 值 :<br />

布 尔 值 指 定 页 面 是 否 有 两 个 图 层 。<br />

两 个 图 层 即 一 个 页 面 拥 有 隐 藏 文 本 的 图 像 。<br />

*ExportPagesToPDF<br />

导 出 当 前 文 档 的 几 个 页 面 到 一 个 PDF 文 件 中 。<br />

原 型 :<br />

BOOL ExportPagesToPDF (BSTR lpszPDFFileName, BSTR lpszPageRangeString);<br />

参 数 :<br />

lpszPDFFileName - 插 入 页 面 的 文 件 路 径 。<br />

lpszPageRangeString - 页 面 范 围 。 比 如 "0, 2, 3-5", 请 注 意 ,"5-2" 是 无 效 的 。<br />

换 句 话 说 , 破 折 号 前 面 的 值 不 能 大 于 破 折 号 后 面 的 值 。<br />

。<br />

返 回 值 :<br />

布 尔 值 确 定 页 面 是 否 被 导 出 。<br />

*GetBitmap<br />

以 位 图 的 方 式 来 获 得 PDF 页 面 指 定 区 域 的 显 示 内 容 。<br />

原 型<br />

long GetBitmap(short nPageIndex, long pixelWidth, long pixelHeight, float rectLeft,<br />

float rectTop, loat rectRight, float rectBottom, long<br />

PixelFormat);<br />

参 数 :<br />

nPageIndex - 文 档 的 页 码 。<br />

pixelWidth - 位 图 的 宽 度 。<br />

pixelHeight - 位 图 的 高 度 。<br />

rectLeft - 设 备 坐 标 显 示 区 域 的 左 边 像 素 位 置 。<br />

rectTop - 设 备 坐 标 显 示 区 域 的 上 方 像 素 位 置 。<br />

rectRight - 设 备 坐 标 显 示 区 域 的 右 边 像 素 位 置 。<br />

rectBottom - 设 备 坐 标 显 示 区 域 的 下 方 像 素 位 置 。<br />

PixelFormat - 位 图 的 像 素 格 式<br />

返 回 值 :<br />

位 图 的 句 柄 。<br />

GetPageHeight<br />

获 得 页 面 高 度<br />

原 型 :<br />

float GetPageHeight(short nPageIndex);<br />

参 数 :<br />

nPageIndex - 文 档 的 页 码<br />

返 回 值 :<br />

36


Programming Guide<br />

页 面 高 度 ( 不 包 括 没 有 显 示 出 来 的 区 域 ), 以 点 为 单 位 。<br />

1 点 等 于 1//72 英 寸 ( 大 约 0.3528 毫 米 )<br />

GetPageWidth<br />

获 取 页 面 宽 度<br />

原 型 :<br />

float GetPageWidth(short nPageIndex);<br />

参 数 :<br />

nPageIndex - 文 档 的 页 码<br />

返 回 值 :<br />

页 面 宽 度 ( 不 包 括 没 有 显 示 出 来 的 区 域 ), 以 点 为 单 位 。<br />

1 点 等 于 1//72 英 寸 ( 大 约 0.3528 毫 米 )<br />

AboutBox<br />

弹 出 about 窗 口<br />

原 型 :<br />

void AboutBox()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

PrintWithDialog<br />

显 示 发 送 打 印 输 出 时 的 Windows 对 话 框 。<br />

原 型 :<br />

void PrintWithDialog();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

UnLock<strong>ActiveX</strong><br />

利 用 从 福 昕 公 司 获 得 的 授 权 密 钥 来 解 锁 <strong>ActiveX</strong>。<br />

原 型 :<br />

void UnLock<strong>ActiveX</strong>(BSTR lisence_id, BSTR unlock_code)<br />

参 数 :<br />

license_id - 用 福 昕 授 予 的 字 符 串 辨 别 <strong>SDK</strong> 授 权 。<br />

unlock_code - 用 福 昕 授 予 的 字 符 串 解 锁 <strong>ActiveX</strong><br />

返 回 值 :<br />

37


Programming Guide<br />

[ 无 ]<br />

批 注 :<br />

对 于 试 用 试 用 版 本 <strong>ActiveX</strong> 的 用 户 , 您 无 需 调 用 该 函 数 , 但 是 所 有 页 面 都 将 保 留 水 印 。<br />

对 于 付 费 用 户 , 在 调 用 <strong>ActiveX</strong> 其 他 函 数 时 您 必 须 调 用 该 函 数 。<br />

UnLock<strong>ActiveX</strong>Ex<br />

利 用 福 昕 公 司 授 予 的 授 权 密 钥 来 解 锁 <strong>ActiveX</strong>。<br />

原 型 :<br />

void UnLock<strong>ActiveX</strong>Ex(BSTR strLicense)<br />

参 数 :<br />

strLicense - 用 福 昕 授 予 的 字 符 串 识 别 <strong>SDK</strong> 授 权 。<br />

返 回 值 :<br />

[ 无 ]<br />

批 注 :<br />

这 个 函 数 的 功 能 与 Unlock<strong>ActiveX</strong> 相 同 。<br />

*SetUserPassword<br />

给 当 前 PDF 文 件 设 置 用 户 密 码 。<br />

原 型 :<br />

BOOL SetUserPassword(LPCTSTR lpszNewValue)<br />

参 数 :<br />

lpszNewValue - 密 码 字 符 串<br />

返 回 值 :<br />

如 果 成 功 则 返 回 True, 否 则 返 回 False。<br />

*SetUserPermission<br />

给 当 前 PDF 文 件 设 置 用 户 权 限 。<br />

原 型 :<br />

BOOL SetUserPermission(long dwPermission)<br />

参 数 :<br />

dwPermission - 返 回 的 用 户 权 限 标 志 。<br />

返 回 值 :<br />

如 果 成 功 则 返 回 True, 否 则 则 为 False。<br />

*SetOwnerPassword<br />

给 当 前 PDF 文 件 设 置 所 有 者 密 码 。<br />

原 型 :<br />

BOOL SetOwnerPassword(LPCTSTR lpszNewValue)<br />

参 数 :<br />

38


Programming Guide<br />

lpszNewValue - 密 码 字 符 串<br />

返 回 值 :<br />

如 果 成 功 则 返 回 True, 否 则 则 为 False。<br />

SetContextMenuString<br />

给 右 击 上 下 文 相 关 菜 单 设 置 菜 单 项 字 符 串<br />

原 型 :<br />

Void SetContextMenuString(LPCTSTR string)<br />

参 数 :<br />

String - 包 含 右 击 上 下 文 菜 单 数 据 的 字 符 串 , 比 如 “a,b,c,d,e” 。 与<br />

OnContextMenuIndex 事 件 一 起 调 用 该 函 数 。“a, b, c, d, e” 代 表 不 同 的<br />

菜 单 项 。<br />

返 回 值 :<br />

[ 无 ]<br />

SetPDFMeasureUnit<br />

设 置 PDF 文 档 度 量 单 位 。<br />

原 型 :<br />

BOOL SetPDFMeasureUnit(short nType);<br />

参 数 :<br />

nType - 计 量 单 位 : 0 = 点 ; 1 = 英 寸 ; 2 = 厘 米 ; 3: 像 素<br />

返 回 值 :<br />

如 果 成 功 则 返 回 True, 否 则 则 为 False。<br />

GetCurrentWnd<br />

获 得 当 前 窗 口 的 指 针 。<br />

原 型 :<br />

Long GetCurrentWnd();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

成 功 返 回 窗 口 点 。 否 则 返 回 空 。<br />

GetCtrlInstance<br />

获 得 控 件 实 例 句 柄 。<br />

原 型 :<br />

Long GetCtrlInstance ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

39


Programming Guide<br />

成 功 返 回 控 件 实 例 句 柄 。 否 则 则 为 无 效 。<br />

事 件<br />

BeforeDraw<br />

在 描 绘 视 图 内 容 之 前 触 发 。<br />

原 型 :<br />

Void BeforeDraw (long dc)<br />

参 数 :<br />

dc - 设 备 上 下 文 句 柄 。<br />

AfterDraw<br />

在 描 绘 视 图 内 容 完 成 后 触 发 。<br />

原 型 :<br />

Void AfterDraw (long dc)<br />

参 数 :<br />

dc - 设 备 上 下 文 句 柄 。<br />

OnZoomChange<br />

改 变 Zoomlevel 属 性 时 触 发 。<br />

原 型 :<br />

Void OnZoomChange ()<br />

参 数 :<br />

[ 无 ]<br />

OnPageChange<br />

改 变 页 面 时 触 发 ( 从 一 个 页 面 跳 转 到 另 一 个 页 面 )<br />

原 型 :<br />

Void OnPageChange ()<br />

参 数 :<br />

[ 无 ]<br />

OnOpenPassword<br />

当 您 打 开 有 密 码 保 护 的 PDF 文 档 时 触 发 事 件 。<br />

原 型 :<br />

Void OnOpenPassword (BSTR* password, BOOL* cancel)<br />

参 数 :<br />

Password - PDF 文 档 密 码<br />

Cancel - 当 这 个 参 数 设 置 False 时 会 一 直 触 发 此 事 件 , 直 到 密 码 正 确 。<br />

40


Programming Guide<br />

*OnHyperLink<br />

当 点 击 超 文 本 时 触 发 。<br />

原 型 :<br />

Void OnHyperLink(BSTR linktype, BSTR linkdata, Link_Dest* dest, BOOL* cancel)<br />

参 数 :<br />

Linktype - 包 含 超 级 链 接 类 型 信 息 的 字 符 串 。<br />

linktype sting are:<br />

Goto, 在 当 前 文 档 中 跳 转 到 不 同 的 页 面 ,linkdata 是 空 的 字 符 串 。dest 包 含 即 将 进 行 浏<br />

览 的 位 置 信 息 。<br />

GoToR 跳 转 到 本 地 磁 盘 一 个 不 同 的 PDF 文 件 中 , 如 果 查 看 新 的 文 档 要 求 新 窗 口 , 那 么<br />

linkdata 信 息 将 包 含 文 件 名 并 且 文 件 名 字 符 串 后 紧 跟 着 数 字 1, 否 则 , 文 件 名 字 符 串 后<br />

则 紧 跟 着 数 字 0 。dest 包 含 即 将 进 行 浏 览 的 位 置 信 息 。<br />

Launch 启 动 一 个 外 部 应 用 程 序 , 如 果 查 看 一 个 新 的 文 本 需 要 新 窗 口 , 那 么 linkdata 信 息<br />

将 包 含 文 件 名 并 且 文 件 名 字 符 串 后 紧 跟 着 数 字 1, 否 则 , 文 件 名 字 符 串 后 则 紧 跟 着 数 字<br />

0 。<br />

URI 打 开 一 个 uri,linkdata 包 含 uri 字 符 串 。<br />

Cancel - 如 果 次 参 数 设 置 为 true, 控 件 将 不 跟 随 超 级 链 接 。<br />

linkData - 包 含 额 外 信 息 被 字 符 隔 开 的 字 符 串 。<br />

OnSearchProgress<br />

搜 索 文 档 时 触 发 。<br />

原 型 :<br />

Void OnSearchProgress (long pageNumber, long pageCount)<br />

参 数 :<br />

pageNumber - 正 在 进 行 搜 索 的 页 面<br />

pageCount - 总 页 数<br />

OnOpenFile<br />

当 文 件 打 开 失 败 时 触 发 事 件<br />

原 型 :<br />

void<br />

参 数 :<br />

OnOpenFile(short Error);<br />

Error - 返 回 错 误 代 码<br />

OnFilePathInvalidate<br />

文 件 操 作 验 证 失 败 时 触 发 事 件<br />

原 型 :<br />

void OnFilePathInvalidate(BSTR WarnString);<br />

41


Programming Guide<br />

参 数 :<br />

WarnString - 返 回 错 误 消 息<br />

OnShowSavePrompt<br />

关 闭 修 改 过 的 文 档 时 触 发 事 件 。<br />

原 型 :<br />

void OnShowSavePrompt(BOOL* bShow, short * nResult);<br />

参 数 :<br />

bShow - 这 个 值 指 定 是 否 在 <strong>ActiveX</strong> 中 显 示 默 认 的 消 息 框 。<br />

nResult - 这 个 值 指 定 是 否 保 存 这 个 修 改 的 文 档 。<br />

OnOpenDocument<br />

打 开 一 个 PDF 文 档 时 触 发 。<br />

原 型 :<br />

Void OnOpenDocument (BSTR filepath)<br />

参 数 :<br />

Filepath - PDF 文 件 路 径 。<br />

OnCloseDocument<br />

关 闭 一 个 文 档 时 触 发 。<br />

原 型 :<br />

Void OnCloseDocument (BSTR filepath)<br />

参 数 :<br />

Filepath - PDF 文 件 路 径<br />

OnDocumentChange<br />

PDF 文 档 内 容 改 变 时 触 发 。<br />

原 型 :<br />

Void OnDocumentChange ()<br />

参 数 :<br />

[ 无 ]<br />

CustomFileGetSize<br />

当 使 用 OpenCustomFile 方 法 打 开 PDF 文 档 时 触 发 。<br />

原 型 :<br />

Void CustomFileGetSize (long* size)<br />

参 数 :<br />

size - [out] 用 于 接 受 PDF 长 度 的 数 字 指 针 。<br />

42


Programming Guide<br />

将 其 设 置 成 PDF 文 件 长 度 。<br />

CustomFileGetBlock<br />

当 使 用 OpenCustomFile 方 法 打 开 PDF 文 档 时 触 发 。<br />

原 型 :<br />

Void CustomFileGetBlock (long pos, long pBuf, long size)<br />

参 数 :<br />

pos - [in ] 文 件 开 头 的 偏 移 字 节 。<br />

pBuf - [out ] 用 于 接 受 PDF 数 据 的 缓 存 指 针 。<br />

Size - [in] 缓 存 大 小<br />

批 注 :<br />

从 特 定 的 位 置 获 取 数 据 块 。 位 置 是 指 从 文 件 开 始 的 偏 移 字 节 。 位 置 和 大 小 不 会 超 过 文 件<br />

长 度 的 范 围 。<br />

OnContextMenuIndex<br />

当 点 击 右 键 菜 单 中 的 一 个 项 目 时 触 发 事 件 。 使 用 此 事 件 时 , 请 与 SetContextMenuString<br />

接 口 一 起 使 用 。<br />

原 型 :<br />

void OnContextMenuIndex(short nIndex);<br />

参 数 :<br />

nIndex - 所 选 菜 单 项 的 索 引 。<br />

OnClick<br />

在 点 击 时 触 发 。<br />

原 型 :<br />

Void OnClick (long hWnd, long ClientX, long ClientY);<br />

参 数 :<br />

hWnd - 这 个 窗 口 的 句 柄 。<br />

ClientX - <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 X 坐 标 。<br />

ClientY - <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 Y 坐 标 。<br />

OnDbClick<br />

当 双 击 时 触 发 。<br />

原 型 :<br />

Void OnDbClick (long hWnd, long ClientX, long ClientY);<br />

参 数 :<br />

hWnd - 这 个 窗 口 的 句 柄 。<br />

ClientX - <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 X 坐 标 。<br />

ClientY - <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 Y 坐 标 。<br />

43


Programming Guide<br />

OnRButtonClick<br />

当 右 击 时 触 发 事 件<br />

原 型 :<br />

void OnRButtonClick(long hWnd, long ClientX, long Client);<br />

参 数 :<br />

hWnd - 这 个 窗 口 的 句 柄 。<br />

ClientX - <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 X 坐 标 。<br />

ClientY - <strong>ActiveX</strong> 控 件 窗 口 的 客 户 端 区 域 的 Y 坐 标 。<br />

OnDownLoadFinish<br />

从 Internet 成 功 下 载 文 档 的 时 候 触 发 事 件 。<br />

原 型 :<br />

void OnDownLoadFinish();<br />

参 数 :<br />

[ 无 ]<br />

#FormFieldError<br />

配 置 PDF 表 单 域 出 现 错 误 时 触 发 事 件 。<br />

原 型 :<br />

Void FormFieldError(long nErrorCode);<br />

参 数 :<br />

nErrorCode - 配 置 PDF 表 单 域 时 返 回 错 误 代 码<br />

# PDFForm<br />

方 法<br />

AddField<br />

添 加 一 个 新 的 表 单 区 域<br />

原 型 原 型 :<br />

LPDISPATCH AddField(LPCTSTR bstrFieldName, LPCTSTR bstrFieldType,<br />

long pageIndex, float left, float top, float right, float bottom);<br />

参 数 :<br />

bstrFieldName - 区 域 名 称 。<br />

bstrFieldType - 新 建 区 域 的 字 段 原 型 。<br />

有 效 原 型 包 括 :<br />

text<br />

buttoncombobox<br />

listbox<br />

44


Programming Guide<br />

checkboxradio button pageIndex - 页 码 (0 为 起 始 数 )。<br />

left - 矩 形 区 域 的 左 坐 标 。<br />

top - 矩 形 区 域 的 上 坐 标 。<br />

right - 矩 形 区 域 的 右 坐 标 。<br />

bottom - 矩 形 区 域 的 底 坐 标 。<br />

返 回 值 :<br />

新 建 的 区 域 对 象 。<br />

标 注 :<br />

矩 形 区 域 坐 标 是 在 可 旋 转 的 页 面 空 间 中 测 量 , 即 不 管 是 否 为 旋 转 页 面 ,[0,0] 总 是 位 于 左<br />

下 角 。<br />

RemoveField<br />

删 除 一 特 定 表 单 区 域<br />

原 型 :<br />

Void RemoveField (LPCTSTR bstrFieldName);<br />

参 数 :<br />

bstrFieldName - 删 除 的 区 域 名 称 。 如 果 字 段 含 有 多 重 子 标 注 , 则 所 有 子 标 注 将 被<br />

删 除 ; 如 果 多 区 域 拥 有 相 同 的 名 称 , 则 所 有 该 名 称 的 区 域 将 被 删 除 。<br />

返 回 值 :<br />

[ 无 ]<br />

ExportToFDF<br />

将 特 定 表 单 元 素 导 出 至 FDF 文 件 。<br />

原 型 :<br />

Void ExportToFDF (LPCTSTR bstrFullPath, BOOL bEmptyFields,<br />

const VARIANT FAR& arrFields)<br />

参 数 :<br />

bstrFullPath - 导 出 的 FPF 文 件 的 完 整 路 径<br />

bEmptyFields - True 表 示 导 出 在 VARIANT& arrField 中 指 定 的 ONLY 元 素 ;<br />

False 表 示 导 出 所 有 元 素 , 除 了 在 VARIANT& arrField 指 定 的<br />

元 素 。<br />

ArrFields - 导 出 表 单 元 素 数 组<br />

返 回 值 :<br />

[ 无 ]<br />

ImportFromFDF<br />

从 FDF 文 件 中 导 入<br />

原 型 :<br />

void ImportFormFromFDF(LPCTSTR bstrFullPath);<br />

参 数 :<br />

bstrFullPath - FDF 文 件 全 路 径<br />

45


Programming Guide<br />

返 回 值 :<br />

[ 无 ]<br />

GetFieldByIndex<br />

获 取 指 定 表 单 区 域 的 指 针<br />

原 型 :<br />

LPDISPATCH GetFieldByIndex(long index)<br />

参 数 :<br />

index - 表 单 区 域 的 索 引<br />

返 回 值 :<br />

若 成 功 , 返 回 指 针 至 表 单 区 域 , 否 则 返 回 Null。<br />

GetFieldByName<br />

获 取 指 定 表 单 区 域 的 指 针<br />

原 型 :<br />

LPDISPATCHs GetFieldByName(LPCTSTR bstrFieldName)<br />

参 数 :<br />

bstrFieldName- 表 单 区 域 的 全 名<br />

返 回 值 :<br />

若 成 功 , 返 回 表 单 区 域 的 指 针 , 否 则 返 回 Null。<br />

GetFieldsCount<br />

获 取 所 有 表 单 区 域 的 数 量<br />

原 型 :<br />

long GetFieldsCount()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

若 成 功 , 则 返 回 表 单 区 域 数 量 , 否 则 返 回 -1。<br />

46


Programming Guide<br />

PDFFormField<br />

属 性<br />

Alignment<br />

类 型 :<br />

String<br />

描 述 :<br />

文 本 区 域 内 的 文 本 对 齐 ( 左 对 齐 、 居 中 、 右 对 齐 )<br />

标 注 :<br />

仅 对 文 本 区 域<br />

BorderStyle<br />

类 型 :<br />

String<br />

描 述 :<br />

表 单 区 域 边 框 原 型<br />

标 注 :<br />

对 所 有 表 单 区 域<br />

边 框 原 型 设 置 包 括 : 1) 实 线 2) 虚 线 3) 斜 线 4) 插 入 线 5) 下 划 线<br />

BorderWidth<br />

类 型 :<br />

short<br />

描 述 :<br />

表 单 区 域 的 宽 度<br />

标 注 :<br />

对 所 有 表 单 区 域<br />

ButtonLayout<br />

类 型 :<br />

short<br />

描 述 :<br />

按 钮 的 布 局 外 观 , 有 效 值 包 括 :<br />

0 – 只 有 文 本 ; 按 钮 只 有 标 题 没 有 图 标 。<br />

1 – 只 有 图 标 ; 按 钮 只 有 图 标 没 有 标 题 。<br />

2 – 图 标 覆 盖 文 本 ; 图 标 应 显 示 在 标 题 的 上 一 层 。<br />

3 – 文 本 覆 盖 图 标 ; 文 本 应 显 示 在 图 标 的 上 一 层 。<br />

4 – 图 标 连 着 文 本 ; 图 标 应 显 示 在 标 题 的 左 侧 。<br />

5 – 文 本 连 着 图 标 ; 图 标 应 显 示 在 标 题 的 右 侧 。<br />

47


Programming Guide<br />

6 – 文 本 覆 盖 图 标 ; 文 本 应 被 覆 盖 在 图 标 的 上 一 层 。<br />

标 注 :<br />

对 所 有 按 钮 布 局<br />

CalcOrderIndex<br />

类 型 :<br />

short<br />

描 述 :<br />

当 前 表 单 区 域 的 索 引<br />

标 注 :<br />

对 所 有 表 单 区 域<br />

CharLimit<br />

类 型 :<br />

short<br />

描 述 :<br />

文 本 区 域 内 字 符 数 量 的 限 制<br />

标 注 :<br />

仅 对 文 本 区 域<br />

DefaultValue<br />

类 型 :<br />

String<br />

描 述 :<br />

表 单 区 域 的 默 认 值<br />

标 注 :<br />

对 所 有 表 单 区 域<br />

IsEditable<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

标 示 组 合 框 是 否 可 编 辑<br />

标 注 :<br />

只 对 组 合 框<br />

Behavior<br />

类 型 :<br />

String<br />

48


Programming Guide<br />

描 述 :<br />

None, Invert, Outline, Push<br />

N (None) 无 高 亮<br />

I (Invert) 反 转 注 释 矩 形 框 内 容<br />

O (Outline) 反 转 注 释 边 框<br />

P (Push) 如 它 被 推 到 内 嵌 于 页 面 表 面 那 样 显 示 注 释<br />

IsHidden<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

标 识 表 单 区 域 是 否 被 隐 藏<br />

标 注 :<br />

对 所 有 表 单 区 域<br />

IsMultiline<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

标 识 文 本 区 域 是 多 行 还 是 单 行<br />

标 注 :<br />

只 对 文 本 区 域<br />

IsPassword<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

标 识 是 否 当 作 密 码 输 入 那 样 掩 饰 输 入<br />

标 注 :<br />

只 对 文 本 区 域<br />

IsReadOnly<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

是 否 设 置 表 单 区 域 为 只 读<br />

标 注 :<br />

对 所 有 表 单 区 域<br />

IsRequired<br />

49


Programming Guide<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

判 断 区 域 是 否 必 须 为 非 空<br />

标 注 :<br />

对 组 合 框 、 单 选 按 钮 、 文 本 区 域<br />

Name<br />

类 型 :<br />

String<br />

描 述 :<br />

当 前 表 单 区 域 名 称<br />

标 注 :<br />

只 读 , 对 所 有 表 单 区 域<br />

NoViewFlag<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

是 否 显 示 表 单 元 素 ,1= 显 示 ;0= 隐 藏<br />

标 注 :<br />

对 所 有 表 单<br />

PrintFlag<br />

类 型 :<br />

Boolean<br />

描 述 :<br />

打 印 品 中 是 否 包 含 表 单 元 素 ,1= 显 示 ;0= 隐 藏<br />

标 注 :<br />

对 所 有 表 单<br />

Style<br />

类 型 :<br />

CString<br />

描 述 :<br />

设 置 复 选 框 与 单 选 按 钮 的 形 状 :<br />

1) 方 格 ,2) 交 叉 , 3) 菱 形 , 4) 圆 形 , 5) 星 形 , 6) 四 方 形<br />

标 注 :<br />

对 复 选 框 与 单 选 按 钮<br />

50


Programming Guide<br />

TextFont<br />

类 型 :<br />

String<br />

描 述 :<br />

字 体 (Reference 1.7 416)<br />

可 设 置 为 :<br />

Courier<br />

Courier-Bold<br />

Courier-Oblique<br />

Courier-BoldOblique<br />

Helvetica<br />

Helvetica-Bold<br />

Helvetica-Oblique<br />

Helvetica-BoldOblique<br />

Symbol<br />

Times-Roman<br />

Times-Bold<br />

Times-Italic<br />

Times-BoldItalic<br />

ZapfDingbats<br />

描 述 :<br />

对 除 了 复 选 框 、 单 选 按 钮 外 的 所 有 表 单 区 域<br />

TextSize<br />

类 型 :<br />

描 述 :<br />

标 注 :<br />

Short<br />

表 单 区 域 中 文 本 的 大 小<br />

对 除 了 复 选 框 、 单 选 按 钮 外 的 所 有 表 单 区 域<br />

Type<br />

类 型 :<br />

描 述 :<br />

标 注 :<br />

String<br />

表 单 类 型<br />

对 所 有 表 单<br />

可 设 置 为 : 文 本 、 按 钮 、 组 合 框 、 列 表 框 、 复 选 框 、 单 选 按 钮<br />

Value<br />

类 型 :<br />

String<br />

51


Programming Guide<br />

描 述 :<br />

当 前 值<br />

标 注 :<br />

表 单 元 素 有 以 下 属 性 :<br />

1) 文 本 区 域 2) 组 合 框 3) 单 选 按 钮 4) 复 选 框 5) 列 表 框<br />

Tooltip<br />

类 型 :<br />

描 述 :<br />

标 注 :<br />

String<br />

显 示 工 具 提 示 条<br />

对 所 有 表 单<br />

Orientation<br />

类 型 :<br />

描 述 :<br />

标 注 :<br />

Short<br />

表 单 的 文 本 旋 转<br />

对 所 有 表 单<br />

方 法<br />

PopulateListOrComboBox<br />

把 值 列 入 列 表 框 和 组 合 框 的 条 目 中<br />

原 型 :<br />

Void<br />

参 数 :<br />

PopulateListOrComboBox ( const VARIANT& arrItems,<br />

const VARIANT& arrExportVal);<br />

arrItem - 一 字 符 串 数 组 , 每 个 元 素 代 表 一 个 项 目 名 称<br />

arrExportVal - 一 字 符 串 数 组 , 与 第 一 个 参 数 有 相 同 大 小 , 每 个 元 素 代 表 一 个 输<br />

出 值<br />

返 回 值 :<br />

[ 无 ]<br />

SetBackgroundColor<br />

设 置 表 单 区 域 的 背 景 色<br />

原 型 :<br />

Void<br />

参 数 :<br />

SetBackgroundColor (LPCTSTR bstrColorSpace, float redC, float greenM,<br />

float blueY, float AlphaK);<br />

52


Programming Guide<br />

bstrColorSpace - 可 为 以 下 任 一 个 : 透 明 、 灰 色 、RGB 或 CMYK 颜 色 空 间 , 使 用<br />

T、G、RGB 和 CMYK 来 代 表 他 们 。<br />

对 于 T 和 G,redC 是 必 须 的 ; 对 于 RGB,redC,greenM 和 blueY<br />

是 必 须 的 ; 对 于 CMYK,redC,greenM,blueY 和 AlphaK 是 必 须 的 。<br />

redC, greenM 和 blueY 的 值 从 0 到 1。<br />

返 回 值 :<br />

[ 无 ]<br />

SetBorderColor<br />

设 置 边 框 颜 色<br />

原 型 :<br />

void<br />

参 数 :<br />

返 回 值 :<br />

SetBorderColor (LPCTSTR bstrColorSpace, float redC, float greenM,float<br />

blueY, float AlphaK);<br />

bstrColorSpace - 可 为 以 下 任 一 个 : 透 明 、 灰 色 、RGB 或 CMYK 颜 色 空 间 , 使 用<br />

redC, greenM 和 blueY 的 值 从 0 到 1。<br />

[ 无 ]<br />

T、G、RGB 和 CMYK 来 表 示 他 们 。<br />

对 于 T 和 G,redC 是 必 须 的 ; 对 于 RGB,redC,greenM 和 blueY<br />

是 必 须 的 ; 对 于 CMYK,redC,greenM,blueY 和 AlphaK 是 必 须 的 。<br />

SetForegroundColor<br />

设 置 前 景 色<br />

原 型 :<br />

Void<br />

参 数 ::<br />

返 回 值 :<br />

SetForegroundColor (LPCTSTR bstrColorSpace, float redC, float greenM,<br />

float blueY, float AlphaK);<br />

bstrColorSpace - 可 为 以 下 任 一 个 : 透 明 、 灰 色 、RGB 或 CMYK 颜 色 空 间 , 使 用<br />

redC, greenM 和 blueY 的 值 从 0 到 1。<br />

[ 无 ]<br />

T、G、RGB 和 CMYK 来 表 示 他 们 。<br />

对 于 T 和 G,redC 是 必 须 的 ; 对 于 RGB,redC,greenM 和 blueY<br />

是 必 须 的 ; 对 于 CMYK,redC,greenM,blueY 和 AlphaK 是 必 须 的 。<br />

SetButtonCaption<br />

设 置 按 钮 上 的 标 题<br />

原 型 :<br />

void<br />

参 数 :<br />

SetButtonCaption (LPCTSTR bstrFace, LPCTSTR bstrCaption);<br />

bstrFace - 一 字 符 串 确 定 了 按 钮 的 标 题 显 示 状 况<br />

有 效 字 符 串 包 括 :<br />

N — 正 常 显 示<br />

53


Programming Guide<br />

D — 向 下 显 示<br />

R — 翻 转 显 示<br />

bstrCaption - 按 钮 的 标 题 。<br />

返 回 值 :<br />

[ 无 ]<br />

SetButtonIcon<br />

设 置 按 钮 的 图 标<br />

原 型 :<br />

Void<br />

参 数 :<br />

bstrFace<br />

返 回 值 :<br />

SetButtonIcon (LPCTSTR bstrFace, LPCTSTR bstrFilePath);<br />

- 一 字 符 串 确 定 了 按 钮 的 标 题 显 示 状 况<br />

有 效 字 符 串 包 括 :<br />

N — 正 常 显 示<br />

D — 向 下 显 示<br />

R — 翻 转 显 示<br />

bstrFilePath - 图 形 文 件 的 完 整 路 径 。<br />

[ 无 ]<br />

SetExportValues<br />

当 输 出 单 选 按 钮 和 复 选 框 后 , 为 不 同 的 选 择 设 置 输 出 值 ( 选 择 、 未 选 择 、 选 中 、 未 选 中 ,<br />

原 型 :<br />

等 )<br />

void<br />

参 数 :<br />

返 回 值 :<br />

SetExportValues (const VARIANT& arrExportVal);<br />

arrExportVal - 输 出 值 数 组<br />

[ 无 ]<br />

SetJavaScriptAction<br />

设 置 JavaScript 的 动 作<br />

原 型 :<br />

Void<br />

参 数 :<br />

SetJavaScriptAction (LPCTSTR bstrTrigger, LPCTSTRbstrJavaScript);<br />

bstrTrigger - 为 动 作 指 定 触 发 器 的 字 符 串<br />

有 效 字 符 串 包 括 :<br />

up<br />

down<br />

enter<br />

exit<br />

calculate<br />

validate<br />

format<br />

54


Programming Guide<br />

keystroke<br />

bstrJavaScript - 脚 本 本 身 .<br />

返 回 值 :<br />

[ 无 ]<br />

SetResetFormAction<br />

设 置 表 单 区 域 的 重 置 功 能 动 作<br />

原 型 :<br />

void<br />

参 数 :<br />

返 回 值 :<br />

SetResetFormAction (LPCTSTR bstrTrigger, long bFlags, const VARIANT&<br />

arrFields);<br />

bstrTrigger - 一 字 符 串 指 定 某 触 发 器 为 功 能 所 使 用<br />

有 效 字 符 串 包 括 :<br />

up — Mouse up<br />

down — Mouse down<br />

enter — Mouse enter<br />

exit — Mouse exit<br />

bFlags - 定 义 各 种 事 件 特 性 的 标 志 集 合 。<br />

arrFields - 导 出 表 单 元 素 数 组<br />

[ 无 ]<br />

SetSubmitFormAction<br />

设 置 提 交 表 单 的 动 作<br />

原 型 :<br />

Void<br />

参 数 :<br />

返 回 值 :<br />

SetSubmitFormAction (LPCTSTR bstrTrigger, LPCTSTR bstrURL, long<br />

bFlags, const VARIANT& arrFields);<br />

bstrTrigger - 一 字 符 串 指 定 某 触 发 器 为 动 作 所 使 用<br />

bstrURL -<br />

有 效 字 符 串 包 括 :<br />

包 含 有 URL 的 字 符 串<br />

up - Mouse up<br />

down - Mouse down<br />

enter -Mouse enter<br />

exit - Mouse exit<br />

bFlags - 定 义 各 种 事 件 特 性 的 标 志 集 合 。<br />

arrFields - 提 交 表 单 元 素 数 组<br />

[ 无 ]<br />

55


Programming Guide<br />

PDFPrinter<br />

你 可 以 使 用 IPDFPrinter 接 口 来 控 制 打 印 机 并 发 送 打 印 输 出 。<br />

属 性<br />

PrinterName<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

设 置 打 印 机 名 称 , 该 名 称 将 会 用 在 打 印 输 出 中 。<br />

printerRangeMode<br />

类 型 :<br />

PrinterRangeMode<br />

描 述 :<br />

设 置 打 印 机 名 称 , 该 名 称 将 会 用 在 打 印 输 出 中 。<br />

设 置 打 印 范 围 为 :<br />

PRINT_RANGE_ALL = 0,<br />

PRINT_RANGE_CURRENT_VIEW = 1,<br />

PRINT_RANGE_CURRENT_PAGE = 2,<br />

PRINT_RANGE_SELECTED = 3,<br />

printerRangeFrom<br />

类 型 :<br />

short<br />

描 述 :<br />

指 定 第 一 个 要 打 印 的 页 码 。<br />

你 必 须 先 将 PrinterRangeMode 设 置 为 PRINT_RANGE_SELECTED<br />

printerRangeTo<br />

类 型 :<br />

short<br />

描 述 :<br />

制 定 最 后 一 个 要 打 印 的 页 码 。<br />

你 必 须 先 将 PrinterRangeMode 设 置 为 PRINT_RANGE_SELECTED<br />

numOfCopies<br />

类 型 :<br />

short<br />

56


Programming Guide<br />

描 述 :<br />

确 定 打 印 份 数 。<br />

Scaling<br />

类 型 :<br />

short<br />

描 述 :<br />

设 置 打 印 对 话 框 中 的 缩 放 比 例 。<br />

AutoRotate<br />

类 型 :<br />

boolean<br />

描 述 :<br />

设 置 打 印 对 话 框 中 的 自 动 旋 转 的 参 数 。<br />

AutoCenter<br />

类 型 :<br />

boolean<br />

描 述 :<br />

设 置 打 印 时 是 否 自 动 居 中 , 1 = 是 ; 0 = 否<br />

Collate<br />

类 型 :<br />

boolean<br />

描 述 :<br />

设 置 在 打 印 对 话 框 中 是 否 选 择 自 动 分 页 选 项 , 1 = 是 ; 0 = 否 .<br />

Rotation<br />

类 型 :<br />

short<br />

描 述 :<br />

设 置 打 印 时 是 否 进 行 文 档 旋 转 。<br />

RangeSubset<br />

类 型 :<br />

short<br />

描 述 :<br />

设 置 打 印 时 是 否 包 含 子 集 。<br />

57


Programming Guide<br />

ReversePage<br />

类 型 :<br />

boolean<br />

描 述 :<br />

设 置 是 否 以 反 转 顺 序 打 印 文 档 。<br />

PageBorder<br />

类 型 :<br />

boolean<br />

描 述 :<br />

设 置 是 否 打 印 页 面 边 框 。<br />

方 法<br />

PrintWithDialog<br />

发 送 打 印 输 出 时 显 示 Windows 对 话 框 。<br />

原 型 :<br />

void PrintWithDialog();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

PrintQuiet<br />

发 送 打 印 输 出 至 指 定 打 印 机 时 , 不 显 示 打 印 对 话 框 。<br />

原 型 :<br />

void PrintQuiet();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

SetPaperSize<br />

对 选 定 打 印 机 设 置 页 面 大 小 , 关 于 有 效 的 页 面 大 小 值 , 请 阅 读 Windows <strong>SDK</strong> 程 序 说 明<br />

书 。<br />

原 型 :<br />

void SetPaperSize (long paperSize);<br />

参 数 :<br />

58


Programming Guide<br />

paperSize - 可 使 用 的 纸 张 大 小 。<br />

返 回 值 :<br />

[ 无 ]<br />

59


Programming Guide<br />

PDFOutline<br />

获 取 PDF 大 纲 对 象 信 息 。<br />

方 法<br />

NavigateOutline<br />

导 航 至 大 纲 对 象 所 指 定 的 目 标 。<br />

原 型 :<br />

void NavigateOutline ();<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

[ 无 ]<br />

GetOutlineTitle<br />

获 取 大 纲 对 象 的 标 题 。<br />

原 型 :<br />

BSTR GetOutlineTitle()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

返 回 大 纲 对 象 的 标 题 。<br />

GetOutLineTitle2<br />

以 VARIANT 类 型 的 形 式 获 取 大 纲 对 象 的 标 题 。<br />

原 型 :<br />

VARIANT GetOutLineTitle2 ()<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

返 回 大 纲 对 象 的 标 题 。<br />

60


Programming Guide<br />

PDFDocumentInfo<br />

文 档 属 性 相 关 的 信 息<br />

属 性<br />

Author<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 作 者 。<br />

Subject<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 主 题 。<br />

CreatedDate<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 创 建 日 期 。<br />

ModifiedDate<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 修 改 日 期 。<br />

Keywords<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 关 键 字 。<br />

Creator<br />

类 型 :<br />

BSTR<br />

61


Programming Guide<br />

描 述 :<br />

PDF 文 档 的 创 建 者 。<br />

Producer<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 创 建 器 。<br />

Title<br />

类 型 :<br />

BSTR<br />

描 述 :<br />

PDF 文 档 的 标 题 。<br />

62


Programming Guide<br />

FindResult<br />

方 法<br />

如 果 执 行 搜 索 并 且 找 到 匹 配 项 , 那 么 FindResult 类 就 代 表 了 一 种 搜 索 结 果 。<br />

GetFindPageNum<br />

获 取 搜 索 结 果 的 页 面 索 引 。<br />

原 型 :<br />

long<br />

参 数 :<br />

[ 无 ]<br />

返 回 值 :<br />

页 面 索 引 。<br />

GetFindPageNum();<br />

GetFindFileName<br />

获 取 搜 索 结 果 的 查 询 文 件 名 称 。<br />

原 型 :<br />

参 数 :<br />

BSTR<br />

[ 无 ]<br />

返 回 值 :<br />

文 件 名 称 。<br />

GetFindFileName();<br />

GetFindString<br />

获 取 搜 索 结 果 的 上 下 文 。<br />

原 型 :<br />

参 数 :<br />

BSTR GetFindString()<br />

[ 无 ]<br />

返 回 值 :<br />

返 回 搜 索 结 果 的 上 下 文 。<br />

63

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!