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控件了,拖到窗体上. 拖到窗体上之后, ...
随机推荐
- JIT in MegEngine
作者:王彪 | 旷视框架部异构计算组工程师 一.背景 什么是天元 旷视天元(MegEngine)是一个深度学习框架,它主要包含训练和推理两方面内容.训练侧一般使用 Python 搭建网络:而推理侧考虑 ...
- Mybatis-初见
目录 介绍 示例 搭建环境 创建一个模块 CURD 万能Map 配置解析 环境配置 environments 属性 properties 类型别名 typeAliases 其他配置 映射器 mappe ...
- RSA算法之学习
一.RSA算法 RSA是非对称加密算法中的代表,它的重要性不言而喻,为了弄清楚RSA算法,我们一起来完成一项任务: 背景:现在是疫情时代,假如小明和女朋友被迫在两个城市,小明为了表达感情,想发给对方一 ...
- 工作中后端是如何将API提供出去的?swaggo很不错
工作中后端是如何将API提供出去的?swaggo很不错 咱们上一次简单分享了 GO 权限管理之 Casbin ,他一般指根据系统设置的安全规则或者安全策略 分享了权限管理是什么 Casbin 是什么 ...
- Kong网关安装之Docker版(2)
1.安装kong管理工具:konga或者kong-dashboard,这里选择konga 拉取konga镜像: sudo docker pull pantsel/konga:0.14.4 初始化kon ...
- 删除EFI系统分区(ESP)后Windows无法启动,重建引导分区并修复启动的过程
@ 目录 一.开机故障描述 二.工具: 三.什么是EFI系统分区 四.如何查看EFI系统分区 五.删除后如何重建系统分区 1.建立未分配空间 2.建立ESP分区 3.按下图,ESP分区的大小200M即 ...
- SpringMVC学习08(拦截器)
8.拦截器 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.开发者可以自己定义一些拦截器来实现特定的功能. 过滤器与拦截器的区别: ...
- go配置私有仓库 (go mod配置私有仓库)
windows 配置go私有仓库 一.环境 1.私有gitlab (gitlab.xxx.com) 2.go 1.16.3 3.win10系统, 家目录:C:\Users\Administrator, ...
- 更好地使用Atom支持基于Jupyter的Python开发
有关于使用Atom进行Python开发的网上资料比较少,最近发现使用Atom结合Hydrogen插件进行Python开发,尤其是数据挖掘相关的工作,整体体验要好于Vscode,Vscode虽然说也有连 ...
- Sqli-Labs less20-22
less-20 第20关成功登陆之后会产生一个cookie,作为下次登陆的凭证(可以用于登陆其他人的qq空间) 这里我依然使用burp suite,其实火狐和谷歌上有许多插件可以改http头和cook ...