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...