首页 新闻 会员 周边 捐助

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

0
悬赏园豆:50 [已解决问题] 解决于 2021-01-18 09:35

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

LFMB的主页 LFMB | 初学一级 | 园豆:158
提问于:2020-12-02 13:40
< >
分享
最佳答案
1

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

收获园豆:40
leslie_xin | 菜鸟二级 |园豆:404 | 2020-12-02 14:27

这个确实是一个思路,只是由于我是现学的,网上的参考例子太少,我没弄成功。前辈,可以给我一点相关的代码吗?

LFMB | 园豆:158 (初学一级) | 2020-12-02 15:33
其他回答(2)
1

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

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

收获园豆:10
2012 | 园豆:21445 (高人七级) | 2020-12-04 08:52

这个搜索确实可行,不过我下载之后,打不开,出现了一堆问题,之前我也对照着其他语言写了几次,还是出现了不少问题。正在考虑用一楼的方法,通过打印的方法把它存下来。

支持(0) 反对(0) LFMB | 园豆:158 (初学一级) | 2020-12-04 13:32
0

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

LFMB | 园豆:158 (初学一级) | 2020-12-10 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册