Delphi使用AcroPDF ActiveX显示PDF文件
效果展示

调用方式






放入窗体即可使用,不想安装太多组件,可使用纯代码方式调用
interface
.....
var
AcroPDF: TAcroPDF;
....
implementation
.....
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AcroPDF.Free;
end; procedure TForm1.FormCreate(Sender: TObject);
begin
AcroPDF := TAcroPDF.Create(Self);
AcroPDF.Top := 40;
AcroPDF.Left := 0;
AcroPDF.Height := 360;
AcroPDF.Width := Self.Width;
AcroPDF.Parent := Self;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
AcroPDF.LoadFile(OpenDialog1.FileName);
end;
end;
AcroPDF常用调用方法
//加载文件
function LoadFile(const fileName: WideString): WordBool;
//是否显示工具表,调用方式setShowToolbar(false)
procedure setShowToolbar(On_: WordBool);
//转到第一页
procedure gotoFirstPage;
//转到最后一页
procedure gotoLastPage;
//转到下一页
procedure gotoNextPage;
//转到上一页
procedure gotoPreviousPage;
//转到文档中指定的页面。保持页面内的当前位置和缩放级别
procedure setCurrentPage(n: Integer);
//如果下一个视图存在,则转到视图堆栈的下一个视图。下一个视图可能在另一个文档中
procedure goForwardStack;
//如果前面的视图存在,则转到视图堆栈上的先前视图。前面的视图可能在不同的文档中
procedure goBackwardStack;
//根据指定的值设置页面模式
procedure setPageMode(const pageMode: WideString);
//根据指定的值设置页面视图的布局模式
procedure setLayoutMode(const layoutMode: WideString);
//将页面视图更改为指定字符串中的指定目标
procedure setNamedDest(const namedDest: WideString);
//根据用户对话框中选择的选项打印文档。这些选项包括嵌入式打印(在给定页面上的一个边界矩形内打印),以及对指定的打印机进行交互式打印。
procedure Print;
//根据用户对话框中选择的选项打印文档。这些选项包括嵌入式打印(在给定页面上的一个边界矩形内打印),以及对指定的打印机进行交互式打印。
procedure printWithDialog;
//根据指定的值设置放大率
procedure setZoom(percent: Single);
//根据指定的值设置放大率,并根据指定的数量水平和垂直滚动页面视图。
procedure setZoomScroll(percent: Single; left: Single; top: Single);
//根据指定的字符串设置页面的视图
procedure setView(const viewMode: WideString);
//根据指定的字符串设置页面的视图。根据视图模式,页面要么滚动到右边,要么按偏移量指定的数量进行滚动。
procedure setViewScroll(const viewMode: WideString; offset: Single);
//根据指定的坐标设置视图矩形(X偏移,Y偏移,宽度,高度)
procedure setViewRect(left: Single; top: Single; width: Single; height: Single);
//打印指定的页面,而不显示用户对话框。使用默认的打印机、页面设置和作业设置。
//*注:其有2个参数,指定打印第几页到第几页码,调用方式printPages(开始页,结束页)
procedure printPages(from: Integer; to_: Integer);
//打印指定的页面,而不显示用户对话框。使用默认的打印机、页面设置和作业设置
//*注:其中第3个参数表示在打印文档时确定是否要缩放可映像区域。
//值为0表示不应该使用扩展,
//而正值值表明,如果需要,页面会缩小,以适应打印机中页面的可想象区域。
procedure printPagesFit(from: Integer; to_: Integer; shrinkToFit: WordBool);
//在不显示用户对话框的情况下打印整个文档。使用默认的打印机、页面设置和作业设置。
procedure printAll;
//在不显示用户对话框的情况下打印整个文档,如果需要,页面会缩小,以适应打印机中页面的可想象区域。使用默认的打印机、页面设置和作业设置。
//*注:其有1个参数,在打印文档时确定是否要缩放可映像区域。
//值为0表示不应该使用扩展,
//而正值值表明,如果需要,页面会缩小,以适应打印机中页面的可想象区域。
procedure printAllFit(shrinkToFit: WordBool);
//确定滚动条是否会出现在文档视图中
procedure setShowScrollbars(On_: WordBool);
//获取Acrobat ActiveX控件版本的值
function GetVersions: OleVariant;
//突出显示当前页面中指定的边界矩形中的文本选择。
procedure setCurrentHightlight(a: Integer; b: Integer; c: Integer; d: Integer);
procedure setCurrentHighlight(a: Integer; b: Integer; c: Integer; d: Integer);
Delphi使用AcroPDF ActiveX显示PDF文件的更多相关文章
- 织梦中在线显示pdf文件的方法
如何在织梦中添加pdf文件并显示呢?下面这个教程将带领大家来操作.(注:手机版无法查看) 第一步:在系统-系统基本参数-附件设置中添加pdf格式 并且将大小调大 第二步:在核心-内容模型-普通文章中添 ...
- PDF.Js的使用—javascript中前端显示pdf文件
PDF.Js的使用—javascript中前端显示pdf文件 写于2018/12/6 起因是一个图片展示页面需要展示pdf格式的文件,所以查了半天决定使用pdf.js,我也不求有多了解它,能实现我想要 ...
- react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项
react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项 之前做了一个需求,在注册账号的时候,让用户同意服务条款, 服务条款是一个PDF文件, 这就需要在react内加 ...
- 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)
应项目需求要把PDF内嵌到网页中显示,其中有了很多办法,比如用<embed/>元素放入PDF文件,但是效果不理想,浏览器兼容不理想,在ie9/8(其他版本没有测试)显示会提示下载pdf文件 ...
- IE浏览器不能自动显示PDF文件的解决办法
今天更新了Adobe的PDF Reader,更新后发现在网页上无法预览PDF文件了,点击PDF的连接,浏览器就会提示下载或者打开,感觉很不爽,经过一番百度,找到了解决办法,在这里分享一下. 打开IE浏 ...
- 在网页浏览器中原生显示PDF文件
在网页中直接显示pdf格式的文件方便阅读.但是如果文件较大加载速度会很慢,另外如果客户端没有安装pdf阅读插件的话,也就看不了了. 这种方式的好处就是不需要转换,直接显示,而且在加载时(高级的浏览器, ...
- 在网页中显示PDF文件及vue项目中弹出PDF
1.<embed width="800" height="600" src="test_pdf.pdf"> </embed ...
- android 显示 PDF 文件
1.开源项目地址 : https://github.com/JoanZapata/android-pdfview 2.引用 compile 'com.joanzapata.pdfview:androi ...
- WinForm中显示PDF文件
一.VS2013中,菜单-工具-选择工具箱项-COM组件-勾选“Adobe PDF Reader”-确定 二.在工具箱中就可以看到Adobe PDF Reader控件了,拖到窗体上. 拖到窗体上之后, ...
随机推荐
- 学习mybatis框架>从零开始学JAVA
目录 学习mybatis框架 mybatis框架的介绍 什么是mybatis框架 为什么要使用mybatis框架 mybatis的优点 Mybatis框架环境搭建 去官网下载jar包 创建一个普通的j ...
- 四、从GitHub浏览Prism示例代码的方式入门WPF下的Prism之Mvvm的13示例
上一篇之分析了示例,没有最终写DEMO,把这一篇分析完,总结后一起写Prism下的MVVM例子. 这一篇开始分析从13示例开始,分析到MVVM主要部分结束然后写一个分析后的总结DEMO 添加一段新的内 ...
- JAVA 调用第三方短信平台接口发送短信
做了几个调用三方短信平台发送短信的例子,大部分需要 携带参数,向指定URL发送请求 回顾对接第一个平台时痛苦的乱码经历,这里放一份代码,算是个模版,再用到的时候过来copy一下就OK. 在进入主题之前 ...
- JVM-初见
目录 JVM的体系结构 类加载器 双亲委派机制 Native PC程序计数器 方法区(Method Area) 栈 堆 调优工具 常见JVM调优参数 常见垃圾回收算法 引用计数算法 复制算法 标记-清 ...
- stm32 connot enter debug mode
dap 可以发现设备,stlink jlink 均无法发现设备,但是都不能下载.connot enter debug mode ,发现是vdda 未连接
- 攻防世界PWN简单题 level2
攻防世界PWN简单题 level2 此题考验的是对ROP链攻击的基础 万事开头PWN第一步checksec 一下 32位的小端程序,扔进IDA 进入函数,找出栈溢出漏洞. 又是这个位置的栈溢出,rea ...
- Spring中的@Transactional必须要了解的概念
spring中的@Transactional基于动态代理的机制,提供了一种透明的事务管理机制,方便快捷解决在开发中碰到的问题. 一般使用是通过如下代码对方法或接口或类注释: 1 @Transactio ...
- 【硬件模块】RFIDSetting
The Octane SDK includes the core library by acting as a wrapper for extraction, modifying, and the a ...
- SynchronizedMap和ConcurrentHashMap有什么区别
SynchronizedMap实现上在调用Map的所有方法是,对整个map进行了同步! public V put(K key, V value) { synchronized (mutex) {ret ...
- Spring-Boot的动态代理AOP原理
前言 Spring AOP使用了动态代理技术,动态代理在业界比较流行的实现方式有,CGLIB,Javassist,ASM等等. Spring动态代理实现方式 Spring采用了JDK和CGLIB两种方 ...