效果展示

调用方式

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

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. pytest框架fixture的使用

    fixture可以当做参数传入 定义fixture跟定义普通函数差不多,唯一区别就是在函数上加个装饰器@pytest.fixture(),fixture命名不要以test开头,跟用例区分开.fixtu ...

  2. 科普—为什么要用ECDSA加签及其数学上的验签证明

    在上文介绍了ECDSA算法流程及模块划分,为了帮助一些小白弄懂啥是ECDSA,特此开一篇科普博文. 一.首先为啥要进行数字签名? 假设Alice要将一份合同m传输给Bob,合同上附有Alice的电子纸 ...

  3. Android面试官:说说你对 Binder 驱动的了解?

    面试官提了一个问题:说说你对 binder 驱动的了解.这个问题虽有些 "面试造火箭" 的无奈,可难点就是亮点.价值所在,是筛选面试者的有效手段.如果让你回答,你能说出多少呢?我们 ...

  4. 10 个超棒的 JavaScript 简写技巧

    今天我要分享的是10个超棒的JavaScript简写方法,可以加快开发速度,让你的开发工作事半功倍哦. 开始吧! 1. 合并数组 普通写法: 我们通常使用Array中的concat()方法合并两个数组 ...

  5. UserControl 加载动画

    效果:实现加载UserControl动画效果 cs代码如下 public class BaseModuleView : UserControl { private TranslateTransform ...

  6. 关于shell脚本——echo、for语句、while语句、until语句

    目录 一.echo 1.1.echo命令用法 1.2.echo截取字符 二.for语句 2.1.实例 创建用户名文件 创建脚本文件 运行脚本 三.while语句 3.1.实例 创建脚本文件 运行脚本 ...

  7. Java课程设计 SSM新闻资讯管理系统 博客论坛管理系统 Java编程 博客系统源代码

    注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java后台框架:SSM(Spring+SpringMVC+Mybatis)前端技术:HTML+CSS+JavaScri ...

  8. XV6学习笔记(2) :内存管理

    XV6学习笔记(2) :内存管理 在学习笔记1中,完成了对于pc启动和加载的过程.目前已经可以开始在c语言代码中运行了,而当前已经开启了分页模式,不过是两个4mb的大的内存页,而没有开启小的内存页.接 ...

  9. Python之简单的神经网络

    from sklearn import datasets from sklearn import preprocessing from sklearn.model_selection import t ...

  10. SQL 练习29

    查询课程名称为「数学」,且分数低于 60 的学生姓名和分数 SELECT Student.Sname,Course.Cname,SC.score FROM Student,Course,SC WHER ...