如何指定紙張大小或是指定印表機內的紙張 |
答題得分者是:pprayer
|
kevinsoung
一般會員 發表:36 回覆:41 積分:15 註冊:2011-11-09 發送簡訊給我 |
各位前輩:
我用 下列方式:已經可以指定要列印的印表機 [code delphi] var i : integer; begin i := Printer.Printers.IndexOf('標籤貼紙印表機'); if i >= 0 then Printer.PrinterIndex := i; Printer.BeginDoc; Printer.Canvas.Font.Size:=12; Printer.Canvas.Textout(150,10,'123' ' '); Printer.Canvas.Textout(210,09,'ABCDEFG'); Printer.Canvas.Textout(500,09,'$85'); Printer.Canvas.Font.Size:=6; Printer.Canvas.Textout(130,85,'HGFDS/MNMNMNM'); Printer.Canvas.Font.Size:=2; Printer.Canvas.Textout(0,150,''); Printer.Canvas.Font.Size:=4; Printer.Canvas.Textout(0,0,'----------------------------------------------------------------------'); Printer.EndDoc; [/code] 也可以列印 但是列印後都會多印很多空白導致要撕紙時位置不對 1.要如何指定列印時的紙張大小 例如寬 6公分 高是4公分 (優先解決方案) 或是 2.我在印表機已經設定好紙張大小 名稱為 6x4 然後用程式 指定印應表機使用該紙張 感謝各位前輩的指導 |
pprayer
高階會員 發表:35 回覆:185 積分:174 註冊:2002-03-13 發送簡訊給我 |
Delphi的TPrinter的Canvas會可能超過印表機的PaoerSettings
如果你不會調 可以試試直接丟POS command給Printer Port (但要先找到那台印表機的手冊) 例如 AssignFile(port, 'COM1'); // ex: LPT1、COM1、USB1 Rewrite(port); Writeln(port, buffer); //列印文字.. Write(port,#29#86#66#0); //撕紙 CloseFile(port); |
kevinsoung
一般會員 發表:36 回覆:41 積分:15 註冊:2011-11-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |