• 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;  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);
  • 相关阅读:
    JavaScript作用域学习笔记
    Object.prototype.toString.call() 区分对象类型
    oracle 经典SQL整理
    day31
    ID3决策树
    C# 中浅拷贝与深拷贝区别
    C#值类型和引用类型的区别
    C#守护进程(windows服务)
    C#线程池
    C#双缓冲绘图
  • 原文地址:https://www.cnblogs.com/liessay/p/14984646.html
Copyright © 2020-2023  润新知