一般情況下先用EXCEL做好一個(gè)樣表文件,設(shè)定好打印區(qū)域和樣式,需要填內(nèi)容的時(shí)候,先程序復(fù)制一個(gè)樣表文件,然后調(diào)用API打開表格填寫內(nèi)容并打印,如果想用API來實(shí)現(xiàn)調(diào)整模板和打印預(yù)覽,可能比較困難,而且很抽象,個(gè)人覺得費(fèi)時(shí)費(fèi)力效果還不一定理想
創(chuàng)新互聯(lián):2013年至今為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為數(shù)千家公司企業(yè)提供了專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)和網(wǎng)站推廣服務(wù), 按需求定制設(shè)計(jì)由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。
打印做得不多,以前做套打時(shí)發(fā)現(xiàn),每臺打印機(jī)定位都不一樣,于是每臺機(jī)子都加了個(gè)偏移設(shè)置
我的做法在白紙上打上一標(biāo)尺,和一個(gè)上下邊距為2CM的交叉點(diǎn),然后用標(biāo)尺量這2CM的偏移,設(shè)置完后,在這臺打印機(jī)打印時(shí),就給紙張加個(gè)偏移量,打印就正常了??赡苣愕脑蚝臀乙粯印?/p>
另外也想問你一下,你這個(gè)條碼是用什么打的。早先,我用立象的條碼打印機(jī)打不干膠,很簡單,激光打沒用過,可能下次我也要用條碼打印,我也用VB.net。求教.
我是VB.NET 2010版本
窗體上添加一個(gè)按鈕,代碼如下:
Imports System.Drawing.Printing
Public Class Form1
'采用關(guān)鍵字WithEvents聲明一個(gè)PrintDocument對象,會引發(fā)它的PrintPage事件
Private WithEvents My_PrintDocument As PrintDocument
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'實(shí)例化PrintDocument對象
My_PrintDocument = New PrintDocument
'顯示默認(rèn)的打印機(jī)名稱
MsgBox(My_PrintDocument.PrinterSettings.PrinterName)
'顯示默認(rèn)的打印機(jī)紙張類型名稱
MsgBox(My_PrintDocument.DefaultPageSettings.PaperSize.ToString)
End Sub
End Class
可以把數(shù)據(jù)導(dǎo)出到EXCEL,然后使用EXCEL進(jìn)一步處理后使用。
也可以做成vb報(bào)表(VB自帶有)。
先設(shè)置報(bào)表格式,打印時(shí)向報(bào)表傳遞數(shù)據(jù)就可以了。
我?guī)湍惆炎詈笠徊糠值恼Z句順序調(diào)換一下。你試一試
sub button1_click() '---執(zhí)行打印
Dim pd As PrintDocument = New PrintDocument
pd.PrinterSettings = PrintDialog1.PrinterSettings
If _PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
for i=0 to 1 '這樣可以兩次截圖
CaptureScreen() '--執(zhí)行前面自定義函數(shù)截圖
AddHandler pd.PrintPage, AddressOf Document_PrintPage
pd.Print()
Threading.Thread.sleep(100) ‘ 再加上一個(gè)間隔
next
end sub
別的地方轉(zhuǎn)來的!~ 不過我們以前做的時(shí)候 都是在打印機(jī)里增加一種打印紙 然后就可以選了!~
一下轉(zhuǎn)載內(nèi)容!~~~
水晶報(bào)表-強(qiáng)大而成熟,但是多少男兒漢敗倒在他的自定義紙張?jiān)O(shè)置上。
1:水晶報(bào)表是紙形打印。所以自定義紙張類打印肯定要在電腦上增加對應(yīng)的紙張才行(手動(dòng)加還是代碼加這個(gè)不管)
2:紙張分3種系統(tǒng)內(nèi)建(不可更改),自定義,打印機(jī)自帶。很遺憾的是水晶只認(rèn)系統(tǒng)內(nèi)建的。
3:打印機(jī)一般分2種。1普通噴墨的A4,2有聯(lián)單的針式
4:注意水晶報(bào)表不是所見所得的,預(yù)覽的紙張是什么不一定打印的就是什么紙張(受3方影響。打印機(jī)、報(bào)表內(nèi)設(shè)置、PAPERSIZE 屬性,三者之間關(guān)系不詳)。
5:對于第一種A4紙張。沒什么好說的系統(tǒng)內(nèi)建紙型。水晶報(bào)表認(rèn)。直接指定就行
6:對于第二種聯(lián)單的自定義型一般專機(jī)專用,當(dāng)然是建好紙張讓打印機(jī)默認(rèn)自己建的紙張為默認(rèn)首選了。
7:然后設(shè)置水晶報(bào)表使用打印機(jī)默認(rèn)的紙張PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize
以上能保證專機(jī)專紙的任何打印。:要注意第4點(diǎn)。如果你是自定義紙而且要預(yù)覽要保障預(yù)覽和打印都用指定的紙張,那么預(yù)覽時(shí)你得指定PaperSize=你自定義紙張的索引號。打印的時(shí)候又改成CrystalDecisions.Shared.PaperSize.DefaultPaperSize
8:如果你想一個(gè)打印機(jī)多個(gè)自定義紙張那么用API吧動(dòng)態(tài)改變打印機(jī)的默認(rèn)紙張,根據(jù)以上拐2彎就能實(shí)現(xiàn)了遺憾的是網(wǎng)絡(luò)打印機(jī)的話就沒折了。o(︶︿︶)o 唉