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控件了,拖到窗体上. 拖到窗体上之后, ...
随机推荐
- user-agent随笔
常用的user-agent: 一.pc端的user-agent汇总,各大浏览器 1.safari 5.1 – MAC Mozilla/5.0 (Macintosh; U; Intel Mac OS X ...
- Vulhub-DC-3靶场
Vulhub-DC-3靶场 前言 今天把DC-3的靶场打了一遍,可以说这个靶场用到的思路是非常经典的,从信息搜集到漏洞利用包括内核提权.最最重要的是为了下载它的提权EXP,我它喵还花了一块二买了个CS ...
- HCIA-网络层IP地址
TCP/IP 每一层关联性 网络接口层-->TYPE 上层的网络层 --> Protocol -->不同的传输层协议 DSAP SSAP IP地址 剩下的8个字节 IPV4地址 4个 ...
- 跟Waf斗智斗勇的一天
差点心态爆炸 幸亏整出来了... 最近快放寒假了..临近高考不到最后一星期绝对不学习.. 挖下SRC 这家自带的waf头疼死我了 想几次Fuzz全都撞壁了 然后发现了这家waf的规则 信息搜集不说了 ...
- STM32启动代码分析及其汇编学习-ARM
STM32 启动代码 Author By YuCloud 边看启动文件边学汇编 汇编 see ARM: Assembler User Guide see: https://blog.csdn.net/ ...
- SpringCloud升级之路2020.0.x版-17.Eureka的实例配置
本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 上一节我们提到过, ...
- Kerberos认证流程简述
摸鱼了很长一段时间,被大佬按在地上摩擦,一时间精神恍惚想不起来写点啥,正好回来碰巧给别人讲kerberos协议认证流程,结果讲来讲去把自己讲晕了,就非常尴尬 于是有了这篇文章(友情提示:无事莫装X,装 ...
- oracle给system用户增加sysdba和sysoper 角色
第一步:先用sys用户登录到数据库 第二步:打开一个sql窗口,输入grant sysoper to system; 点击执行 第三步:等待执行完成之后,再执行grant sysdba to sys ...
- SQL 练习19
统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] SELECT Course.CId,Course.Cname ,t.[0-60],t.[6 ...
- Django3使用WebSocket实现WebShell
前言 最近工作中需要开发前端操作远程虚拟机的功能,简称WebShell. 基于当前的技术栈为react+django,调研了一会发现大部分的后端实现都是django+channels来实现websoc ...