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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM