列印超長文件 |
|
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 只要是Delphi 中能做出來都可以...thx..拉一個Form1,拉一個Memo1,拉一個Button1 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,printers; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var y,h,h2,i:integer; begin y:=0; printer.BeginDoc; printer.Canvas.Font.size:=12; printer.Canvas.Font.name:='細明體'; h:=printer.Canvas.textheight('W'); h2:=h div 2; for i:=0 to memo1.Lines.count-1 do begin printer.canvas.TextOut(0,y,memo1.lines[i]); y:=y h h2; if y h>=printer.PageHeight then begin printer.NewPage; y:=0; end; end; printer.enddoc; end; end.以上程式會從Memo1中印出文字資料於印表機中 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 編譯完執行發生下面錯誤: Project Project1.exe raised exception EPrinter with message 'Printing in progress'. 我的電腦有預設印表機, 這個錯誤是在 printer.beingdoc 時就發生的...這我也發生過的,但這程式我執行沒問題, 您可增加,下列指令: while printer.Printing do application.processmessage; printer.beingdoc; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 沒辦法這樣設吧!! 就是因為如此我才想到站上來找找方法, 看看能透過什麼樣的方式能夠做出我要的東西, 印表機自己會自動分頁...很困擾... 還是說可以設定印表機的參數? 謝謝你的回答.在 Windows 下,如果要列印奇怪紙張,就一定要「自定紙張大小」,否則,設定紙張大小為 A4,在列印到 A4 大小時就會換頁! 因為硬體是很笨的,軟體告訴它紙有多大,它才會知道。 所以,你一定要從控制台→列表機→列印喜好設定→紙張→自定大小 輸入您要的大小,如此您的程式就可以 work 了!(因為程式本來就是對的不是程式的問題 )
------
http://www.ViewMove.com |
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: ...好吧... 那就來個主題好了.. 比如說,印春聯!!! 春聯的寬度一般印表機可以印,但長度就是我的問題了, 此外, 我的印表機是hp-dj610c 在控制台中我也設定了新格式,但列印時在印表機內容中找不到我新增的那個格式!就這樣了,謝謝你們抽空回答.若您的印表機為噴墨,印表機不會讓您將紙張設那麼長, 而且我也很好奇,噴墨印表機如何裝入那麼長的紙張, 因該是點陣才有辦法放入連續式報表,才有辦法很長吧! 有一個辦法可以解決您的問題,就是直接丟控制指令給印表機, 但程式可能很不好寫,因要自己處理字型與圖形陣列轉換印表指令的程序! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
chiehmin
高階會員 發表:13 回覆:134 積分:134 註冊:2002-05-23 發送簡訊給我 |
引言: 在 Windows 下,如果要列印奇怪紙張,就一定要「自定紙張大小」,否則,設定紙張大小為 A4,在列印到 A4 大小時就會換頁! 因為硬體是很笨的,軟體告訴它紙有多大,它才會知道。 所以,你一定要從控制台→列表機→列印喜好設定→紙張→自定大小 輸入您要的大小,如此您的程式就可以 work 了!(因為程式本來就是對的不是程式的問題 ) >>< face="Verdana, Arial, Helvetica"> 在Windows2000/XP下.....列印喜好設定裡皆沒有自定大小可以選.. 請問有辦法解決嗎? 謝謝 否則程式就非得在Windows98/ME下執行列印了..-__-||| |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言:引言: 在 Windows 下,如果要列印奇怪紙張,就一定要「自定紙張大小」,否則,設定紙張大小為 A4,在列印到 A4 大小時就會換頁! 因為硬體是很笨的,軟體告訴它紙有多大,它才會知道。 所以,你一定要從控制台→列表機→列印喜好設定→紙張→自定大小 輸入您要的大小,如此您的程式就可以 work 了!(因為程式本來就是對的不是程式的問題 ) >>< face="Verdana, Arial, Helvetica"> 在Windows2000/XP下.....列印喜好設定裡皆沒有自定大小可以選.. 請問有辦法解決嗎? 謝謝 否則程式就非得在Windows98/ME下執行列印了..-__-|||我的系統就是 Windows2000 .... [自定大小] 是在紙張的那一欄,內定的紙張也許是 [ A4 ][↓] 按下右邊的那個[↓] 在第一項或最後一項通常就是 [ 自定大小 ] 選它之後,會出現自定的長、寬輸入欄位,輸入想要的長度即可。
------
http://www.ViewMove.com |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言:之前我有寫過一個程式是網咖計費的程式,而其紙張大小就如三聯式的發票大小,一開始我也一直想要直接控制列表機,但那真的是不太容易,最後解決的方法是在控制台將列表機的紙張設成自定大小,其大小與真實紙張相同,而我在程式中,則是直接使用 bcb 的列印元件直接列印,只有設定字型及行距,不去選定紙張,如此,可以正常套印在紙上,列印不滿下跳頁,也都正常的跳頁。 hp-dj610c 我是沒有用過,不過,大部分的列表機都應該可以支援列印長條紙,例如: L 型的要載入長條紙自然是沒問題;而 匚 型的通常也支援從後面直接進紙,所以只要使用自定紙張就應該是可以列出長條紙。引言: ...好吧... 那就來個主題好了.. 比如說,印春聯!!! 春聯的寬度一般印表機可以印,但長度就是我的問題了, 此外, 我的印表機是hp-dj610c 在控制台中我也設定了新格式,但列印時在印表機內容中找不到我新增的那個格式!就這樣了,謝謝你們抽空回答.若您的印表機為噴墨,印表機不會讓您將紙張設那麼長, 而且我也很好奇,噴墨印表機如何裝入那麼長的紙張, 因該是點陣才有辦法放入連續式報表,才有辦法很長吧! 有一個辦法可以解決您的問題,就是直接丟控制指令給印表機, 但程式可能很不好寫,因要自己處理字型與圖形陣列轉換印表指令的程序! ~~~Delphi K.Top討論區站長~~~
------
http://www.ViewMove.com |
jjyeah
一般會員 發表:10 回覆:11 積分:4 註冊:2002-06-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |