真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net多次打印的簡單介紹

數(shù)據(jù)庫據(jù)庫vb.net打印票,用三聯(lián)打印紙有裂紋的,怎么前一張和下一張逐漸拉開距離了?

說一下我的處理方法吧,樓主可以參考。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了沙河口免費(fèi)建站歡迎大家使用!

先在打印機(jī)的服務(wù)器屬性中設(shè)定一個(gè)符合打印標(biāo)準(zhǔn)的紙張尺寸。這樣使你的打印紙尺寸固定,不需要你每次打印的時(shí)候都重新指定打印尺寸,避免計(jì)算誤差。

然后在你要打印的內(nèi)容外面嵌套一套一個(gè)table,設(shè)定一個(gè)初始的Style的margin-top值。多張的票據(jù)內(nèi)容是通過循環(huán)計(jì)算產(chǎn)生。在調(diào)整過程中,計(jì)算下一張與上一張的相對(duì)margin-top值,多次計(jì)算后你就能找到每次打印時(shí)的上下偏移值,然后做一個(gè)算法計(jì)算兩張之間的margin-top值,就OK了。

我們做套打發(fā)票都是這么做的,這是一個(gè)重復(fù)性很強(qiáng)的工作,要有耐心。另外,一定要要求所有的用戶使用同一款打印機(jī),不同的打印機(jī)的偏移值是不一樣的。

vb.net2010中,如何實(shí)現(xiàn)單據(jù)打印,請(qǐng)各位高手提供一些源碼和一些教程,萬分感謝!

vb 里有printer對(duì)象,打印很簡單。

vb.net 升級(jí)為

Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6 .Printer

這個(gè)沒用過,你研究下

vb.net Document_PrintPage打印多行文本

比如:

Private Sub Document_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)

e.Graphics.DrawString(str0, New Font("Arial", 14, FontStyle.Regular), Brushes.Black, 50, 50)

e.Graphics.DrawString(A1, New Font("Arial", 10, FontStyle.Regular), Brushes.Black,50, 100)

e.Graphics.DrawString(A2, New Font("Arial", 10, FontStyle.Regular), Brushes.Black, 300,100)

e.Graphics.DrawString(A3, New Font("Arial", 10, FontStyle.Regular), Brushes.Black, 800,100)

也就是分次用不同坐標(biāo)和不同的字體來打印各變量。畫線用:

e.Graphics.DrawLine(BlackPen, x1, y1, x2, y2)。

具體坐標(biāo)數(shù)值自己用尺量出,再換算。

VS2005如何用VB.NET代碼實(shí)現(xiàn)打印功能

有個(gè)PrintDocument控件,可以實(shí)現(xiàn)打印。。。

MSDN原話:

使用 PrintDocument 組件

涉及 PrintDocument 組件的兩種主要情況是:

簡單的打印作業(yè),如打印單個(gè)文本文件。在這種情況下,應(yīng)將 PrintDocument 組件添加到 Windows 窗體,然后在 PrintPage 事件處理程序中添加打印文件的編程邏輯。 該編程邏輯應(yīng)以使用 Print 方法打印文檔結(jié)束。

此方法向打印機(jī)發(fā)送一個(gè) Graphics 對(duì)象,該對(duì)象包含在 PrintPageEventArgs 類的 Graphics 屬性中。

有關(guān)如何使用 PrintDocument 組件打印文本文檔的示例,請(qǐng)參見

如何:打印 Windows 窗體中的多頁文本文件。

更為復(fù)雜的打印作業(yè),如想要重新使用已編寫的打印邏輯的情況。

在這種情況下,應(yīng)從 PrintDocument 組件派生一個(gè)新組件,并重寫

(請(qǐng)參見 Visual Basic 的 重寫或 C# 的 重寫) PrintPage 事件。

將 PrintDocument 組件添加到窗體后,它出現(xiàn)在 Windows 窗體設(shè)計(jì)器底部的欄中

vb.net Document_PrintPag 打印

我?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

VB.NET打印問題(有滾動(dòng)條控件的內(nèi)容怎么全部打印)

參考:

把執(zhí)行SQL語句后得到的記錄集逐條(含字段名)顯示在LISTVIEW控件中

'----------------------------------------------------------------

Public Sub ListUpdate(ByRef rs As Recordset, ByRef lv As ListView)

Dim head As ColumnHeader, Item As ListItem

Dim i As Integer, j As Integer

Dim lvWidth As Integer

lvWidth = lv.Width

'初始化LISTVIEW的某些屬性

lv.View = lvwReport

lv.GridLines = True

lv.FullRowSelect = True

lv.ListItems.Clear

lv.ColumnHeaders.Clear

For i = 0 To rs.Fields.Count - 1

Set head = lv.ColumnHeaders.Add

head.Text = rs.Fields(i).Name

head.Width = lvWidth / rs.Fields.Count

Next

For j = 1 To PERPAGE

If rs.EOF Then Exit For

Set Item = lv.ListItems.Add

Item.Text = "" rs.Fields(0).Value

For i = 1 To rs.Fields.Count - 1

Item.SubItems(i) = "" rs.Fields(i).Value

Next

rs.MoveNext

Next

End Sub

' 打印

Public Sub PrintRecordset(ByRef recRecordset As Recordset, ByVal strType As String)

Dim LeftMargin As Integer

Dim HeadTopPosition As Integer

Dim FieldNum As Integer

Dim PageCounter As Integer

Dim MyRecordset As ADODB.Recordset

Const FooterTopPosition = 24

Set MyRecordset = recRecordset

PageCounter = 1

' 設(shè) 置Printer 對(duì) 象 坐 標(biāo) 的 度 量 單 位 為 厘 米

Printer.ScaleMode = vbCentimeters

LeftMargin = 1.5

HeadTopPosition = 2

' 定 義 打 印 頁 左 上 角 的X 坐 標(biāo) 和Y 坐 標(biāo), 通 過 改 變ScaleLeft 和ScaleTop 的 值, 可 改 變 打 印 頁 的 左 邊 距 和 上 邊 距

Printer.ScaleLeft = -LeftMargin

Printer.ScaleTop = -HeadTopPosition

Printer.Font.Name = "Times New Roman"

Printer.Font.Size = 12

Printer.Print "音像店顧客管理系統(tǒng)"

Printer.Print strType

Printer.Print ""

If MyRecordset.EOF And MyRecordset.BOF Then

MsgBox "No Record At Presend!", vbCritical And vbOKOnly, "Print Error"

Exit Sub

End If

MyRecordset.MoveFirst

Do Until Printer.CurrentY FooterTopPosition

'Print the fields of the recordset in sequence

For FieldNum = 0 To MyRecordset.Fields.Count - 1

Printer.Print MyRecordset.Fields(FieldNum).Name _

": " _

MyRecordset.Fields(FieldNum).Value

If Printer.CurrentY FooterTopPosition Then

Printer.CurrentX = 8

Printer.Print "Page: " PageCounter

' 創(chuàng) 建 多 頁 文 檔

Printer.NewPage

PageCounter = PageCounter + 1

End If

Next FieldNum

MyRecordset.MoveNext

If MyRecordset.EOF Then Exit Do

' 在 記 錄 之 間 空 一 行

Printer.Print ""

Loop

'Print the Page number as a footer

Printer.CurrentX = 8

Printer.CurrentY = FooterTopPosition

Printer.Print "Page: " PageCounter

' 將 輸 出 送 到 打 印 機(jī)

Printer.EndDoc

End Sub


當(dāng)前題目:vb.net多次打印的簡單介紹
鏈接URL:http://weahome.cn/article/hpioog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部