XPS文档阅读器

XPS是微软的一个文档标准,就像Adobe的PDF,现在网上也有很多的PDF文档在线阅读器,而XPS文档阅读器很少几乎没有。今天我将我制作的这个XPS文档阅读器拿出来跟大家分享,也顺便期望某个高手能解决一些问题,共同进步。本XPS阅读器可以实现的效果如下:可以完美还原原来文档的原貌,添加页面导航功能(类似于Word中标题导航,如果是外部URL的链接那么将打开新页面),添加了翻页动画效果(提供了属性可以自定义翻页动画)。

随着Silverlight4 的发布,Silverlight版的XPS阅读器也变的可行。其实国外牛人早在Silverlight3的时候就发布了XPS阅读器,但却是收费的。最主要的原因是Silverlight4以前的所有版本都不支持为Glyphs设置FontSource属性。这样导致了除非你另写一套类库来模拟 Glyphs不然只有购买第三方的类库。可是现在Silverlight支持位Glyphs设置FontSource属性了,所以现在我们可以设计制作一个Silverlight版的XPS阅读器。唯一的遗憾是无法读取直接由打印出来的XPS文档,只能读取由Office转换过来的XPS文档,问题出在当文档时由打印获得的XPS文档的时候,无法获取相关的资源(期望某位高手能解决)。下图是本项目的类文件:

这里几乎所有的类文件都是按照XPS的文档结构来建立的。我们可以随便拿出一个由office转换来的XPS文档,然后将文件的后缀名改为zip格式,然后解压文件就可以看到整个文档的结构了。所有类中最重要的类有三个:XpsDocument这个类是承载文档的(也就是流Stream),XpsToSilverlightXaml这个类是专门负责将XML转换成Xaml(参考国外的一篇blog,名字忘了),FixedPage这个类是专门用来承载页面的(负责显示页面),其他的类就是为了辅助以及配合文档结构用的。

这里为了区别是否是由Office转换而来的,特意加了一个XpsDocumentType枚举用来表示文档类型。

其他的就不多说了,全都在源码里面。有什么不明白的可以留言给我。

然后下面是XPS控件的用法:

1.首先在页面中添加控件的引用xmlns:xps="clr-namespace:MyControl.XpsDocument; assembly=MyControl"

时间: 2024-12-21 17:58:44

XPS文档阅读器的相关文章

如何用delphi xe设计文档阅读器

问题描述 如何用delphi xe设计文档阅读器 如何用delphi xe设计文档阅读器求高手赐教!!!!!!!!!1

多功能文档阅读器 Evereader

市面上文件管理应用很多,但是Evereader是一个多功能的 文件管理器,它能作为文档阅读器,语音记录器,PDF扫描仪,电子邮件附件保护的应用,更可作为一个秘密文件夹 ,全部包含在内了.这也正是为什么你会花5 - 6美元买一个文件阅读工具.因为它是多功能的,当然,今天限免了.需要的朋友不要错过售价:18→限免

Symbian文档阅读器 OfficeReader

问题描述 officereader 是 Symbian 平台上用来阅读 OpenDocument 格式文档的软件.主要特点:支持 OpenDocument text(.odt), spreadsheet(.ods) and presentation(.odp), OpenOffice.org Hybrid PDF支持直接从邮件, MMS, 蓝牙.文件浏览器和Web浏览器中打开文档可查看文档缩略图查看文档概要信息:标题.关键字.作者等文档统计:段落数.字数和页数缩放和全屏查看文档文档搜索文档更改记

换了马甲依然犀利:全能文档阅读器

知名的iOS应用开发商Readdle想必大家都已经有所耳闻,此前出品的<ReaddleDocsforiPad>一度成为iOS平台上颇受好评的文档处理应用.就在今年初,开发商对该应用的图标和界面进行了 重新设计,并且还起了一个新的名字:<DocumentsbyReaddle>(文档阅读器),更重要的是,这款原价30元的超强阅读应用如今改为免费下载,对于广大用户而言无疑是个重大福利.软件名称:<全能文档阅读器>价格:免费点击下载发布时间: 2013年07月08日大小:39.

善用Windows 7的XPS查看器照顾XPS文档

Windows7超强的系统稳定性和超炫的操作页面是人们喜爱它的主要原因,但是 许多细节上的别具匠心却容易被大家忽略.因此可能大家对Windows7自带的XPS查 看器的功能.使用上欠缺了解,今天小编就为大家介绍一下XPS查看器. "XPS 文档"是任何保存到 XML 纸张规范或 .XPS 格式的文件.虽然可以使用任 何能够在Windows 中用于打印的任意程序来创建 XPS 文档(.XPS文件),但你只 能使用XPS查看器查看XPS文档.如果你有Microsoft .NET Frame

Ubuntu PDF文档阅读及页面修改工具介绍

PDF(Portable Document Format的简称,意思「便携式文件格式」)是由http://www.aliyun.com/zixun/aggregation/9084.html">Adobe Systems在1993年用于文件交换所发展出的文件格式.它的优点在于跨平台.能保留文件原有格式(Layout).开放标准,能自由授权(Royalty-free)自由开发PDF兼容软件. PDF长期以来一直被用作交换和浏览商业文件的格式.不过Adobe一直保留了该格式的版权,直到2007

WP8版PDF文档阅读应用Adobe Reader发布

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   今天 Adobe公司正式放出了 WP8平台上官方PDF文档阅读软件--Adobe Reader应用,并在WP应用商城上提供免费下载,这就意味着WP用户不再需要使用任何其他第三方软件软件来阅读PDF文档了.在官方博客上微软表示: "随着免费的Adobe Reader应用加入,你能够打开或者阅读各种PDF文档,包括 具备密码保护的文档.此外内嵌的相关功能能

Evince一款Ubuntu和GNOME默认的文档阅读工具

Evince是http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu和GNOME默认的文档阅读工具,它的设计极度简化. 支持  PDF--使用Poppler后端.Postscript--使用libspectre后端.多页TIFF.DVI.DjVu--使用DjVuLibre后端. 额外格式支持 Impress.Comics.图片(具体后端不明,支持jpg.png.svg.gif等大多数常见格式). 功能 1.双页显示 2.反色 3

C#打印xps文档后窗口大小及文字异常

问题描述 最近使用c#的winform做的程序需要批量在打印机上打印xps文档,文档打印部分用的方法是从LocalPrintServer的DefaultPrintQueue上直接调用AddJob方法,把需要打印的xps文件路径作为参数传入.文档倒是成功地在打印机里打出来了,可是调用该方法的winform程序却出问题了:所有自己编的Form,只要是该程序集之内的,不论是已经打开的还是之后打开的,都被横向拉伸了大约一半(全屏的除外),所有控件上的宋体文字都变小了,并且有不少文字显示不出来(空格).调