他の PC で生成した XPS ドキュメントを閲覧する

SOFTWARE REPORT


XPS (XML Paper Specification) ドキュメント

Windows Update を実行したからなのか、それとも Microsoft Office 2003 をインストールしたからなのか、はたまた OS を Windows Vista にしたからなのでしょうか。とにかくいつの間にやら "Microsoft XPS Document Writer" というプリンタがシステムに組み込まれていたのでした。

これは、たとえば Adobe Acrobat の "PDF Writer" とか SOURCENEXT 社の "いきなり PDF" などのように、プリンタとして待機して、送られてきた印刷データをそのままファイルデータに変換するソフトウェアのようです。違いといえば、後者の 2 つは PDF 形式でファイルに出力するのに対し、"Microsoft XPS Document Writer" は Microsoft 独自の XPS 形式で出力されるくらいでしょうか。

そのくらいの違いとはいえ圧倒的に PDF の方が世間に浸透している訳で、データの受け渡しを考えるとなかなか XPS には手を出しにくい感じもします。

 

ところがこちらもいつの間にか、他で利用していた Windows XP にも "Microsoft XPS Document Writer" がインストールされていたりして、とりあえず自分の環境では XPS でも問題なさそうな気がします。

それにこれだけ普通にインストールされてしまっているところをみると、もしも XPS を表示できるようになっていない PC でも Windows Update か Microsoft Update かを行えば簡単にインストールすることが出来るのでしょう。ちょっと調べてみたところ、具体的には ".NET Framework 3.0" をインストールすることによってシステムに組み込まれるようです。

ちなみに "Microsoft XPS Document Writer" を使用するには "Microsoft Core XML Services 6.0" も必要になるとのことでした。

 

 

そんな感じでしばらく XPS を快適に利用していたのですけど、あるときその XPS ドキュメントを持ち帰って開いてみようとしたところ、次の警告メッセージが表示されてしまったのでした。

現在のセキュリティ設定では、このファイルをダウンロードできません。

XPS ファイルは "XPS ビューア" で閲覧することになるのですけど、どうやらこの "XPS ビューア" というのは Internet Explorer 上で動作するプラグインみたいな感じのようです。その様子は、XPS ファイルをダブルクリックしても、右クリックして "XPS ビューア" を用いて開いてみても、どちらとも Internet Explorer に制御が移るあたりからも窺えます。

それが影響して、XPS ドキュメントを開く際には Internet Explorer からすれば "XPS ファイルのダウンロード" と扱われるのか、そこで Internet Explorer のセキュリティチェックが行われ、そしてダウンロードの許可が下りなくなってしまっているのでしょう。

 

これまでは主に Windows Vista 上の "Microsoft XPS Document Writer" を用いて作成した XPS ファイルを、Windows XP 上で開く感じで使っていたのですけど、今回はその逆をやってみた感じです。

違いといえば OS くらいな感じです。ブラウザはどちらとも Internet Explorer 7.0 を使用しているので大差ないような気もしますけど、セキュリティの設定まわりで何か異なっている可能性もあるかもしれません。

何はともあれ XPS ドキュメントを正常に閲覧できるように、PC の設定を調整してみることにしました。

 

XPS 文書を開けない原因を探ってみる

Windows Vista の場合は最初から ".NET Framework 3.0" が組み込まれているので、XPS ファイルをダブルクリックすれば普通に閲覧できるようになっているらしいのですけど、今回はそれで失敗してしまうところから、その際の指摘の通りに Internet Explorer 7.0 のセキュリティ設定に問題があるのかもしれません。

そこで Internet Explorer 7.0 の "インターネットオプション" にある "セキュリティ" 設定にてそれらしい項目を探してみると、次のものが挙げられました。

  • .NET Framework -> Loose XAML
  • .NET Framework -> XAML ブラウザ アプリケーション
  • .NET Framework -> XPS ドキュメント

"XPS ドキュメント" についてはそのものずばりですけど、XAML というのももしかすると関係するかもしれません。とりあえず、XPS というのは XAML をベースに文書用のデータとして設計されたものらしいです。SGML の XML みたいな関係でしょうか…。

とりあえず、とりわけ "XPS ドキュメント" の項を中心にセキュリティ設定を確認してみたのですけど、"制限付きサイト" を除くその他すべてのゾーンにおいて "有効にする" にチェックが入っているのでした。

 

それでも XPS ドキュメントを開くことが出来ないので、とりあえず全てのゾーンののセキュリティ設定を既定の状態にクリアしてみましたけど、やっぱり同じ "現在のセキュリティ設定では、このファイルをダウンロードできません。" とのことで、XPS ドキュメントを閲覧させてはもらえませんでした。

そこで試しに Windows Vista 上で何かページを XPS ドキュメントに変換して、それを表示させてみたところ、それについては問題なく閲覧することが出来ました。その違いは何なのだろうと思って XPS ファイルのプロパティを確認してみたところ、[ 全般 ] タグの一番下にある "セキュリティ" という項目の有無が大きな違いとして存在しているようです。

このファイルは他のコンピュータから取得したものです。このコンピュータを保護するため、このファイルへのアクセスはブロックされる可能性があります。

そこには上記のような説明書きがされていて、その横には [ ブロックの解除 ] というボタンが存在します。見るからにこれが直接の原因みたいですね。実際に [ ブロック解除 ] を行ってみると、何の問題もなくダブルクリックで XPS ドキュメントを閲覧できるようになったのでした。

 

他の PC から取得した XPS ドキュメントを閲覧可能にする

上記のような感じから、他の PC で作成した XPS ドキュメントを閲覧する場合、ファイルのプロパティを少しいじる必要が出てくることがあるようです。

具体的に整理しておくと、開きたい XPS ファイル上で右クリックをして "プロパティ" を表示します。その [ 全般 ] タグの下の "セキュリティ" の項目にある [ ブロックの解除 ] ボタンを押すことで、その XPS ファイルを表示する許可が下りるといった感じです。

 

きっと、思いがけずに悪意を持った XPS ファイルを開かないようにとの対応なのでしょう。

どこに何が仕込まれていて何時それが実行されるのかわからないようなこの頃なので、ちょっとした手間をかければそれを未然に防ぐことができるのは有難いことではあるのですけど、そのちょっとした手間を知るまでにずいぶんと手間がかかってしまいました。

せめて XPS ファイルを開こうとしたときに、もうちょっと具体的な説明をしてくれたらよかったんですけどね。ともあれこれで一件落着、なかなか便利に使えそうです。