線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2211
推到 Plurk!
推到 Facebook!

请问我打开PDF文件选用的元件

尚未結案
igriver
一般會員


發表:16
回覆:12
積分:5
註冊:2004-11-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-14 23:01:33 IP:219.145.xxx.xxx 未訂閱
我想在FORM上打开PDF文件,觉得TWebBrowser元件比Acrobat OCX元件更灵活。请教,我这样做明智吗?
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-15 06:14:55 IP:219.68.xxx.xxx 未訂閱
igriver您好..我寫了支程式...您看看他的開啟速度的差別 用TWebBrowser元件來開啟..足足比Acrobat OCX慢了3倍... 用TWebBrowser..我想唯一的好處是不需要IMPORT TYPE LIBRARY...直接拉個TWebBrowser就能用 其他無論是開啟速度..或是視窗捲動時的流暢度..都覺得還是直接引用OCX來的較順暢... 您也可以來試看看..程式下載: > <> <> <> < > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
igriver
一般會員


發表:16
回覆:12
積分:5
註冊:2004-11-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-15 13:01:27 IP:219.145.xxx.xxx 未訂閱
geniustom,感谢您的关注。 想再跟您探讨一下Acrobat OCX元件的用法。 用它打开PDF文件时,如何打开到指定的页上? 比如直接打开1.pdf的第5页。 再近一步,有没有方法直接打开PDF定义的书签的关联位置? 我之所以选择WEB元件打开PDF,是因为WEB元件还可以容纳其他的元素,比如我打开PDF文件之前显示的是HTML的帮助信息。 (虽然这样可以分不同的PAGE显示)。 我十分想利用已有PDF文件的书签,不知道如何利用? 多谢多谢。
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-15 14:42:22 IP:219.68.xxx.xxx 未訂閱
igriver您好...不管怎麼說..我覺得使用OCX是絕對比WebBrowser來的有彈性的.. 因為OCX提供的函數跟方法..幾乎可以把ACROBAT內建的功能都取代掉.. 作一個屬於您自己的按鈕.... 可參考以下指令 < class="code"> pdf1.setShowToolbar(false); //將原本內建的SCROLL BAR隱藏(建立自己的按鈕) pdf1.setNamedDest('參考文獻');//要跳到該標籤(必須要有對應的..否則會沒反應) pdf1.setCurrentPage(5); //跳到第5頁 pdf1.gotoFirstPage; 第一頁 pdf1.gotoLastPage; //最後一頁 pdf1.gotoPreviousPage //上一頁 pdf1.gotoNextPage; //下一頁 其他相關的方法..
function LoadFile(const fileName: WideString): WordBool; dispid 2;
procedure goForwardStack; dispid 9;
procedure goBackwardStack; dispid 10;
procedure setPageMode(const pageMode: WideString); dispid 11;
procedure setLayoutMode(const layoutMode: WideString); dispid 12;
procedure setNamedDest(const namedDest: WideString); dispid 13;
procedure Print; dispid 14;
procedure printWithDialog; dispid 15;
procedure setZoom(percent: Single); dispid 16;
procedure setZoomScroll(percent: Single; left: Single; top: Single); dispid 17;
procedure setView(const viewMode: WideString); dispid 18;
procedure setViewScroll(const viewMode: WideString; offset: Single); dispid 19;
procedure setViewRect(left: Single; top: Single; width: Single; height: Single); dispid 20;
procedure printPages(from: Integer; to_: Integer); dispid 21;
procedure printPagesFit(from: Integer; to_: Integer; shrinkToFit: WordBool); dispid 22;
procedure printAll; dispid 23;
procedure printAllFit(shrinkToFit: WordBool); dispid 24;
procedure setShowScrollbars(On_: WordBool); dispid 25;
procedure AboutBox; dispid -552;
上面提供的函數都很直觀..看了就知道怎麼用了..如果不會用..也可以在GOOGLE查詢關鍵字.. 相信應該有很多資料可參考 GOOD LUCK <> <> <> < > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
igriver
一般會員


發表:16
回覆:12
積分:5
註冊:2004-11-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-15 21:38:17 IP:219.145.xxx.xxx 未訂閱
多谢多谢geniustom大大,太伟大了!!!
igriver
一般會員


發表:16
回覆:12
積分:5
註冊:2004-11-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-16 20:53:04 IP:219.145.xxx.xxx 未訂閱
对不起,我疏忽了一下,您给出的是OCX的函数我以前试过。 象 pdf1.setCurrentPage(5);这样的没问题,但是 pdf1.setNamedDest('參考文獻');//跳转到书签不行呀。 您试过吗? 望再次答复。
系統時間:2024-05-17 11:34:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!