マイコミジャーナル

知りたい!を刺激する総合専門サイト


  1. ネット

  2. ニュース

【レビュー】Wordから出力されるHTMLをクリーンアップするHTML Filter

2002/10/03

Microsoft Office 2000のWord文書は[ファイル]→[Web ページとして保存]でHTMLファイルとして保存することができるが、このHTMLファイルを他のHTMLオーサリングツールで編集しようとするとレイアウトが崩れたり、Internet Explorer以外のブラウザで閲覧するときに表示が乱れたりする。

これは、Office 2000のWebページの保存では標準的なHTMLとCSSのマークアップ以外に、文書のプロパティ、条件付きの書式などOffice固有のマークアップが大量に追加されているためだ。このOffice固有のマークアップによって、Wordのページレイアウトを元の文書とほぼ等しいかたちで保存でき、また保存したHTMLファイルを再びWordで編集する「ラウンドトリップ」が可能になっている。たとえばWordで脚注を設定している場合、脚注の情報もHTMLファイルに保存され、再びWordでHTMLファイルを開いて脚注を編集することができる。

Webページとして保存したHTMLファイルのソースコード。通常のHTMLファイルでは見慣れない膨大な量のタグが挿入されていることが分かる

しかし、Office 固有のマークアップが存在すると、先述のような問題が生じるだけでなく、通常のHTMLファイルよりもサイズが大きくなってしまう。保存したHTMLファイルのソースコードをテキストエディタなどで開くと、通常のHTMLファイルでは見慣れない膨大な量のタグが挿入されていることが分かる。また、Word文書中の1つの画像に対してGIFとPNGの2種類のファイルが生成されてしまうので全体のファイルサイズがより大きくなってしまっている。このため、Wordで保存したHTMLファイルをウェブ上に置いた場合のページのダウンロード時間が長くなるという弊害がある。

保存したHTMLファイルを再びWordで編集する必要がなく、ウェブサイトにそのまま掲載したい場合などは、Office 固有のマークアップは邪魔になるだけだ。このため、MicrosoftではOffice 固有のマークアップを付加しないでクリーンなHTMLファイルとして保存するためのHTML Filterを同社のウェブサイトで無償提供している。このHTML Filterは早い時期から公開されているが、一般にはあまり知られていないので、その最新版であるHTML Filter 2.1 for Office 2000をここで改めてご紹介する。

○HTML Filter の使用方法

HTML Filter 2.1 for Office 2000は、Microsoftウェブサイトのダウンロードセンターからダウンロードできる。ダウンロードしたMsohtmf2.exe をダブルクリックしてインストールする。HTML Filterがインストールされると、Wordの[ファイル]メニューに[エクスポート]が追加される。[エクスポート]→[コンパクトなHTML]を選択すると、HTML Filterが適用されてファイルサイズの小さなHTMLファイルとして保存できる。[エクスポート]→[CSS スタイルシート]を選択すると、後で他のファイルにも適用できるように文書のスタイルが別にCSSファイルとして保存される。また、Wordの[編集]メニューには[HTMLとしてコピー]が追加され、選択した部分をコンパクトなかたちでHTMLエディタなどに貼り付けることができる。

HTML Filterを適用した場合に削除されるOffice固有のマークアップとしては、ワードアートを後から編集するための<!--[if gte mso 9]>...<![endif]-->のような<!--[と ]-->で囲まれた条件付きコメントや、@page Section1 {size: 8.5in 11in }のような「@ルールの定義」形式によるページサイズ、方向などのページ設定、文書のフォントの情報、"o"、"v"、"w"、"x"、および "p" の各名前空間に含まれる XML タグ によるOffice固有の段落記号の書式、"tab-stops"、tab-interval"、text-underline"などのようなタブ設定や下線設定に対する定義などがある。また、HTML Filterを適用すると、[Webページとして保存する]では自動的に作成されるがブラウザには表示されない、*.files フォルダ内の不要なサポートファイル(Header.htm、Filelist.xmlなど)も作成されなくなる。

○HTML Filterを直接起動する

 [オプション]ダイアログ

[エクスポート]や[HTMLとしてコピー]を使用しても、CSSのスタイルがHTMLファイル内部に埋め込まれ、marginやpadding、font-familyなど、ブラウザやそのバージョンによってはうまく表示されないスタイルが設定されてしまう。これらのスタイル属性などを削除し、よりコンパクトなHTMLファイルにしたい場合は、[スタート]→[プログラム]→[Microsoft Office ツール]→[HTML Filter 2.1 for Office 2000]でHTML Filterを直接起動する。

HTML Filterを起動すると、[HTML Filter 2.1 for Office 2000]ダイアログが表示されるので、[追加]ボタンをクリックしてHTML Filterを適用したいHTMLファイルを指定する。ここで複数のファイルを指定することができる。次に[オプション]ボタンをクリックして[オプション]ダイアログを表示し、オプションを変更する。[HTML Filter 2.1 for Office 2000]では複数のHTMLファイルを指定できるので、一括してオプションを適用することが可能だ。

また、HTML Filterはコマンドプロンプトからも実行でき、そのスイッチで設定を変更することもできる。コマンドプロンプトから実行する場合は、「filter -c -l -m -s -t c:\test\inputfile.htm c:\test\output.htm」のように、「filter -? InputFile OutputFile」のかたちで指定する。例では、-c(CSSの属性をすべて削除)、-l(<lang=EN-US >のようなLANG属性の削除)、-m(GENERATOR と ORIGINATORの2種類のメタタグの削除)、-s(ローカルのstyle要素の削除)、-t(入力ファイルに関連付けられた .files フォルダから、重要でないリンク先ファイルの削除)のスイッチを指定している。

 HTML Filterのオプションを適用したファイルのソースコード

これらのオプションやスイッチを利用することで、[エクスポート]したHTMLファイルをさらに数分の1のサイズにまで小さくすることができる。

「OfficeのHTMLファイル保存機能は使えない」「Officeで保存したHTMLの内容が分からない」という声をよく聞くが、HTML Filterをうまく利用することで、他のHTMLオーサリングツールを使用した場合のようなHTMLファイルの作成が可能になる。Word文書のデータをウェブサイトで利用する場合には、お勧めのツールだ。

(石田優子)

Microsoft Office ツールサイト
http://office.microsoft.com/japan/default.aspx


画像で見るニュース(ネット)

特別企画


注目サイト