admin管理员组

文章数量:1538190

2024年5月31日发(作者:)

工程技术 武汉船舶职业技术学院学报2012年第3期 

PowerBuilder平台下利用OLE 

控件阅读PDF文件的实现方法 

廖梦虎 

(武汉铁路职业技术学院,湖北武汉

摘要

430205) 

PDF文档是目前广泛使用的一种与操作系统无关的电子文档格式。文章介绍了在使用PowerBuilder开发项 

目中,通过OLE对象链接控件,链接Foxit Reader SDK控件,实现了PDF文档的显示。 

关键词PDF文档;PowerBuilder;ActiveX 

中图分类号TP316.6 文献标志码 A文章编号 1671—8100(2012)03—0084—03 

PDF(Portable Document Format,可移植文 

框中选择FoxitReader—ax—pro.OCX控件,然后单 

击“打开”按钮,完成FoxitReader—ax—pro.OCX控 

件的注册。 

档格式)是目前广泛应用的一种与操作系统无关 

的电子文档格式,是数字化信息事实上的工业标 

准。但PDF文档必须借助PDF阅读器才能阅 

读,这给需要在应用程序中直接阅读的用户带来 

了不便。针对此问题,作者在使用PowerBuilder 

开发项目过程中利用FoxitReader SDK(Ac— 

注册FoxitReader—ax_pro.OCX控件后在“In— 

sert Control”选项卡的“Control Type”列表框中 

显示如图1所示[ 。 

tiveX)控件实现了PDF文档的显示,用户在没有 

安装阅读器的情况下,也可以浏览PDF文档 

了E1]。 

Foxit Reader SDK控件是一个独立的文件 

(控件名:FoxitReader—ax—pro.OCX),可以从 

www.foxitsoftware.COrn网站上免费下载。 

1 PowerBuider中添加PDF控件 

PowerBuilder中使用Foxit Reader SDK控 

件,是通过OLEEz 对象链接控件的。在使用OLE 

(Object Linking and Embedding,对象链接与嵌 

图1完成FoxitR d L )Lp 。.。 控件的注册 

2 基本功能 

2.1初始化设置 

为了去掉FoxitReader SDK控件带有的默认 

入)对象链接控件前,须先注册该控件。注册控件 

既可使用Windows提供的注册命令(regsvr32), 

也可在PowerBuilder的窗口画板中实现注册。 

PowerBuilder中注册控件的方法是:在Power— 

Builder的窗口画板中单击PowerBuilder控件箱 

外观,需对该对象进行初始化设置。 

初始化代码如下: 

//隐藏工具条 

ole

l_Object.ShowToolBar(false) 

中OLE图标,出现 “插入对象”对话框,单击 

//隐藏FoxitReader{or ActiveX字样的T — 

t1eBar 

“Register New…”按钮,从打开的“Browse”对话 

收稿日期:2o12—03—03 

作者简介:廖梦虎,男,湖北通城人,汉族,武汉铁路职业技术学院教师,硕士,主要从事计算机应用方面的研究工作。 

84 

PowerBuilder平台下利用OLE控件阅读PDF文件的实现方法 廖梦虎 

ole

1.Object.ShowTitleBar(false) 

//隐藏状态栏 

ole

1.object.ShowBookMark(false) 

//隐藏PDF文件的书签 

ole_1.Obj ect.ShowStatusbar(false) 

运行时能让控件随窗体改变大小,窗体的 

Resize事件中添加如下代码: 

ole

_

1.width:this.width一100 

ole

1.height=this.height一90 

在窗体标题栏中显示打开的文件名,窗体 

Open事件中添加如下代码: 

This.title=-”文件名” 

2.2打开、关闭及保存PDF文档 

SDK中使用OpenFile读入PDF文档, 

CloseFile关闭PDF文档,Save保存当前文档。 

读入PDF文档: 

ole

1.Obj ect.OpenFile(strl,str2) 

Strl为PDF文档名,str2为要打开的文档的 

密码。若无密码,用空字符串表示。返回True, 

则表示读入PDF文档成功,否则读入失败。 

如读入C盘根目录下的“1.pdf”文档: 

ole

1.Object.OpenFile(“C:\1.pdf”,””) 

关闭当前PDF文档的代码: 

ole

1.Obj ect..CloseFile; 

保存当前PDF文档的代码: 

ole

1.Object..Save(); 

2.3跳转到指定的PDF文档页面 

浏览PDF文档过程中需要浏览指定的页面, 

如转到“上一页”、“下一页”、“首页”和“最后一 

页”。SDK中使用如下代码完成跳转: 

ole

1.Object.GotoNextPage()//转到下~ 

页 

ole

1.Object.GotoPrevPage()//转到前一 

页 

ole

1.Object.GotoPage(0)//转到第一页 

ole

1.Obj ect.GotoPage(ole—1.Obect.Page- 

Count一1)//转到最后一页 

注意:SDK中PDF文档的页码是从0开始 

的,为了不使转到没有的页码,通常使用Page— 

Count获得PDF文档的总页码,而使用CurPage 

获得当前页。 

2.4页面的放大和缩小 

浏览PDF文档时,根据需要调整页面的大 

小,如果是生成或转换的PDF文档(扫描的PDF 

文档除外),其文字缩放无任何失真。FoxitRead— 

er SDK控件中使用ZoomLevel调整PDF文档阅 

读页面的方法。 

下面的代码是实现PDF文档阅读页面逐次 

放大。 

if(ole

1.Object.zoomlevel<一250)then 

ole

_

1.Object.zoomlevel—ole一1.Object.Zoom— 

level+10 

下面的代码是实现PDF文档阅读页面逐次 

缩小。 

if(ole

1.Objeet.zoomlevel>30)then ole一 

1.Object.zoomlevel—ole一1.Object.zoomlevel 

1 0 

3 FoxitReader SDK控件示例 

如图2是一个用于阅读PDF文档的窗口,窗 

口中包括首页、前一页、下一页、末页、放大、缩小、 

打开文件按钮,窗口的标题栏中显示打开的PDF 

文档名称。 

图2 阅读器示例 

初始化及首页、前一页、下一页、末页、放大、 

缩小按钮代码如上所述,“打开文件”按钮代码如 

下: 

string ls

docname,ls

named,str 

integer li

——

value 

li

value—GetFileOpenName(”选择文件”, 

& 

+Is

docname,ls

named,”PDF文件”,& 

+”PDF文件(*.pdf),*.pdf,”) 

str 

85 

武汉船舶职业技术学院学报2012年第3期 

IF li

value一1 THEN 

非常方便地实现系统的功能。本文通过OLE对 

ole

1.Object.openFile(1s—docname,str) 

象链接Foxit Reader SDK(ActiveX)控件,实现了 

xxwin.title— 

docname 

在程序中就能阅读PDF文档的功能,无需切换窗 

end if 

口,非常方便。 

4 结 语 

参 考 文 献 

1路遥.PDF文件阅读器EJ].电脑编程技巧与维护,2007.7 

OLE是Windows系统中允许应用程序共享 

2百度百科,http://baike.baidu.com/view/118545.him,2011 

12—30 

数据和程序功能的一种标准的便利方法。在 

3向隅.新编PowerBuilder程序设计实例教程[M].北京:清化 

PowerBuilder中充分使用OLE对象链接控件, 

大学出版社,2009 

To Read PDF File through OLE controller 

Based on PowerBuilder Platf0rm 

LIAO Meng-hu 

(Wuhan Railway Vocational College of Technology,Wuhan 430205,China) 

Abstract:PDF document is a widely used electronic document format,which has nothing to 

do with the operating system.The article introduces how to develop PDF Reader by SDK 

(ActiveX)in PowerBuilder 

Key words:PDF Document;PowerBuilder;ActiveX 

(责任编辑:谭银元) 

(上接第79页) 

Stress Analysis and Reinforcement Measures of Floor slab 

ZHAO E—gui 

(Wuhan Institute of Shipbuilding Technology,Wuhan 430050,China) 

Abstract:This essay makes the structural stress analysis on the bearing capacity 0f a teach— 

ing building floor slab in Wuhan Institute of Shipbuilding Technology.Commonly used 

methods of concrete structure reinforcement are then analyzed,and the final program for 

concrete structure reinforcement with CFRP materials iS decided. 

Key words:Carbon Fiber Sheet;reinforcement;bearing capacity 

(责任编辑:谭银元) 

86 

本文标签: 文档控件文件