XPS 文件为什么难打开
XPS 是微软对 PDF 的回应。XPS 查看器随 Windows 附带了很多年,后来被移除;在 macOS 和 Linux 上则从未存在过。于是一份再普通不过的文档,在你面前这台电脑上就是打不开。
不过 XPS 文件并不神秘。它是一个采用 Open Packaging Convention 的 ZIP 包——与 .docx 是同一种容器——其页面是 FixedPage XML,也就是 XAML 的一个小子集。这个子集几乎可以逐个元素地映射到 SVG,浏览器因此能把它画出来:
FixedPage变成<svg>,viewBox 的单位是 1/96 英寸Canvas变成<g>,保留其变换和不透明度Path.Data在翻译 XAML 的几何语法及其F0/F1填充规则后变成<path d="…">Glyphs变成<text>,定位在其基线原点ImageBrush变成<image>,图片从包中内嵌进来
OXPS 是同一格式经 ISO 标准化后的版本。两者在这里都能打开。
页序来自包本身,而不是文件名
页面是沿着 FixedDocumentSequence 找到各个 FixedDocument,再找到每个 PageContent 得到的,和真正的阅读器一样。按文件名排序 .fpage 文件,只要文档有十页或者曾被重新排序,顺序就会错。
它画什么,不画什么
每一页都会报告渲染器产出了什么:发出了多少路径、文本段、图像和画布,以及有多少元素它无法映射。如果最后这个数字不为零,说明这一页并不完整——这件事写在页面上,而不是藏在脚注里。渲染器的警告——缺失的图片部件、包里没有的字体——同样会被列出。
有一项限制值得明说。XPS 在每个文本段的 Indices 属性中给出了逐字形的步进量,精确应用它需要字体自身的度量信息。本工具改为把每一段放在其基线原点,由浏览器排布字符串。普通文本没问题;字距调整很重或两端对齐的行可能会有不到一个字符的偏移。
这里还有
从核心属性读取的文档标题、作者和日期,包结构,内嵌图片与字体的清单,带缩略图的翻页、缩放,以及按页导出 SVG。若需要 PDF 或 PNG,请使用 XPS 转换器。
隐私
文档在你的浏览器中打开,不会上传任何内容。
Tiny Online Tools






