Windows TIPS
[Office master]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

Word 2007の.DOCXファイルから高解像度の画像データを取り出す

―― .DOCXファイルをZIP形式に変換して内部を閲覧する ――

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2007/10/19
対象ソフトウェア
Office Word 2007
.DOCXファイルに画像データを貼り込むと、PNG形式で保存される。
.DOCXファイルの内部構造は、XMLベースのファイルをZIP形式で圧縮したものである。
画像データを取り出すためには、拡張子を.ZIPにして、エクスプローラで閲覧、コピーすればよい。

解説

 TIPS「Wordの.DOCファイルから高解像度の画像データを取り出す」では、Wordの.DOCファイルに含まれている高解像度のオリジナル画像データを.PNGファイルとして取り出す方法を紹介した。具体的には、ファイルをWebページとして保存し、そこに出力された.PNGファイルを読み出す方法であったが、同様の方法は(2007 Office systemファミリの)Word 2007でも可能である。Word 2007では従来の.DOCではなく、新しく.DOCXファイル形式が利用されているが、このファイルの内容を直接ブラウズすれば、いちいち保存し直さなくても画像データ・ファイルを取り出すことができる。本TIPSでは、この方法について解説する。

操作方法

 2007 Office systemでは新しくXMLベースのファイル形式が利用され、例えば.DOCではなく、.DOCXという拡張子のファイルが作成されるようになっている。このファイルは実はXMLベースのデータ(ファイル)を、ZIP形式でまとめて圧縮したものである。そのため、.DOCXファイルの内部をのぞくには、単に拡張子を.ZIPに変更するだけでよい。

 例えば、sample.docxというWord 2007のファイルがあった場合、これをsample.docx.zipなどというふうに、.ZIPという拡張子にリネームする。するとエクスプローラでそのまま内容をブラウズできるようになる。

.DOCXファイルを.ZIPファイルとしてブラウズする
.DOCXファイルの拡張子を.ZIPに変更すると、エクスプローラでそのまま内容を閲覧できる。内部には、XMLベースのファイルが多数保存されている。
「sample.docx」というファイルを「sample.docx.zip」にリネームすると、.ZIPファイルとして内部をブラウズできる。内部には階層的なフォルダやXMLファイルがいくつか保存されている。
このwordフォルダの中には、文書中のテキストや画像などのデータが保存されている。
このmediaフォルダの中に画像データが保存されている。
PNG形式で画像データが保存されている。元の文書ファイル中には画像ビットマップ・データが5つ貼り付けてあるので、.PNGファイルも5つある。

 リネームした.ZIPファイルの中には多数のファイルやフォルダがあるが、このうちword\mediaというフォルダに格納されている.PNGファイルが文書ファイル中の画像データである。以下は、上の画面にあるmediaフォルダを.ZIPファイルから取り出し、エクスプローラで見たところである(いったん取り出さないと、画像解像度情報などが表示されない)。

取り出したmediaフォルダの内容
先の.ZIPファイル中にあるmediaフォルダをコピーして取り出したところ。
取り出したmediaフォルダ。
全部で5つの.PNGファイルがある。
元は同じサイズの画像であるが、貼り付けた領域のサイズが異なるため、ファイル・サイズも異なっている。.DOCファイルの場合は、オリジナルの画像データはそのまま保存されていたので、割り付けた領域のサイズで、この.PNGファイルのサイズが変わることはない。
元の解像度は1024×768であったが、貼り付け後にリサイズして縮小すると、.DOCXファイル中の画像ファイルのサイズもリサイズされて小さくなる。そのため、後で拡大しても、元の高解像度データは得られない。

 ここには、5つの.PNGファイルが含まれているが、これが元の.DOCXファイル中に貼り付けてあった画像データのファイルである。Webページとして保存して取り出さなくても、このように直接画像ファイルを取得することができる。

縮小されたサイズの画像データに注意

 ただしこれらの.PNG画像ファイルは、文書中に貼り付けたオリジナルの画像の解像度ではなく、使用サイズ(文書中での割り付けサイズ)に応じて自動的に縮小/リサイズされている。上の例では、元々は1024×768の解像度のビットマップ・データを、サイズを縮小しながら5つ文書中に貼り付けているのだが、最終的には異なるサイズの.PNGファイルが作成されている。よって、.DOCXファイルから画像データを取り出しても、(貼り付けるサイズによっては)元の高解像度のデータはもう得られないことに注意していただきたい。いったん.DOCXとして保存すると、後で画像の割り付けサイズを拡大しても、もう元の解像度のデータには戻らない(.DOCXファイルのサイズが小さいのは、このように自動的に画像ファイルのリサイズなども行うからといえる)。

 これに対して以前のWordにおける.DOCファイルの場合は、オリジナル解像度のままのデータと、表示用の縮小データの2種類が保存されている。そのため、オリジナル・サイズの画像データを取り出すことができる。End of Article

「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
  • 第538話 がんばれエーアイくん5 (2017/2/21)
     エーアイくんの画像認識装置は、見た目で物体の体積や重さも判別可能。切手の額面も料理の温め時間もバッチリ。他にも……
  • 第537話 おすすめ商品 (2017/2/14)
     ショッピングサイトのおすすめ商品、最近は気になるものばっかり出るのよね〜。なんだか気味が悪いわ……
  • Thunderbirdで証明書がエラーになる場合の対策方法 (2017/2/9)
     Thunderbirdは、独立して証明書を保存・格納している。そのため、証明書に起因するエラーが発生することがある。正しく証明書を扱えるようにする方法を紹介する
  • AzureのWeb AppでPHPのエラーログを記録・保存する (2017/2/8)
     AzureのWeb AppでPHPのエラーログを記録・保存する方法を紹介する。PHPで何らかのエラーや警告が生じると、php_errors.logファイルに記録されるようになる
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH