1

重複の可能性:
ファイルがC#で有効なXPSファイルであることを確認するにはどうすればよいですか?

ストリームまたは拡張子のないファイルが渡された場合、XPSファイルを識別するにはどうすればよいですか?XPSファイルはzipファイルであることがわかっているので、最初にZIPマジックナンバーを探すことができますが、XPSファイルを特定するにはどうすればよいですか?

私が行った調査から、[Content_Types] .xmlを抽出して調べる必要があると思いますが、そこに入ると何を探す必要があるかは(あまりにも)明らかではありません。

4

1 に答える 1

2

ほとんどの場合、をチェックするだけで大​​丈夫だと思います[Content_Types].xml。誰かがそのような名前のファイルを含むが、XPSドキュメントの一部として持つと予想される情報を含まないzipファイルを渡す可能性がありますが、その可能性はどのくらいありますか?ファイル名はかなり具体的であり、私には、偶発的な衝突を引き起こす可能性はほとんどありません。

ただし、さらに確実にしたい場合は、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ファイルを確認することもできます。

うまくいけば役立つ/関連するリンク:

于 2012-10-14T01:06:50.487 に答える