识别xps文件

时间:2012-10-14 00:31:43

标签: c# xps

  

可能重复:
  How Can I Check That A File Is A Valid XPS File With C#?

如果我传递的流或没有扩展名的文件,如何识别XPS文件?我知道XPS文件是zip文件,因此我可以在开始时查找ZIP幻数,但如何识别XPS文件?

从我已经完成的研究开始,我认为我需要提取并查看[Content_Types] .xml,但是当我在那里时,我不需要(我)需要寻找的东西。

1 个答案:

答案 0 :(得分:2)

我认为在大多数情况下,只需检查[Content_Types].xml即可。有人可能会传递一个zip文件,其中包含一个名为这样的文件但不包含您希望它作为XPS文档的一部分的信息,但这有多大可能?文件名非常具体,对我来说,不太可能产生意外碰撞。

但是如果您想要更加确定,可以检查XML文件是否符合预期的架构。你通常应该看到这样的东西:

<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
    <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
    <Default Extension="fdseq" ContentType="application/vnd.ms-package.xps-fixeddocumentsequence+xml"/>
    <Default Extension="fdoc" ContentType="application/vnd.ms-package.xps-fixeddocument+xml"/>
    <Default Extension="xml" ContentType="application/vnd.ms-printing.printticket+xml"/>
    <Default Extension="JPG" ContentType="image/jpeg"/>
    <Default Extension="fpage" ContentType="application/vnd.ms-package.xps-fixedpage+xml"/>
    <Default Extension="dict" ContentType="application/vnd.ms-package.xps-resourcedictionary+xml"/>
</Types>

您还可以检查所需的FixedDocumentSequence.fdseq文件。

希望有用/相关的链接: