全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2906
推到 Plurk!
推到 Facebook!

請教如何抓取報表畫面

 
peipei36
一般會員


發表:8
回覆:51
積分:16
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-03-13 13:20:12 IP:211.74.xxx.xxx 未訂閱
請教一下下... 當報表輸出為A4橫印時,我想抓取報表內容畫面,不知該如何做?! (也就是說,報表畫面是處於「含捲軸」的大畫面,我想直接透過程式碼取得 它的內容並存成圖形檔,不然,透過一般抓圖軟體必須拼裝圖片...) 先謝謝您耐心看完我的問題!! 發表人 - peipei36 於 2002/03/13 13:21:22
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-03-13 15:10:10 IP:192.168.xxx.xxx 未訂閱
引言: 請教一下下... 當報表輸出為A4橫印時,我想抓取報表內容畫面,不知該如何做?! (也就是說,報表畫面是處於「含捲軸」的大畫面,我想直接透過程式碼取得 它的內容並存成圖形檔,不然,透過一般抓圖軟體必須拼裝圖片...) 先謝謝您耐心看完我的問題!! 發表人 - peipei36 於 2002/03/13 13:21:22
哈哈!您來對地方了! 請至本站"會員貢獻檔案上傳專區"下載fineprint軟體, 可印表前將預視的畫面轉至剪貼簿,再到小畫家貼上就有圖檔了! 有問題再發問吧! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
peipei36
一般會員


發表:8
回覆:51
積分:16
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-03-13 22:50:27 IP:61.59.xxx.xxx 未訂閱
感謝站大提供這麼「偷懶」的工具^^~ 不過,我在98執行發現(該網站有for 98的FinePrint), 部份文字顯示不完整、粗體字模糊掉.... 我原來想要透過Delphi的QuickReport在報表Preview時, 利用它的QRPrint取得Bitmap,並存成圖形檔... 因為我想這樣應該是最不會失真的(透過報表顯示元件QRPrint..) 但試不出來(取到的圖都是nil..)~ 不知是不是我的想法不對...謝謝站大囉^^
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-03-13 22:58:28 IP:61.219.xxx.xxx 未訂閱
引言: 感謝站大提供這麼「偷懶」的工具^^~ 不過,我在98執行發現(該網站有for 98的FinePrint), 部份文字顯示不完整、粗體字模糊掉.... 我原來想要透過Delphi的QuickReport在報表Preview時, 利用它的QRPrint取得Bitmap,並存成圖形檔... 因為我想這樣應該是最不會失真的(透過報表顯示元件QRPrint..) 但試不出來(取到的圖都是nil..)~ 不知是不是我的想法不對...謝謝站大囉^^
嗯!您說得對,給我一點時間試試您說的方法! 應是可行的! 請等我幾天,ok? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
ccl
一般會員


發表:2
回覆:12
積分:2
註冊:2002-03-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-03-14 15:32:14 IP:61.145.xxx.xxx 未訂閱
你只要使用 adobe Acrobat 就可以將要列印的東西全部輸出到 pdf 的檔案 並且還可以將他修改 以及另存其他檔案格式
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-03-15 12:28:52 IP:192.168.xxx.xxx 未訂閱
引言: 利用它的QRPrint取得Bitmap,並存成圖形檔... 因為我想這樣應該是最不會失真的(透過報表顯示元件QRPrint..) 但試不出來(取到的圖都是nil..)~ 不知是不是我的想法不對...謝謝站大囉^^
我試過了,可以抓到圖,但是抓到的是QuickRep1在設計階段的畫面, 並非預視時看到的畫面,我是用 QuickRep1.PaintTo(image1.handle,0,0) 所以可能此路不通... ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
peipei36
一般會員


發表:8
回覆:51
積分:16
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-03-15 13:40:06 IP:61.59.xxx.xxx 未訂閱
謝謝站大~ 本來想放棄了...不過看您解問題的比我問問題的還努力... 決定不睡覺也要給它踹出來^^~ 結果試成功了..至少可以存成MetaFile...
procedure TForm1.SummaryBand1AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
  var mf1:TMetaFile;
begin
  mf1 := TMetaFile.Create;
  mf1.Assign(QuickRep1.QRPrinter.GetPage(2)); //第幾頁
  mf1.SaveToFile('c:\tmp.emf');
  mf1.Free;
end;
再次感謝您的辛苦囉!! ps.好像QRPrinter才是真正runtime時保有該影像的地方... 發表人 - peipei36 於 2002/03/15 13:41:28 發表人 - peipei36 於 2002/03/15 13:42:04
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-03-15 16:32:45 IP:192.168.xxx.xxx 未訂閱
[quote] 結果試成功了..至少可以存成MetaFile... [/code] Sorry!我想知道Metafile如何轉成BMP? 謝謝! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
peipei36
一般會員


發表:8
回覆:51
積分:16
註冊:2002-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-03-15 17:03:15 IP:61.59.xxx.xxx 未訂閱
啊~~我高興得太早了... 我試這樣的方式..若圖片大一些(例如A4橫印).. 仍會造成記憶體出錯..等於並未解決>.<    另外,MetaFile如何轉我尚未試,我先以word或Emf viewer的軟體測ok.. 不然,若要轉bmp,不曉得透過Clipboard行不行得通.. 例如:
  var MyFormat : Word;
      AData : THandle;
      APalette: HPALETTE;
begin
  QuickRep1.QRPrinter.GetPage(1).SaveToClipboardFormat(MyFormat,AData,APalette);
  ClipBoard.SetAsHandle(MyFormat,AData);
  ...
發表人 - peipei36 於 2002/03/15 17:04:07
系統時間:2017-12-14 12:21:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!