なんてこった,Office 2010 の Word や Excel では jpeg の画像が劣化する

とほほ

Microsoft Office 2010 (以下,Office) の Word, Excel では,貼り付けたjpeg 画像の一部の情報が失われる (減少する) ことが分かりました.元の画像がきれい (情報量が多い) でも,Word/Excel に貼り付けて渡されると,画質が劣化します.とほほです.Word/Excel のファイルからjpeg 画像を取りすと,元より劣化した画像しか得られないことを意味します.ただし,png や emf は劣化しません.PowerPoint では jpeg も劣化しません.

テストに使ったファイル

表1に示す三つの画像ファイルを Office に貼り付けました.もちろん,zip で圧縮する前のファイルを図の挿入の機能 (コビー & ペーストでない) を使いました.これらのファイルのサイズの真の情報量は, zip 圧縮後のファイルサイズに大体等しいくなります.jpeg や png は既に圧縮されているので,zip にしてもファイルサイズの変化は小さいです.emf は圧縮されていないのですね.

表1 テストに用いた画像
画像ファイル 形式 ファイルサイズ/kB zip 圧縮後/kB
猫の写真 jpeg 226.4 226.3
ラジオの絵 png 8.0 8.1
周期律表 emf 544.2 88.3

Office に貼り付ける

これらの三つの画像のファイルを Office のアプリケーション (Word, Excel, PowerPoint) に貼り付けます.出来上がったファイルサイズは,表2のとおりです.

期待を裏切られた結果です.私の期待は,表1の zip 圧縮後の 322 kB (226+8+88) です.Word と Excel のファイルサイズは,それよりも明らかに小さくなっています.なにか画像の情報は失われています.PowerPoint は期待できます.次の節で,画像を抽出した結果を示します.

表2 Office に貼り付けた結果
Office 形式 ファイルサイズ/kB
Word docx 211.2
Excel xlsx 232.4
PowerPoint pptx 365.4

画像ファイルの抽出

Office のファイルから,そこに含まれている画像を抽出することができます.ファイルの拡張子(docx, xlsx, pptx) を zip に変更し,それを解凍するだけです.すると,アプリケーション名(word, xl, ppt) > メディアというフォルダーに画像が保管されます.これができるのは,Office のファイルは,zip 圧縮された XML だからです.

表3 に画像の抽出結果を示します.表1 と比較すると,

  • jpeg の「猫の写真」は, Word と Excel では画像の劣化が生じることが分かります.PowerPoint では画像の劣化はありません.
  • png の「ラジオの絵」は,画像の劣化もありません.バイト単位の比較でも変化なしです.
  • emf の「周期律表」は,画像の劣化もありません.バイト単位の比較でも変化なしです.
表3 Office のファイルから画像抽出した結果
画像ファイル Word/kB Excel/kB PowerPoint/kB
猫の写真 95.0 110.3 226.4
ラジオの絵 8.0 8.0 8.0
周期律表 544.2 544.2 544.2

まとめ

表4に,ここでの Offece 2010 の画像の貼り付けと抽出で分かった結果をまとめます.これは,直ちに一般化できるものではありませんが,参考にはなると思います.説明を付けて,写真などの jpeg 画像を渡す場合,PowerPoint が最も適していることが分かります.Office アプリケーションで,png や emf の画質の劣化がないのは嬉しいことです.

表4 元画像と比較した Office 2010 のファイルの画像の抽出結果.
画像ファイル Word Excel PowerPoint
jpeg 劣化あり 劣化あり 劣化なし
png 劣化なし 劣化なし 劣化なし
emf 劣化なし 劣化なし 劣化なし