VB.NET生成XPS文档

本文主要解决的问题有

1、XPS文档生成问题
2、利用打印机生成时,弹出正在打印第几页的问题
3、XPS内容写入基本操作

XPS文档对比PDF的优势

1、XPS文档不易更改,利用这个优点,可以用来生成报告,具有权威性
2、系统本身就具有XPS文档阅读功能,因此无需安装其他的阅读软件

XPS文档对比PDF的优势

1、XPS文档不易更改,利用这个优点,可以用来生成报告,具有权威性
2、系统本身就具有XPS文档阅读功能,因此无需安装其他的阅读软件

生成XPS文档的方法

第一个办法:根据XPS相关操作的命名空间来解答。
第二个方法,利用打印机自身的特性,生成XPS文档的功能生成XPS文档。

分别对以上两种方法进行说明:

第一种方法,根据XPS的命名空间,定义相关的函数属性,可以完成,这个方法VB.NET实现的例子很少,由于VB.NET与wpf语言之间有相似之处,因此也可以查找wpf语言利用命名空间生成XPS文档的案例,如下的链接提供了一个很好的参考:

wpf生成XPS文档示例

第二种方法,相比第一种方法,第二种方法简单明了,调用计算机打印功能,在没有真实打印机或者设置相关属性的条件下,系统生成XPS文档。

这里利用的是第二种方法。
这里用到打印相关控件:PrintDialogPrintDocument,具体属性可以查询相关的帮助文档。

软件界面截图以及结果显示

界面显示以及结果展示:

程序代码

`程序集添加 system.drawin

Imports System.Drawing.Printing'思想:通过打印的方法来实现XPS文件的生成
Public Class Form1Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPageDim g As Graphics = e.Graphics'定义画线用的画笔Dim ppen As Pen = New Pen(Color.Black, 1)Dim mpen As New Pen(Color.Black, 2)   '定义画线用的画笔g.DrawLine(ppen, 30, 100, 60, 100) '最上头的横线g.DrawRectangle(mpen, 70, 100, 700, 1000) '边框,前两个数为左顶点坐标,后两位表示宽和长Dim sf As New StringFormat With {.Alignment = StringAlignment.Center}Dim rect As New Rectangle(70, 125, 700, 190)g.DrawString("XPS文档生成示例", New Font("微软雅黑", 24), New SolidBrush(Color.Black), rect, sf)  '设置标题,居中,字号g.DrawString("这是一个打印的例子", New Font("宋体", 20), New SolidBrush(Color.Blue), New Point(70, 200)) '设置了打印的内容,字体,颜色以及位置g.DrawString(TextBox1.Text, New Font("宋体", 20), New SolidBrush(Color.Red), New Point(70, 150))End SubPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click'默认输出选项为XPSDim ps As PrinterSettings = PrintDialog1.PrinterSettingsps.DefaultPageSettings.PrinterSettings.PrinterName = “Microsoft XPS Document Writer”'打印到文件以及打印的文件名PrintDocument1.PrinterSettings.PrintToFile = TruePrintDocument1.PrinterSettings.PrintFileName = "标题.XPS" '保存文档的标题PrintDocument1.PrintController = New StandardPrintController() '屏蔽弹出的打印第几页的窗口PrintDocument1.Print()End SubEnd Class

由于楼主也尚在学习阶段,因此有关用词不当之处敬请谅解。

参考文档:

VB.NET打印组件的应用

VB.NET生成XPS文档相关推荐

  1. wpf中xps文档合并功能实现

    原文:wpf中xps文档合并功能实现 跟着上一篇的xps文档套打的文章,近期一直在研究xps打印技术,其中用户提到了一个需求,要求能够多页面进行打印,我的想法是,先生成xps文件,然后将文件读取出来以 ...

  2. 用java写ods系统_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo是基于数据库的代码自动生成工具,低代码编程技术的实现,可以零代码自动生成SpringBoot项目工程.生成JavaBean.生成前后端分离的CRUD代码.生成MyBaits的Mapper ...

  3. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  4. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下:           1.新增对JDK9及以上版本Java环境的支持           2.生成JavaBean更名为生 ...

  5. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.4.0版)

    TableGo_20210921 v7.4.0 正式版发布,此次版本累计更新如下:           1.新增企业或个人的简单定制版本,为企业和个人提供软实力的增值           2.新增导入 ...

  6. C# 读取txt文件生成Word文档

    本文将以C#程序代码为例介绍如何来读取txt文件中的内容,生成Word文档.在编辑代码前,可参考如下代码环境进行配置: Visual Studio 2017 .Net Framework 4.6.1 ...

  7. 控制生成word文档

    前段时间才做了一个,将测试数据生成word文档.     其中有表格.画图形         用模版文件来替换最方便,修改模版就修改了格式.     将要填的数据定义成一个符号如<NAME> ...

  8. mysql javabean 工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)...

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下: 1.新增对JDK9及以上版本Java环境的支持 2.生成JavaBean更名为生成数据模型并且提供了C#.C++.Gol ...

  9. 生成excel文档即便没有安装微软Excel

    下载:见http://files.cnblogs.com/happyfish78/Acey.ExcelX.Setup.zip 介绍 我们经常需要创建Excel文档,你会花很多时间,如何才能简单并且快速 ...

最新文章

  1. Docker容器入门-基本命令的使用
  2. python的concat函数_python concat函数
  3. oracle 查看表所占用的空间大小
  4. 算法训练 素因子去重
  5. Lesson 16.5 在Pytorch中实现卷积网络(上):卷积核、输入通道与特征图在PyTorch中实现卷积网络(中):步长与填充
  6. android自定义进度条渐变色View,不使用任何图片资源
  7. RecursiveTask和RecursiveAction的使用 以及java 8 并行流和顺序流
  8. php命令执行无法重定向输出,php – CodeIgniter 3重定向功能无法正常工作
  9. HTML5 Canvas 画纸飞机组件
  10. 在 ABP vNext 中编写仓储单元测试的问题一则
  11. bind merge r 和join_[R] 制作梅西和C罗进球数的quot;追赶动画quot; - ggplot2 + gifski
  12. 【转载】java InputStream读取数据问题
  13. java.lang中String=和equals()函数解析
  14. 从入门到进阶,这10本高分书籍,优秀数据分析师越早读完越好
  15. 区块链开发(四)区块链技术详解PPT
  16. python 将QQ聊天记录生成词云图
  17. 性别单选框jsp_jsp获取单选按钮的值源码实例
  18. Bugku—凯撒部长的奖励
  19. Springboot毕设项目大学生科技项目管理系统0zzjj(java+VUE+Mybatis+Maven+Mysql)
  20. Lync 2010升级到Lync 2013之设定Lync Mobile!

热门文章

  1. overloading overriding
  2. Sql增删改查(包含Sql Server基础知识)
  3. 红魔品牌五周年,长出一个茂盛“电竞生态”
  4. 树莓派的常用中文镜像
  5. 私藏的实用工具/学习网站
  6. PageHelper.startPage(pageNum, pageSize)不起作用,我遇到的问题原因:版本不正确
  7. vue 树形数据和平面数据互转方法
  8. 物联网平台可以做什么
  9. 用PHP做了一个领取优惠券的活动
  10. 计算机图形学期末作业,计算机图形学期末大作业3D建模.doc