效果展示

调用方式

放入窗体即可使用,不想安装太多组件,可使用纯代码方式调用

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文件的更多相关文章

  1. 织梦中在线显示pdf文件的方法

    如何在织梦中添加pdf文件并显示呢?下面这个教程将带领大家来操作.(注:手机版无法查看) 第一步:在系统-系统基本参数-附件设置中添加pdf格式 并且将大小调大 第二步:在核心-内容模型-普通文章中添 ...

  2. PDF.Js的使用—javascript中前端显示pdf文件

    PDF.Js的使用—javascript中前端显示pdf文件 写于2018/12/6 起因是一个图片展示页面需要展示pdf格式的文件,所以查了半天决定使用pdf.js,我也不求有多了解它,能实现我想要 ...

  3. react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项

    react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项 之前做了一个需求,在注册账号的时候,让用户同意服务条款, 服务条款是一个PDF文件, 这就需要在react内加 ...

  4. 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)

    应项目需求要把PDF内嵌到网页中显示,其中有了很多办法,比如用<embed/>元素放入PDF文件,但是效果不理想,浏览器兼容不理想,在ie9/8(其他版本没有测试)显示会提示下载pdf文件 ...

  5. IE浏览器不能自动显示PDF文件的解决办法

    今天更新了Adobe的PDF Reader,更新后发现在网页上无法预览PDF文件了,点击PDF的连接,浏览器就会提示下载或者打开,感觉很不爽,经过一番百度,找到了解决办法,在这里分享一下. 打开IE浏 ...

  6. 在网页浏览器中原生显示PDF文件

    在网页中直接显示pdf格式的文件方便阅读.但是如果文件较大加载速度会很慢,另外如果客户端没有安装pdf阅读插件的话,也就看不了了. 这种方式的好处就是不需要转换,直接显示,而且在加载时(高级的浏览器, ...

  7. 在网页中显示PDF文件及vue项目中弹出PDF

    1.<embed width="800" height="600" src="test_pdf.pdf"> </embed ...

  8. android 显示 PDF 文件

    1.开源项目地址 : https://github.com/JoanZapata/android-pdfview 2.引用 compile 'com.joanzapata.pdfview:androi ...

  9. WinForm中显示PDF文件

    一.VS2013中,菜单-工具-选择工具箱项-COM组件-勾选“Adobe PDF Reader”-确定 二.在工具箱中就可以看到Adobe PDF Reader控件了,拖到窗体上. 拖到窗体上之后, ...

随机推荐

  1. docker版LAMP(PHP+MYSQL+APACHE)配置

    最近在搭测试环境,一开始就在vagant和docker之间来回折腾.两者其实都非常适合用来搭开发环境:但最终让我决定用Docker的原因是因为Vagant在hyper-v下出现了一些奇怪的问题,所以D ...

  2. maze writeup

    maze writeup 攻防世界的一道迷宫题,第一次接触这样的题,个人感觉很有意思,收获也挺多,做一篇笔记记录一下. 程序分析 __int64 sub_4006B0() { signed __int ...

  3. Vue 脚手架学习

    首先就是安装脚手架 npm install @vue/cil -g 全局安装 在这里我遇到一个问题:安装不了脚手架,报错显示: 通过苦逼的查找原因就是 以前使用的taobao镜像 导致的,删除镜像换成 ...

  4. Java流程控制02——顺序结构

  5. 心酸!30岁深漂失业3个月,从巅峰跌落谷底,大龄Android开发必须要懂的事!

    2021年3月,我的前同事,在我们群里说他准备回老家了,问我们有没有人可以暂时收养他的猫. --他说,这周末就要离开深圳了. 他失业了.3个多月没收入,还要交着房租,过年来之后找了快一个月的工作也没有 ...

  6. Spring Cloud Alibaba - RestTemplate

    Spring Cloud Alibaba - RestTemplate Controller导入依赖和相关属性 @SuppressWarnings("all") @RestCont ...

  7. 使用各类BeanUtils的时候,切记注意这个坑!

    在日常开发中,我们经常需要给对象进行赋值,通常会调用其set/get方法,有些时候,如果我们要转换的两个对象之间属性大致相同,会考虑使用属性拷贝工具进行. 如我们经常在代码中会对一个数据结构封装成DO ...

  8. shell免交互

    目录 一.Here Document免交互 1.1.Here Document概述 1.2.注意事项 1.3.免交互示例 wc -l实现对行数的统计 read命令接收输入并打印 passwd给用户设置 ...

  9. 【大咖直播】Elastic Security 安全管理实战工作坊

    本次实战课程,旨在用 Elastic Security 来武装每一位安全运维人员,从容预防.检测和应对网络威胁.这款免费开放的解决方案提供了 SIEM.端点安全.威胁狩猎.云监控.恶意软件保护等功能. ...

  10. perfdog的基本使用

    perfdog的下载安装就不做过多介绍了,直接进入正题,首先介绍下perfdog页面的结构 如下图 1.显示连接的设备 2.选择需要测试的app 3.device tab下显示设备的基本信息,sett ...