XPS文件日常几乎没用过,不过这个思路应该可以:调用打印控件,将内容打印成XPS。因为只要系统里有XPS,在打印时就有打印成XPS的选项。
打印的话使用GDI+,像表格,直接使用GDI+绘制就行。
这个确实是一个思路,只是由于我是现学的,网上的参考例子太少,我没弄成功。前辈,可以给我一点相关的代码吗?
https://docs.microsoft.com/en-us/samples/microsoft/windows-driver-samples/xps-documents-print-sample/
这就有个例子,没有vb.net的话,可以先找其他语言的看思路
微软官方,msdn 中搜索xps file programming 等能搜到不少
这个搜索确实可行,不过我下载之后,打不开,出现了一堆问题,之前我也对照着其他语言写了几次,还是出现了不少问题。正在考虑用一楼的方法,通过打印的方法把它存下来。
采用一楼的方法已经实现XPS文档的生成。
Imports System.Drawing.Printing
'思想:通过打印的方法来实现XPS文件的生成
Public Class Form1
Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim g As Graphics = e.Graphics
'定义画线用的画笔
Dim ppen As Pen = New Pen(Color.Black, 1)
g.DrawLine(ppen, 30, 100, 60, 100) '最上头的横线
'设置了打印的内容,字体,颜色以及位置
g.DrawString("这是一个打印的例子", New Font("宋体", 20), New SolidBrush(Color.Blue), New Point(10, 62))
g.DrawString(TextBox1.Text, New Font("宋体", 20), New SolidBrush(Color.Red), New Point(10, 100))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PrintDocument1.PrintController = New StandardPrintController() '屏蔽弹出的打印第几页的窗口
PrintDocument1.Print() ‘打印程序
End Sub
End Class