« 2006年11月09日 | メイン | 2006年11月11日 »
2006年11月10日
XPSをチェックする (2) XPSの構造
さて、折角ダウンロードしてインストールしたのだし、今日、もう一度XPSを調べてみようと思います。ところが今日は、XPSビューアが最初のファイルからいきなりブルースクリーンです。
ブルースクリーンのメッセージには、これが2回目なら、ハードウエアかソフトウエアをアンインストールせよ、とあります。仕方ありません。昨日、うまく表示できたファイルの内部を少し見てみましょう。
昨日のファイルは次の図のような4ページものです。
このファイルは、ZIP圧縮形式ですが、内容はそのままXML形式です。ZIP圧縮ファイルの中には、FixedDocumentSecuence.fdseq、[Content_Types].xmlという二つのファイルのほか、フォルダが三つあります。
これは、Microsoft Office2007のOffice Open XML形式の文書保存形式と良く似ていますね。ファイルのパッケージングの方法は共通なんでしょう。
さて、さらにフォルダの中を見ますと、次のような構造になっています。
すぐに気がつきますのは、4ページのそれぞれが別のファイル(1.page~4.pageの4つのファイル)になっているようだ、ということです。
この1.page~4.pageはそれぞれXMLファイルになっていて、各ページのテキスト・コンテンツが入っています。
ちなみに1ページ目(1.page)を取り出して内容をブラウザで表示してみます。
1ページ目の先頭の行は、昨日の画像でありますように「Cocoa & Chocolate」という見出しなのですが、これは、ファイルの中では、1ページ目の最後の方にあります。
2行目は、「The term “Cocoa,” a corruption of “Cacao,” is」という文字列ですが、上の画像では、この部分が、
Glyphs OriginX="26.6666666666667" OriginY="98.2033333333333" FontRenderingEmSize="16" FontUri="/Resources/a7b9593b-a0f7-4049-a7e6-b8107ad481f9.ODTTF" UnicodeString="The term “Cocoa,” a corruption of “Cacao,” is" Indices=";;;,38;;;;;,38;;;;;;;;;,38;;,38;;;;;;;;;;;,38;;;,38;;;;;;;;;,38" Fill="#FF000000"
となっているのが見えます。
ですので、文字列は(この例では)1行単位に区切られていて、文字列の表示開始座標とともに保存されています。また、ファイルの中では、文字列が表示の順序で現れるとは限らない、ということが分かります。この特徴は、PDFファイルと同じです。
それから、この文書には画像が二つあります。この画像は、Resourcesというフォルダの中に入っていることがわかります。それから、上の図でResourcesフォルダの中にはフォントらしきものも入っていることが分かります。
このあたり、PDFと相当に似通っている、といえると思います。XPSはPDFをざっくりXMLで表現したものといっても大筋では間違っていないでしょう。
投票をお願いいたします![](http://blog.antenna.co.jp/PDFTool/banner_04.gif)