-->

vb.net 关于xps文件操作问题

2021-01-18 08:26发布

问题:

各位前辈,想请教你们一个问题,就是vb.net关于xps操作问题。网上的知识点太少了,我已经 尝试了很多方法,就是写出来的xps文件打不开,目前我只知道xps命名空间,请教一下怎么实现xps文件的保存写入以及读取的?如果将表格内容写进xps文件,又该如何读取写入。求思路以及相关的解释代码,不胜感激。

回答1:

XPS文件日常几乎没用过,不过这个思路应该可以:调用打印控件,将内容打印成XPS。因为只要系统里有XPS,在打印时就有打印成XPS的选项。
打印的话使用GDI+,像表格,直接使用GDI+绘制就行。



回答2:

https://docs.microsoft.com/en-us/samples/microsoft/windows-driver-samples/xps-documents-print-sample/
这就有个例子,没有vb.net的话,可以先找其他语言的看思路

微软官方,msdn 中搜索xps file programming 等能搜到不少



回答3:

采用一楼的方法已经实现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