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);

 

posted @ 2021-07-08 09:32  liessay  阅读(1680)  评论(0编辑  收藏  举报