我们先定义一个PaperSize,然后将它与PrintDocument.DefaultPageSettings.PaperSize关联到一起就可以了。
先看代码:
'按下打印按钮 Private Sub Button4_Click(sender As Object,e As EventArgs) Handles Button4.Click Dim ps As New Printing.PaperSize() ps.PaperName = "我的自定义纸张" ps.Height = 600 ps.Width = 400 'ps.RawKind = 0 PrintDocument1.PrinterSettings.PrintToFile = True PrintDocument1.PrinterSettings.PrintFileName = "d:\dd.oxps" PrintDocument1.DefaultPageSettings.PaperSize = ps Dim paperWidth,paperHeight As Single paperWidth = PrintDocument1.DefaultPageSettings.PaperSize.Width * 0.254 paperHeight = PrintDocument1.DefaultPageSettings.PaperSize.Height * 0.254 TextBox1.Text = "纸张大小:" & PrintDocument1.DefaultPageSettings.PaperSize.PaperName & ControlChars.CrLf TextBox1.Text &= "纸张大小:" & paperWidth & "*" & paperHeight PrintDocument1.Print() End Sub
需要注意的是:
1、PrintDocument1.PrinterSettings.PrintToFile = True,设置直接打印到文件
我的电脑上默认打印机是“Microsoft XPS Document Writer”,它打印保存的文件是*.oxps或者*.xps。
3、PrintDocument1.DefaultPageSettings.PaperSize = ps,将打印页面大小设置为我们的设置值。
看看打印结果:
同时,我把纸张的大小按照毫米输出了一下:
希望公式大家没有忘记,忘记了请看
vb.net 教程 11-1 打印组件 基础
最下面的单位换算。
学习更多vb.net知识,请参看
vb.net 教程 目录