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

【Delphi】【問題】使用MODI 列印TIF文件會太小

尚未結案
cwvdavid
一般會員


發表:1
回覆:4
積分:1
註冊:2005-02-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-13 00:51:22 IP:59.104.xxx.xxx 未訂閱
不曉得各位先進有沒有過這種情形, 其實敝人是需要將TIF文件(很多頁)透過Delphi列印出來, 目前在這裡只找到2篇有介紹的 http://delphi.ktop.com.tw/topic.php?topic_id=53772 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=55116 雖然這兩篇的重點不在於列印,而是OCR, 但敝人也藉著這2篇,另外參考微軟的說明, 透過PrintOut,順利將Tif文件列印出來了... 問題是,如果一個Tif文件,內含2頁以上, 第二頁之後的,會變的非常非常小 敝人的程式碼如下 procedure TForm1.Button2Click(Sender: TObject); var ddt: IDocument; i: Integer; begin if OpenDialog1.FileName = '' then begin ShowMessage('請先選擇一個tif檔案!'); exit; end; ddt := IDispatch(CreateOleObject('MODI.Document')) as IDocument; try ddt.Create(OpenDialog1.FileName); //第一次執行程式時, 會發生[類別尚未登錄] //所以要try之後再執行一次, 才會成功(之後就不會了) except ddt.Create(OpenDialog1.FileName); end; i:=ddt.Images.Count - 1; ddt.PrintOut(0,i,1,'FinePrint','',true,1); ddt := nil; end; 只要使用了PrintOut,就會有這個問題, 後來敝人在 http://www.codeproject.com/csharp/MartinsPaperlessDesktop.asp 找到了 AxMODI 的使用,(不過是給dotNET的...) 敝人實測後,發現只要import AxMODI (它也是在 Microsoft's Document Imaging Library 裡面) (不過它是屬於工具列上面的控制項元件) import之後,在列印前, 加入下面2行程式(下面2行是VB.NET的寫法) AxMiDocView1.Document = ddt 'ddt就是Delphi的IDocument AxMiDocView1.Refresh() (當然,要先把AxMiDocView拉到畫面上,或是事先宣告) 這麼一來,所有的Tif畫面都會因為有 AxMiDocView,而不會走樣, 問題就是,敝人在Delphi 6試著要從 Microsoft's Document Imaging Library 中 加入控制項,但就是沒有成功(應該說跟本不知道怎麼加...) 更令人頭痛的是,在Google,AxMiDocView所能查到的資料 少之又少,... 在無計可施之下,只好來向前輩們求助, 望不吝指教, 謝謝大家 敝人衷心感謝,謝謝
系統時間:2024-04-26 3:25:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!