[size=medium]1. 採用visual basic 提供的簡單列印函式printform 方法。應用程式窗體的printform 方法時,visual basic 把窗體的點陣圖送到當前印表機。該方法的優點在於它幾乎不需要任何程式設計,但也有很大缺陷。最為突出的是當低解析度圖形在高解析度印表機上列印時,其結果令人無法滿意,會產生鋸齒。下面**將在印表機上列印窗體。
private sub command1_click() ' 用printform 列印
me.printform ' 列印窗體的可見區域
end sub
2. 用printer 物件進行高解析度輸出。但要想產生複雜的列印輸出,程式設計較為煩瑣。printer 物件代表系統預設的印表機,printer 物件支援許多由窗體和圖形框所支援的屬性和方法,三種物件都有畫線和畫方框。應用程式可用以下**在printer 物件上畫出一平方英吋的方框。它離左上角二英吋。注意:印表機以twips 來測量距離。每英吋有1440 個twips。
printer.line(2 *1440,2 *1440) -step(1440,1440), ,b
印表機、從窗體和圖形框都有circle、paintpicture、print、pset、textheight、textwidth 方法。使用這些方法,應用程式可以為印表機生成高解析度輸出。
列印文字直接用print 方法,見下列**:
printer.print "hello,china computerworld!" ' 列印字串
printer 物件還有一些窗體和圖形框都沒有方法:
newpage 告訴印表機,程式對當前輸出頁的傳送已經結束,printer 物件應開始新的一頁。
enddoc 告訴vb,程式建立文件結束,vb 應將它傳送到物理印表機上列印。
killdoc 取消當前列印作業。應用程式應該終止由enddoc 和killdoc 所設定的每個列印作業。
zoom 屬性用於定義列印輸出的縮放因子。
copies 屬性用於定義列印的副本數目。
3. 採用直接將資料傳送印表機的方法進行列印輸出。有兩種方法將資料送往印表機。第一種是用print #方法,就像將資料寫入乙個檔案一樣。另一種方法寫埠,但不是送文字,而是送特定的pcl 語言,pcl 表示列印控制語言,它是一種特殊語言,用轉義**來控制印表機的具體動作。因為此方法太煩瑣,本文不做太多介紹。
4. 如果你在程式設計時用到了richtextbox 控制,那麼你可以使用該控制項的selprint 方法來列印,使用非常簡單。下面一段**即用richtextbox 控制項的selprint 方法來完成列印。
private sub command3_click() 'selprint 方法
commondialog1.flags=cdlpdreturndc +cdlpdnopagenums
if rtf1.sellength = 0 then
'rtf1 為窗體的richtextbox 控制
commondialog1.flags = commondialog1.flags
+cdlpdallpages
else
commondialog1.flags = commondialog1.flags +
cdlpdselection
end if
commondialog1.cancelerror = true
on error resume next
commondialog1.showprinter
if err.number = cdlcancel then exit sub
if err.number <> 0 then
beep
msgbox "error printing file."
&vbcrlf +err.description, vbokonly +vbexclamation,
「printing error!"
exit sub
end if
printer.print ""
rtf1.selprint commondialog1.hdc
' 列印rtf1 控制項的可見區域
end sub
上面**先進行打進設定,再進行列印。如果不需要設定,採用下面**更為簡單:
rtf1.selprint printer.hdc
' 列印rtf1 控制項的可見區域
5. 可以在vb 中呼叫word 97 提供的ole 自動化服務,利用word 97 強大的列印功能來完成vb 列印,筆者認為這是最令人滿意的方法。下面**說明vb 如何與word 整合。
private sub command4_click() ' 呼叫word 列印
dim objword as object
on error goto objerror
set objword = createobject(classobject)
objword.visible = true
objword.documents.add
with objword
.activedocument.paragraphs.last.range.bold = false
.activedocument.paragraphs.last.range.font.size =20
.activedocument.paragraphs.last.range.font.name =
"黑體"
.activedocument.paragraphs.last.range.font.colorindex==4
.activedocument.paragraphs.last.range.text =
"我是計算機世界讀者!"
end with
clipboard.clear
clipboard.settext
"通過剪下板向word 傳送資料!"
objword.selection.paste
objword.printpreview = true ' 預覽方式
'objword.printout' 執行列印
'objword.quit' 退出word
exit sub
objerror:
if err <> 429 then
msgbox str $(err) &error $
set objword = nothing
' 不能建立word 物件則退出
exit sub
else
resume next
end if
end sub
6. 用vc 編制dll 模組完成列印。在vb 中呼叫該模組,用混合程式設計方法進行列印輸出。因涉及vc 程式設計比較煩瑣,這裡不再討論。[/size]
小插頭列印方法
string strlabel getlabeltxt if serialport1.isopen strlabel strlabel.replace number no this.serialport1.write strlabel system.threading.thread.sleep 20...
具體java列印方法的實現
0 printable介面由當前頁面 painter 的 print 方法實現,該方法由列印系統呼叫,以呈現頁面。1 pageable介面由 pageformat 和 printable 組成。在printable介面中也可以進行多個頁面列印 pageable介面可以對每個printable指定單獨...
瀏覽器列印方法總結
1.關於列印,瀏覽器有自帶的列印方法,但是有個問題就是它只能列印整個頁面。如果需要列印區域性會比較麻煩。具體實現方法可以看下面 function doprint 在html 頁面中,我們需要在列印的區域加個開始與結束的識別符號。如下圖所示 2.用printthis外掛程式 實現區域性列印。使用方法如...