TPrinter控制票據印表機

2021-09-08 14:22:40 字數 1889 閱讀 7531

tprinter

類是delphi

對windows

列印處理系統的封裝,它能夠幫助程式設計師在開發列印程式時盡可能地減少工作量。在程式中使用

tprinter

,只要在單元的

use

子句後面新增

printers

即可。當前印表機的

devmode

結構的控制代碼可以通過呼叫

tprinter

類中的getprinter

方法來獲取。

當程式獲得

devmode

結構的控制代碼後,就呼叫

globallock

函式來得到指向該結構的指標,隨後可對結構中的某些成員進行修改。下面就舉乙個例子來說明這一問題:假設當前印表機的預設紙張尺寸是

a3 紙,現在要列印長度為

114mm

、寬度為

190mm

的紙張。為了簡單起見,我們只在

form1

上放置乙個

button1

按鈕,增加乙個

onclick

事件,在

use

子句後新增

printers

。程式的**如下:

procedure tform1.button1click(sender: tobject);

var

device : array[0..cchdevicename

-1] of char;

driver : array[0..(max_path

-1)] of char;

port : array[0..32]of char;

hdmode : thandle;

pdmode : pdevmode;

begin

printer.getprinter(device,driver,port,hdmode);

// 獲取印表機

devmode

結構的控制代碼值,

存放在hdmode

中if hdmode < > 0 then begin

pdmode := globallock(hdmode);

// 獲取指向印表機

devmode

結構的//

指標if pdmode < > nil then begin

pdmode^.dm*****size := 256;

// 如果要將當前印表機紙張變為自定義

dm*****size

必須設定成

256

pdmode^.dm*****length := 1140;

pdmode^.dm*****width := 1900;

pdmode^.dmfields := pdmode^.dmfields or

dm_*****size;

pdmode^.dmfields :=

pdmode^.dmfields or dm_*****length;

pdmode^.dmfields :=

pdmode^.dmfields or dm_*****width;

resetdc(printer.handle,pdmode^);

// 設定印表機裝置環境控制代碼的值

globalunlock(hdmode);

end;

end;

with printer do begin

begindoc;

canvas.textout(10,10,'hello, my friend!');

enddoc;

end;

end;

高智慧型顏值好OKI票據印表機ML6100F熱銷

對於oki票據印表機來說,有個 3s 可能您還不知道,但就是這個 3s 撐起了oki的高顏值和高智慧型,這也是oki成功背後的品牌理念。比如我們今天介紹的oki ml6100f 就是3s最好的代表。oki票據印表機ml6100f 就是在oki smart solid 的設計理念之下誕生的,雖說 3s...

python控制印表機

一次幫朋友做乙個小工具,從excel 中逐行獲取內容插入docx模板中,然後列印出來。前邊的功能我在其他帖子裡介紹了,就列印一塊,單拉出來說一下,以備今後使用參考。現在就可以愉快的敲 了。首先來個簡單的 import win32api import win32print filename r f p...

使用python控制印表機

python安裝win32api模組 pip install pypiwin32 一組擴充套件模組,提供對許多windows api函式的訪問。以前稱為win32all。win32api文件 import win32print import win32ui import win32con defpr...