将XPS转换为SVG

5
有没有一种直接且快速的方法将 XPS (XML Paper Specification) 文件转换为 SVG 格式?
我可以将 XPS 转换为 PDF,然后使用 inkscape 将其转换为 SVG。但是 PDF->SVG 步骤非常耗时,尽管这个过程似乎不占用 CPU。
我的理解是,由于 XPS 是基于矢量的格式,将其转换为另一个基于矢量的格式(如 SVG)必须是可行的,而且比将光栅格式(尽管我不确定 PDF 是否只是光栅格式)转换为矢量格式要快得多。
顺便说一下,目标是在浏览器中显示基于矢量的图像,并且我有 XPS 文件。

1
PDF 可以直接嵌入矢量图形和光栅图形... - feeela
XPS和PDF都可能包含光栅和矢量内容的混合。不能保证您的原始XPS内容不是大部分光栅。您能为这种情况提供更多背景信息吗?XPS内容的来源是什么?需要SVG的最终使用场景是什么? - Jon
@Jon 是的,你可能是对的。我不确定原始来源是什么,我怀疑它是一些转换为PDF然后转换为Macromedia FlashPaper的文本。从那里到XPS。我想向浏览器提供SVG,并具有最大缩放能力。 - R Pasha
你是在寻找一个现有的库,将XPS转换为SVG,还是想自己编写一个?如果你有一个好的SVG OM库,那么使用微软的XPS OM将XPS转换为SVG非常容易和快速。我以前曾经编写过一个转换器,用这种方式将SVG转换为XPS。 - Unknown1987
2个回答

4

libgxps可以读取XPS文件并生成SVG文件。

我曾在Cygwin上使用xpstosvg命令,效果良好。


1
我尝试了上面的答案中提到的xpstosvg来转换一个大约有100页的XPS文档。不幸的是,这个工具只生成了一个大约90 MB的大型SVG图像,这并不是我想要的,因为文件无法查看,我需要每页一个图像。
此外,该程序的手册没有给出如何获得每页一个图像的提示。最终,我使用了一个在线XPS转换器,它确实为每一页创建了一个SVG图像。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接